もみあげあしめ

組み込みとかIoTとか、いろいろ

Arduino でクリスマスを乗り切る

…こえ…すか…、聞こえ…ますか…私はいま、…あなたの心に直接…話しかけています…。
…作るのです…クリス…マス…を乗り切るグッズを…。

f:id:shima_nigoro:20161223183725p:plain:w300

この記事では Arduino で揺らめきながら輝く LED を作る方法をまとめる。

材料

  • Arduino Uno
  • 220Ω抵抗
  • LED
    • お好みの色のLEDをおひとつご用意ください。
  • ジャンパワイヤ (オス - オス * 2)
  • ブレッドボード

配線図

fritzing というツールを使ってみる。便利。

f:id:shima_nigoro:20161223183505p:plain

スケッチ(ソースコード

マジックナンバーなどない。

#define CANDLE_LED 3
#define PWM_MAX 255
float coef();
void setup()
{
pinMode(CANDLE_LED, OUTPUT);
}
void loop()
{
int count = 0;
uint8_t pwm = 0;
while(1){
delayMicroseconds(1);
if(count++ > 2016){
pwm = PWM_MAX*coef();
if(random()%25){
pwm *= 0.25;
}
analogWrite(CANDLE_LED, pwm);
count = 0;
}
}
}
float coef()
{
static int count;
count = ++count%2016;
return 0.24 + (sin(count * ((2*M_PI)/2016)) + 1 ) / 12.0;
}
view raw candle_led.ino hosted with ❤ by GitHub

動画

暗いものを暗くとる技術をもっと磨きたい…。


まとめ

これをショートケーキに乗せれば、(電池がなくなるまで)永遠に消えないロウソクの出来上がりです。

【永久保証付き】Arduino Uno

【永久保証付き】Arduino Uno

ドラマは一度も見れていないけれど、キャッチーな歌詞にハマってしまいました。恋ってなんだ…?

恋