suzan_works が 2021年02月28日23時58分29秒 に編集
初版
タイトルの変更
LEDチカってジングルベル鳴らすクリスマス基板
タグの変更
Arduino
Seeeduino
LED
KiCad
秋葉原2021
本文の変更
**はじめに** 普段は仕事で回路設計、基板設計をやってます。 今回は、自分のために自分で考えて基板作ってみたいと思い、2020年の年末にクリスマス飾りとして使えそうな基板を自由に作ってみました。 **回路設計** kicad使って回路描きました。 回路構成はこんな感じ。 - マイコン:[Seeeduino Xiao](https://wiki.seeedstudio.com/jp/Seeeduino-XIAO/) - LED:Φ3砲弾型LED - ブザー:村田製作所 PKLCS1212E2000-R1 - 電源:ボタン電池 CR2032  最初、ボタン電池1個だけでやってみたら音が小さくて、2個直列にしてみました。ボタン電池は公称3.0Vで2個直列でもマイコンは問題ないかもしれませんが、壊したらイヤなのでマイコンは3V、ブザーとLEDは6Vで駆動してます。ブザーの回路は[こちら](https://www.murata.com/ja-jp/support/faqs/products/sound/sounder/char/sch0001)を参考にしました。 **基板設計** kicadで基板も描きました。両面基板です。 マジメにやるなら全部品のフットプリントを準備すべきだけど、ボタン電池はパッドだけ置いてハショリました。 Seeeduino Xiaoのライブラリは[こちら](https://www.seeedstudio.com/blog/2020/04/23/use-seeeduino-xiao-in-kicad-pcb-design-like-a-components/)からダウンロードできます。 すべての配線はA面で通していて、B面はシルクとレジストで飾りを描きました。(ペイントで描いてビットマップで取り込み。) 捨て基板がスタンドになるように描いてみましたが、イマイチでした。    **基板発注・部品発注** 基板はPCB GOGOに発注してみました。今回、どうしてもB面のレジスト無い部分(星とか鈴のマーク)を金色にしたくて、無電解金フラッシュ(ENIG)にしたら、お値段爆上げでした。。 部品はみなさんおなじみのネット通販で買いました。 **ソフト設計** Arduino IDEで書きました。 ジングルベルのメロディーを鳴らしつつ、タイマーでLEDをトグルして光らせてます。 ```arduino:ジングルベルメロディー #include <TimerTC3.h> int LED1 = 8; int LED2 = 3; int LED3 = 6; int LED4 = 5; int LED5 = 10; int Bz = 9; int Sw = 3; int SwState = 0; bool LEDStateA = 1; bool LEDStateB = 0; void LEDonoff() { LEDStateA =! LEDStateA; LEDStateB =! LEDStateB; digitalWrite(LED1, LEDStateA); digitalWrite(LED2, LEDStateB); digitalWrite(LED3, LEDStateA); digitalWrite(LED4, LEDStateB); digitalWrite(LED5, LEDStateA); } void setup() { TimerTc3.initialize(500000); //500msec TimerTc3.attachInterrupt(LEDonoff); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); pinMode(LED5, OUTPUT); pinMode(Bz, OUTPUT); pinMode(Sw, INPUT_PULLUP); } void loop() { tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 659, 500); //ミ delay(500); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 659, 500); //ミ delay(500); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 784, 500); //ソ delay(250); tone (Bz, 523, 500); //ド delay(250); tone (Bz, 587, 500); //レ delay(250); tone (Bz, 659, 500); //ミ delay(250); delay(750); tone (Bz, 698, 500); //ファ delay(250); tone (Bz, 698, 500); //ファ delay(250); tone (Bz, 698, 500); //ファ delay(500); tone (Bz, 698, 500); //ファ delay(250); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 659, 500); //ミ delay(500); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 587, 500); //レ delay(250); tone (Bz, 587, 500); //レ delay(250); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 587, 500); //レ delay(500); tone (Bz, 784, 500); //ソ delay(250); delay(250); //2回目 tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 659, 500); //ミ delay(500); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 659, 500); //ミ delay(500); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 784, 500); //ソ delay(250); tone (Bz, 523, 500); //ド delay(250); tone (Bz, 587, 500); //レ delay(250); tone (Bz, 659, 500); //ミ delay(250); delay(750); tone (Bz, 698, 500); //ファ delay(250); tone (Bz, 698, 500); //ファ delay(250); tone (Bz, 698, 500); //ファ delay(500); tone (Bz, 698, 500); //ファ delay(250); tone (Bz, 659, 500); //ミ delay(250); tone (Bz, 659, 500); //ミ delay(500); tone (Bz, 784, 500); //ソ delay(250); tone (Bz, 784, 500); //ソ delay(250); tone (Bz, 698, 500); //ファ delay(250); tone (Bz, 587, 500); //レ delay(250); tone (Bz, 523, 500); //ド delay(250); delay(750); delay(1000); } ``` **基板実装** はんだ付けして完成です。 