ベース・マイコン用、低コストの評価プラットフォームです。]lpcxpressoと同じように本体とデバッガがつながっているけど、両方に同じLM4F120Hが載っているのに$4.99。MacOSXでのtoolchainTIの公式サイトではWindows用のコンパイラは豊富にありますが、MacやLinuxには対応していません。サンプルコードはexe形式で配布でがっかりでしたが、zipで解凍できました。EnergiaがあるのでMacでも簡単ですが、こちらはARMでプラットフォームが別なので対応していません。ARMだとtoolchainは共通でarm-none-eabiのgccがあれば、使い回せるのでコンパイラは新たに導入する必要はありませんでした。https://github.com/jsnyder/arm-eabi-toolchain問題はアップロードのツールですが、これもすでに出ていて、lm4toolsというのがあるので、MacやLinuxでもこのボードが使えます。https://github.com/utzig/lm4toolsその辺のツールの情報はこちらにまとまっています。12/23)2012/12/06に出た本家のenergia-0101E0009からStellarisもサポートされていました。http://energia.nu/download/からダウンロードすれば、MSP430もStellarisも両方対応していました。”これを使うと貧弱なIDEじゃなく、Xcodeで開発できるというもののようだが、StellarPadってEnergiaはまだ対応してないはずと思って、ソース配布元を見るとhttps://github.com/energia/Energia/tree/stellarpadというブランチができていた。開発途上なのでバイナリ配布はないが、ソースをダウンロードしてビルドしてみた。macの場合はmacosx/work/Energia.appができる。IDEを開いてもコンパイルでエラーが出るが、コンパイラはまだ入っていないのだった。以下にはbin/lm4flashがあるのみ。ここに上で紹介したtoolchainをコピーした。hardware/tools/lm4f/これでEnergia.appを起動してみると、ちゃんとコンパイルできるようだ。Blink,FadeなどのLチカはこれで簡単に動作確認できたが、DigitalReadSerialではコンパイルエラーが出る。いうわけでまだふつうに使える状態にはないが、かなりいいところまで来ていてあとは時間の問題かと。toolだけでもんなんとかなりそうなのでやってみた。以下の環境はMacOSX。http://akizukidenshi.com/catalog/g/gI-06071/32bitなのに110円という衝撃の価格。32bitゆえにレジスタの数とかも多いし複雑なので、初心者向きとはとても思えませんけど。LPC800という8ピンのやつも来年に出るという。◯ツのPL2303SAは入手性が悪い。3.3VのFTDIとかならどれでもよい(はず)。トラ技の解説はやたら複雑な回路になってますが、最小限としてはこれくらいで十分です。PIO0_1をグランドに落としてから電源をリセットする。リセット用のスイッチとISP用のスイッチを用意するのが普通のようだが、めんどくさい。Firmwareでhexファイルを選択して、startを押せばファイルの書き換えができる。lpc21ispエディタからいちいちウィンドウを切り替えるのはやってられないので、コマンドラインで使えるツールを使う。lpc21ispはhttps://github.com/Zuph/lpc21ispからソースをダウンロードして、コンパイルする。-static-staticをコメントアウトしないとコンパイルに失敗する。(0x1A40902B)のように検出できた。Lチカちょうどよいサンプルコードがあったので、https://github.com/Zuph/lpc1114-blink使わせてもらった。ldを勉強したいところです。http://yuranos.blog11.fc2.com/blog-entry-224.htmlこちらでMakefile,リンカスクリプト,main.cの3つのファイルだけの最小限構成でやっていました。scratchな解説書が欲しいところです。hardware”アイコンがちょっとニセモノ的でアレですが、>とか_はコマンドライン(シェル)を意識したものでしょう。IDEを使わないでArduinoを使う方法はこれまでにMakefileによる方法について書きました。InoはPythonで書かれたツールで、必要な情報をboards.txtなどから得て、Makefileなしで自動的にコンパイルすることができます。以下の話はMacOSXとlinuxだけに適用します。現状Windowsはサポートされていません。inoとするだけでできます。picocomでインストールしておく。picocomでインストールできる。--helpでコマンド一覧が出るし、http://inotool.org/quickstartの通りやってみればよいのだが、やってみて困った点を多少補足する。適当な場所にプロジェクト用のディレクトリを作る。initとすると、空のスケッチ。sketch.inoのような構造ができる。src以下のファイルを編集する。buildで必要なライブラリなどを自動的に探してコンパイルします。list-modelsで名前を探して指定する。ATmega328だとatmega328など。atmega328などとする。ビルドできたファイルは.build以下にある。uploadでアップロードします。MacOSでは/usr/local/sttyがPATHで先に来ると失敗しました。/bin/sttyが先に来るようPATHを調整しました。serialとすることでシリアル接続します。いうの自分で作りたかったんですが、rubyに移植しようかな。キーボード、マウスの機能が追加されたので、自動で絵を書くものとか面白い使い方がある。remoteが使えるが、MacBookAirでは使えないことにふと気付いた。家電のリモコンをArduinoとかでまとめたいと思って、赤外線のデコードについて調べていたのだが、プレゼンとかで次に進むのをリモコンでやりたいなと思ったところ、Leonardoを使えば簡単にできることに気付いた。IRremoteというライブラリのおかげもあって30分くらいでやりたいことのプロトタイプはできた。赤外線リモコンコードの解析そもそも赤外線リモコンは何をしているかというと、赤外線LEDをチカチカさせているだけだ。自然光で誤動作しないために38kHzのキャリア周波数に乗せている。以下に方式の解説がある。http://www.256byte.com/remocon.htm普通の赤外線LEDにリモコンを向けて信号を送っても起電力が生じて波形を見ることはできる。秋月で復号モジュールが100円以下で買えるのでこれを使う。VOUTで3の電圧を見ればON/OFFのシーケンスになっている。Systemがおすすめ。libraryhttps://github.com/shirriff/Arduino-IRremoteダウンロードしてlibrariesフォルダに入れる。コードを調べるにはexamples/IRrecvDumpを動かすとシリアルモニタに方式と復号化されたコードを表示する。自分の家にあるリモコンのコードの多くはNEC方式だったが、たまに変なものもあった。既存のリモコンを使ってPCの特定の機能をこれで動かせる。あとはどのボタンを押したかを判別して、それに応じたキーシーケンスをLeonardoにしゃべらせればよい。KeyboardLeonardoでのキーボードのキーコード一覧はhttp://arduino.cc/en/Reference/KeyboardModifiersにあり、ファイルとしてはhardware/arduino/cores/arduino/USBAPI.hに定義がある。押せばよいので、Keyboard.press(KEY_LEFT_CTRL);Keyboard.press(KEY_LEFT_GUI);Keyboard.press('f');delay(100);Keyboard.releaseAll();とする。releaseしない限り同時押しとなる。backに割り振った。ESCでスライドショーを中止とした。家庭用の他のリモコンも使える。DEBUGを1にしてシリアルコンソールを起動し、リモコンのボタンを押すと、キーコードが表示される。CODE_UPなどに割り振るだけ。パナソニックの家庭用シーリングライトのリモコンでも同じことができることを確かめた。追加したい機能があれば、キーボードショートカットを調べ、そのための関数を作って、リモコンのコードと対応させてやればよい。ここでは特殊な目的に特化したが、矢印キーなどキーボードのキーそのものであればWindowsでも使えるが、ショートカットなどはOSに依存してしまう。一年以上前に出てWindowsでしか使えないので放置していたが、いつの間にかArduinoのlDEが移植されていた。Energiaという名前である。https://github.com/energia/Energia/Macで動かしてみた。USBシリアルで接続するために必要なのでまずこれをインストールする。Energia.appをApplicationsに入れると、あとはもうArduinoと同じ。(16MHz)を選択し、シリアルポートで/dev/cu.uart-*を選択する。その後はもうふつうにArduinoのコードを書くだけで簡単すぎる。ハードウェアピンの対応はhttps://github.com/energia/Energia/wiki/Hardwareにある。シリアルに関してはJ3ジャンパーで切り替えとなっているが、下の図のようにRXD/TXDを切り替えないとハードウェアシリアルとしては使えないようだ。シリアルを使うコードを動かした後、プログラムの書き換えで失敗することがあるが、一旦ケーブルを抜いて繋ぎ直すと回復した。この辺は少し改善が必要。LEDが2つあるので交互に点滅するだけのLチカ。番号として、P1_0など基板に書いてある表記も使えるようだ。使えるコマンド一覧があるが、runとかstepとかあるのでデバッガーにもなるようだ。*.hexでuploadできるようだ。uploadとすることでIDEなしでもいけることがわかった。toolchainはhttp://code.google.com/p/osx-launchpad/からもダウンロードできるが、Energiaと同じものと思われる。コメントする日本科学未来館が公開した「フカシギの数えかた」という動画は「同じところを2度通らない道順の数」を数えるという一見簡単だが、組み合わせ爆発の恐ろしさを教えるものだ。結末がとても狂気じみていて反響が大きかった。8×8のマトリックスならArduinoでも表示はできるなと思って作ってみた。組み合わせの数がとても大きいので、現実的な時間では終わらないので、ループはなくても事実上無限ループみたいなものである。search)というもので、再帰的な関数を使って簡単に実装できる。本来は天文学的な時間のかかる場合でもZDDというアルゴリズムを使うと短時間で解けるという背景があるのだが、私の手には負えないのでここではおねえさん止まりである。8×8のドットマトリックスLEDを使うとして、各LEDの座標x[i],y[i](i=0,..,63)と、i番目のサイトを通ったかどうかという情報v[i]、各サイトから進める隣接サイトの番号dir[i][]、通った道筋の履歴site[]を準備する。0番目から出発して、次に進めるサイトへどんどん進み、目的地i=63に到達したら、道筋を表示し、進んだ後は引き返して別の道を探すという繰返しである。arms22さんによるドットマトリクスを表示するためのDotsduinoをたまたま持っていたので、そのためのDotsライブラリを使うことで表示部分は簡単に実装できた。myDots.write(x,y,HIGH);のように座標を指定してHIGH,LOWを指定するだけである。回路図も公開されているので、ドットマトリクスLED部分の接続だけ同じにするとふつうのArduinoでも同じことができる。いつまでも終わらないちょっと複雑なLチカということで。1~26の2列ピンヘッダが使える。11ユーザーが自由に使えるGPIOは0,1,4,7,8,9,10,11,14,15,17,18,21,22,23,24,25の17個あります。LEDを1個点灯させてみる。7pin)にLEDと1kΩの抵抗を直列につなぎ、GNDに落したとする。叩くBeagleBoneと同じだが、UNIX流な方法でデバイスもファイルである。/sys/class/gpio/exportにポート番号(4)を書き込むとそのポートは使えるようになる。/sys/class/gpio/gpio4というディレクトリができ、その中のdirectionとvalueでIOを制御する。“in”か”out”、valueは”1′′(HIGH)か”0′′(LOW)のいずれか。wiringPiに付属のgpioコマンドを使う。使用に同意したとみなされます。