Arduinoは超かんたんって感じた(試行編

 

動かしたかったプログラム

devmakot.hateblo.jp

で部屋中の電波時計がずれてる問題を解消したくて

neocat.hatenablog.com 

こちらのプログラムを動かして、部屋の電波時計の時間を揃えたい

Arduinoは簡単

情報が溢れてる

何かを持ってきて(コピー)

どこかに貼り付ける(ペースト)

するだけで、プログラムが動く

プログラム知らなくても、試行錯誤でいけそうな気がする

ネットワークから時間を取得するところまでは出来てる

devmakot.hateblo.jp

あとは

  • 取得した時間を電波時計にわかるように変えて
  • 電波にして出す

だけ

参考プログラムを眺める

//=======NTP========

と書かれている部分以降が必要っぽいから、コピーして、プログラムの一番最後に追加して貼り付ける

例によって

☑を押してみる

f:id:devmakot:20180804120628p:plain

怒られた

timecode[]がないって言われた

f:id:devmakot:20180804120812p:plain

オリジナルコードの

f:id:devmakot:20180804120834p:plain

これを、コピーして、プログラムの上の方に貼り付ける

同じ様な位置に入れれば良さそうだから

f:id:devmakot:20180804121002p:plain

☑を押してみる。通った

追加したプログラムは、ただ追加しただけ

もう少し、追加が必要

f:id:devmakot:20180804121241p:plain

この calcTimeCodeDuration() を呼んでいる部分をオリジナルの方で探す

f:id:devmakot:20180804121536p:plain

この loop() の部分が殆ど必要そう

だから、元あった loop(){}を全部消して、この部分に入れ替えてみて、☑を押す

f:id:devmakot:20180804121909p:plain

sbiがないって怒られた

f:id:devmakot:20180804122059p:plain

これが必要そうだから

f:id:devmakot:20180804122141p:plain

同じ様な位置に追加してみた

また怒られた

lastNTPTimeが無いって

f:id:devmakot:20180804122340p:plain

これを同じ様な位置に入れて

f:id:devmakot:20180804122407p:plain

☑を押す

Udp~で怒られた

Udp.readPacket は Udp.read に変更が必要そう

Arduinoリファレンス(EthernetUDP::read())

変わったんだね~

だから

Packet

って文字だけ削除

同様に

Udp.sendPacket も Udp.write に変更が必要そう

Arduinoリファレンス(EthernetUDP::write())

だから、ここでは

sendPacket を write に書き換える

f:id:devmakot:20180804123547p:plain

時間がおかしくなっちゃったけど、動いている

f:id:devmakot:20180804124038p:plain

void setup() の

f:id:devmakot:20180804124104p:plain

この2行が必要そう

f:id:devmakot:20180804124154p:plain

☑を押して⇒を押す

f:id:devmakot:20180804124311p:plain

時間がとんでもないことになっちゃった(w