Arduinoをはじめてみました。
先日、母親から学研「大人の科学」を二冊いただきました。
付録つきの。「電子ブロックmini」と「4Bitマイコン GMC-4」です。
かなり没頭してしまいました。特にマイコンのほうに。
ハンドアセンブルとか何年ぶりにやったんだろう、と思いながら、結局アセンブラとエミュレータを書きました。
もうちょっと綺麗にしたら公開します。
と、同時期に自分用人生初のマイコンArduino買いました。3200円です。
正直言って、かなり期待してたんですが、予想以上でした。
とりあえず、マイコンといえばLEDだよな。と思って、定番ナイトライダーを作成。
最初はdigitalWriteとやらで順番に光らせてたんですが、これじゃTTLでも出来るよな、と思って。
ちょっと頑張ってみよう……
と思ってたら、ほとんど頑張らずにPWMで調光できました。ただ単純にanalogWriteするだけ。
これに完全にテンション上がっちゃって、スケッチを公開しつつ動画撮っちゃいました。
スケッチはこちら。http://codr.cc/s/3270ec7d/cpp
スケッチを見ての通り、三角関数なんかも使ってます。
sinテーブルを自分で用意して、端数は線形補間……なんてことはしなくても大丈夫です。
っていうか、各LEDの状態を式で書けるとか凄い。
PICは全部アセンブラだったんで、こう書けるとやっぱり便利ですね。
今後、多分何か作るとすると、ATmega328で作ると思います。楽なんで。
で、先に経験しとこう、と思ってひとつ余分にATmega328と、最低限必要な部品を買っておきました。
ブートローダー書き込み済みなんてのが売ってるんですね。ちなみに全部で1000円ちょいです。
「だがしかし、この家には5Vの電源なんていうものは無い」
って事で、それもついでに作ることに。
とりあえず電源の回路図と材料。これぐらいは普段適当にやっちゃいますが、Twitterにつぶやくときに書きました。
基本的に材料あわせです。コンデンサなんか露骨に使い古しです。
・100μF 電解コンデンサ2個
・0.1μF 積層コンデンサ2個
・LM7805 一個。
・シリコンハウス共立で買った謎の電源アダプタ(8V 500mA)
いい感じです。
完成後、ATmega328を単体で使うために……と、外してブレッドボードに組んでみました。
抜くときピンを曲げそうになってあぶなかったのと、交換用のATmegaを押し込みすぎて危なかったのは秘密です。
回路図はそこかしこに載ってるので省略。
(Vcc,GND,AVcc,もういっこのGNDを結線,X1とX2間に1MΩ、クリスタル、両端から22pFでグランドへ繋いだぐらいです)
部品的には
・単線のワイヤを数本と、ジャンパワイヤ
・16MHzのクリスタル
・抵抗 1MΩ
・コンデンサ 22pFを2個、0.1μF一個(パスコンです)
どうせ怪現象で動かないとか、壊しちゃうとかするんだろうなぁと思ってたんですが、これがあっさり動いちゃいました。
ここまでやって、あまりにとっ散らかってたので一旦撤収。
片付けた後、寝る前に最後のだけ作って、初日は終了としました。
電子ブロックと繋いで、おっさんホイホイです。
イントロは最初作るつもり無くて、付点音符の処理を完全に考えてなかったので無理してます。
これも稚拙ながらスケッチを上げておきます。http://codr.cc/s/48c20c63/cpp
動画は全部iPhoneです。これも初めてyoutubeにアップしたりしましたが、滅茶苦茶楽でした。
改めて、凄い時代。
その後GMC-4を触ると、また不思議な気持ちになります。