評価基板を使ったサンプルとしてLEDとスイッチの制御を紹介します。
使用部品
AVR LCD評価基板
ATMEL AVR ATmega328 (DIP)
バイパスコンデンサー マイコンの電源用
タクトスイッチ
LED
抵抗器
※サンプルの映像では今回のプログラムの実行に使用しない部品も実装されています。
開発環境
Arduino IDEが動作するPC
Arduino IDE(Ver0.22で確認)
ISP AVRISPmkII
ソースコード
const int led1=0; // LED1を接続しているピンD0 const int led2=1; // LED2を接続しているピンD1 const int button1=2; // button1を接続しているピンD2 const int button2=3; // button2を接続しているピンD3 const int button3=4; // button3を接続しているピンD4 int buttonState = 0; //0:idle 1:blink LED1 2:blink LED2 3:blink LED1&2 void setup() { pinMode(led1, OUTPUT); // pinのモードをOutputに設定 pinMode(led2, OUTPUT); // pinのモードをOutputに設定 pinMode(button1,INPUT); // pinのモードをInputに設定 pinMode(button2,INPUT); // pinのモードをInputに設定 pinMode(button3,INPUT); // pinのモードをInputに設定 } void loop() { if( digitalRead(button1) == HIGH){ //LED1が点滅します for (int i=0;i<10;i++){ digitalWrite(led1,HIGH); delay(50); digitalWrite(led1,LOW); delay(50); } }else if(digitalRead(button2) == HIGH){ //LED2が点滅します for (int i=0;i<10;i++){ digitalWrite(led2,HIGH); delay(50); digitalWrite(led2,LOW); delay(50); } }else if(digitalRead(button3) == HIGH){ //LED1と2が交互に点滅します for (int i=0;i<10;i++){ digitalWrite(led1,HIGH); digitalWrite(led2,LOW); delay(50); digitalWrite(led2,HIGH); digitalWrite(led1,LOW); delay(50); } digitalWrite(led1,LOW); digitalWrite(led2,LOW); } }