選挙に投票するときはいつでも、電子投票機を見に来ます。このプロジェクトでは、ATmega32Aマイクロコントローラーを使用して簡単な投票機を設計および開発します。コントローラを使用して32人以上の投票機を取得できますが、すべてをシンプルにするために、4人のサイズの投票システムを作成します.4人用の4つのボタンがあり、ボタンを押すたびに、投票は対応する人に行き、各人がLCDに表示される投票数。
必要なコンポーネント
ハードウェア:
ATMEGA32
電源(5v)
AVR-ISPプログラマー
JHD_162ALCD(16x2 LCD)
100nFコンデンサ(5個)、100uFコンデンサ(電源に接続)
ボタン(5個)、
10KΩ抵抗(5個)。
ソフトウェア:
Atmelスタジオ6.1
progispまたはフラッシュマジック。
回路図と動作説明
上記の電子投票機回路に 示すように、ATMEGA32マイクロコントローラのPORTAは16x2LCDのデータポートに接続されています。ここで、PORTCを通常の通信ポートとして使用したい場合は、ヒューズバイトを変更してATMEGAのPORTCでのJTAG通信を無効にすることを忘れないでください。 16x2 LCDでは、バックライトがある場合は全体で16ピン、バックライトがない場合は14ピンになります。バックライトピンに電力を供給するか、そのままにしておくことができます。 14ピンには8つのデータピン(7-14またはD0-D7)、2つの電源ピン(1&2またはVSS&VDDまたはgnd&+ 5v)、コントラスト制御用の3番目のピン(VEE-文字の太さを制御します)があります。示されている)、3つの制御ピン(RS&RW&E)。
回路では、理解を深める柔軟性が得られるため、2つの制御ピンしか使用していないことがわかります。コントラストビットとREAD / WRITEはあまり使用されないため、グランドに短絡することができます。これにより、LCDが最高のコントラストと読み取りモードになります。ENABLEピンとRSピンを制御して、それに応じて文字とデータを送信する必要があります。
LCD用に行われる接続を以下に示します。
PIN1またはVSS-グランド
PIN2またはVDDまたはVCC- + 5v電源
PIN3またはVEE-グラウンド(初心者に最適な最大のコントラストを提供します)
PIN4またはRS(レジスタ選択)-uCのPD6
PIN5またはRW(読み取り/書き込み)-グラウンド(LCDを読み取りモードにすると、ユーザーの通信が容易になります)
PIN6またはE(有効)-uCのPD5
PIN7またはD0-uCのPA0
PIN8またはD1-uCのPA1-
PIN9またはD2-uCのPA2-
PIN10またはD3-uCのPA3-
PIN11またはD4-uCのPA4-
PIN12またはD5-uCのPA5-
PIN13またはD6-uCのPA6-
PIN14またはD7--uCのPA7
回路では、8ビット通信(D0-D7)を使用していることがわかりますが、これは必須ではありません。4ビット通信(D4-D7)を使用できますが、4ビット通信プログラムでは少し複雑になるので、8ビット通信を使用しました。
したがって、上記の表を単に観察するだけで、LCDの10ピンをコントローラーに接続します。8ピンはデータピンで、2ピンは制御用です。ここには5つのボタンがあり、4つは候補者の投票を増やすためのもので、5つ目は候補者の投票をゼロにリセットするためのものです。
ここにあるコンデンサは、ボタンのバウンス効果を無効にするためのものです。それらが削除された場合、コントローラーはボタンが押されるたびに複数カウントする可能性があります。ピンに接続されている抵抗は、ボタンを押してピンをグランドに引き下げるときに電流を制限するためのものです。
ボタンが押されるたびに、コントローラーの対応するピンが地面に引き下げられ、コントローラーは特定のボタンが押されたことを認識し、対応するアクションが実行されます。ボタンが押されると、候補投票が増加するか、投票がリセットされます。
対応する人物を表すボタンが押されると、コントローラーはそれを選択し、増分後にメモリ内の対応する人物番号をインクリメントし、16x2LCDディスプレイに対応する人物のスコアを表示します。
ベースの電子投票機は、このマイクロコントローラの作業ダウン以下のCコードのステップごとに説明され、