まずはこちらをご覧ください。
完成物としては、「ふつーの」温度計です。
ただ、まともにプログラミングしたのは初めてなのでここにまとめます。
至って普通の温度計なのですが、実際は3日間程かかりました。I2Cの通信規格から7セグの点灯の仕方まで、学ぶことが多かったです。
まず、メインとなるボードはこれ。
Arduinoコンバーチブルでmbedも使えます。このボードはツイッターのフォロワーさんのがれすたさんに教えていただきました。HPはこちら→http://gsmcustomeffects.hatenablog.com/
実はマイコンはPICとArduino UNOとLPC1114を経験済みですが、どれも中途半端で終わっていました。だって難しいんだもの…
でも、電子工作する上でマイコンはどうしても必要になってきます。なので、色んな人にアドバイスを貰った結果、
LPCマイコンに再チャレンジする
ことにしました。
理由はいろいろあって、
- 電子工作でマイコンがほしいタイミングが多くなってきた
- 情報処理というよりか、ステートマシンとして使いたい
- アセンブラでのプログラミングはいまどき古い
- Cortex-M0を始めとするARM系マイコンが汎用性が高いと教えてもらった
- その他、アドバイスを頂いた方がLPC使いだったから
などという感じです。
詳細は多岐にわたるので、ちまちままとめていこうと思います。
ただ気がついたこととして、マイコンといえばレジスタを直打たきしたり、アセンブラでゴリゴリ書いたりするものだというイメージでしたが、良い意味で覆されました。
レジスタや内部処理は極力隠蔽して、やりたいことに注力する。
mbedやArduinoもそれに近い発想ですが、LPCマイコンとMCUXpresso(IDE)を使ってやることで、低層からアクセスできる環境で、なおかつ上手く隠蔽されたプログラミングをすることができます。
実際、私の書いたCのプログラムはレジスタを直接動かしていません。あくまでライブラリ任せです(LPCOpenを使います)。
このような形で、いい意味でプログラミングを再開することができそうです。
また何か進展あったらちまちま載せていこうと思います。