丼's tech blog

2012/11/28~2023/12/21 間で運営していた「例のブログ」の後釜です。記事を抜粋してコッチに移植します。

Arduinoマルチ戦車を作る。その5

C言語にうなされながらスイッチング回路を作ったゴールデンウィーク

という訳でまずは、ロケット砲のスイッチング回路作りましたの巻

f:id:teppodone:20150503202240j:plain

   ただArduinoの信号で、ニクロム線に電流を流すだけのトランジスタスイッチング回路です。
    この回路に電源とニクロム線をつないでArduinoからロケットの発射を制御します。

 

 

苦しんでもわからないC言語

    で、本題はこっからです。

    御存知の通り僕が使ってるマイコンボード「Arduino」はC言語ベースで書き込むことができます。
    「ラジコン」と謳うからには「スイッチ入れたらただ走るだけのオモチャ」ではいけなくて、無線通信しなくてはいけないのです。当然そこでArduinoにプログラム書き込んで制御します。

    で、よ。このC言語Javascriptしかやったことなかった僕には極めて高い壁でして。
    今までは「LED光らす」とか「モーター動かす」程度だったんですが、それが今回いきなり「テレビの赤外線リモコンの信号を受信してそれを16進数で表示して変数を探しだしてモーター動かす」というプログラムを使うことになりました。

   自分でソース書いたわけではなくこちらのページのソースをそっくりそのまま頂戴しました。

赤外線通信の実験パート2

…まぁ、まるまるコピペしたんだから何も考えずに使えば動くじゃんって話なんですが、ソースコードがどういう立ち振舞をしてるのか知る必要があったので、C言語について書いてるサイトと印刷したソースコードArduinoの本とを睨めっこしながら、あーでもないこーでもないと絶叫しつつ意味不明ポージングしながら解読していました。

データ型って概念何やねん、いちいち int とか char unsigined long 覚えること多すぎるわ!!!!!!!!!!!!!!!!!!!!!文字列も小数も整数も全部 var でええやろろろおおおおおおおおおおおおお!!!!!!!

…失礼しました。

    で、葛藤の末昨晩やっとコードの意味がわかって実際にLEDを制御することが出来ました。

    あとはコレをモータードライバに置き換えるだけです。
   さて…今から台風に備えながらレポートしますかね…。ノシ