さて、プログラミング環境も整ったのでまずはLチカから。Arduino IDEにて下記コードを作成してビルド、書き込み。
void setup() {
pinMode(PIN_PA6, OUTPUT);
}
void loop() {
digitalWrite(PIN_PA6, LOW);
delay(1000);
digitalWrite(PIN_PA6, HIGH);
delay(1000);
}
結果。Lチカ成功。
プログラムを正しく組めることがわかったので、次はいよいよ本番。
まずは本番回路を作成。SOP-DIP変換基板を使ってATtiny202を組み込む。普通はSIPピンヘッダを使って組み付けるけど、今回は高さを抑えるため使わなかった。できれば直接ユニバーサル基板に変換基板を取り付けたかったけど、ユニバーサル基板が両面基板のため断念し、変換基板をひっくり返して取り付けることにした。これならICが邪魔してショートしない。
LEDは以前書いた通りダイソーの自転車尾灯用LED基板を流用。ただしLEDは橙色LED OSY5RU5A31E-NOに換装。また、LEDを個別に点灯できるようにパターンをカットした。
そして、これに下記コードを書き込んでみた。
void setup() {
// put your setup code here, to run once:
pinMode(PIN_PA1, OUTPUT);
pinMode(PIN_PA2, OUTPUT);
pinMode(PIN_PA3, OUTPUT);
pinMode(PIN_PA6, OUTPUT);
pinMode(PIN_PA7, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
uint8_t port = digitalPinToPort(PIN_PA0);
volatile uint8_t* out = portOutputRegister(port);
const unsigned long del = 100;
*out = 0b11111110;
delay(del);
*out = 0b11111100;
delay(del);
*out = 0b11111000;
delay(del);
*out = 0b11000000;
delay(del);
*out = 0b10000000;
delay(del);
*out = 0b00000000;
delay(del);
*out = 0b11111111;
delay(del);
delay(del);
delay(del);
}
よし、一発成功。
今日はここまで。