そこのあなたは付録基板を眠らせてはいないですか?
買うだけ買って積んであるだけとか。
まあ、自分も人のことは言えないんだけどね。
最近、Arduino なるものに興味が湧いてきて、先々週くらいから「修羅場を越えたら買うぞ」と思っていて、ようやく時間もできたし、いざ買おうと目星をつけていた販売ページに行ってみたら、在庫なしだとか。
TOEIC の帰りに秋葉に寄って、ブレッドボードとかジャンプワイヤとか新調してきたのに、あんまりだ・・・
なんか代わりに遊べるものはないかと、工具箱をあさっていたら、去年の DWM 5 月号についてきた付録基板が目に止まった。
ARM の基板だけど、入出力機能が豊富でこれで何かできそうな予感がふと湧いてきた。
久々に開発環境をいじってみたけど、なかなか手間でね。
コンパイルして生成された hex ファイルを dfu ファイルに変換して、さらにダウンロードソフトで基板にダウンロードするけど、ジャンパを切り替えるのに USB をつなぎなおさなきゃならないし、とにかく手順が多い。
仮想 COM でループバックするサンプルをいじりながら、このままプログラムを組めたらなあと。。。
そのアイデアを勢いで作ってみたのがコレ。
Arduino のことはまだよく知らないけど、こんな感じで比較的高級な言語で動作を記述できるもんだと思っている。
コンパイルしてダウンロードする手間をはぶきたかったので、ターミナルから実行できるインタプリタの形式にしてみた。
led1: gpioc pin7 out button1: gpioc pin8 in pullup
最初のここで led1 に GPIO C ポートの 7 番ピンを出力として割り当て、button1 に GPIO C ポートの 8 番ピンをプルアップされた入力として割り当てている。
main loop if button1 led1 = 1 else led1 = 0 endif endloop
でプログラムを記述。
見ての通り、button1 の入力が 1 (High) なら led1 に 1 (High) をセット、button1 が 0 なら led1 に 0 をセットするようになっている。
これをひたすらループ。
ラベルの通り、button1 にはトグルスイッチがつながっていて、led1 には LED がつながっているので、ボタンを押すと LED が点灯するというプログラムだと分かるだろうか。
実はまだプログラムリストを入力するところまではできていなくて、文字列をプログラムの中に組み込んで実行してたりして。
インタプリタもまだ部分的にしか作ってないけど、これを実行してみると・・・