ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

自転車用ウインカーの制作(6)

さて、プログラミング環境も整ったのでまずは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);
 }
 

本番回路を光らせてみた

よし、一発成功。

今日はここまで。