コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for 3月, 2011


hatena bookmark


PSoC1 を仲介にして、3.3V駆動、I2C通信で表示ができるキャラクターLCDモジュールのユニットを作成してみた。

ストロベリーリナックスの 3.3V キャラクターLCDモジュールはお安くて入手性も良いのだけれども、いかんせんちょっと小さいのとバックライトがないのとで見づらいところがある。
バックライト付きの 5V LCDモジュールを 3.3V と I2C で使いたいなあと、制御マイコン付きの基板を作ってみることにした。

回路図、K2CADのパターンファイル、基板のガーバーデータ、PSoCプロジェクトの詰め合わせ。
Download: i2c_lcd_psoc1.zip

Read the rest of this entry »


hatena bookmark


やっぱりマイコン開発に LCDモジュールはつきもの。
初期化が若干面倒なので制御処理の初歩にちょうど良いし、表示装置というのはなんだかそれだけでカッコイイ。それに色々数値を表示することで、デバッグ作業が楽になるというもの。
一般的な HD44780 コンパチな LCDモジュールは 5V 駆動だったりする。だけれども最近のマイコンは 3.3V 駆動のものが多くなり STM32 も 2~3.6V ラインである。まあ、液晶駆動用に 5V ラインがあれば信号線は 3.3V でも動作するし、STBee は 5V のラインもあるからその組みあわせでなんとか動作させることができちゃったりもする。
しかしまあ、今後の主流が 3.3V だというのならそれに慣れておくのも良かろうと、3.3V 駆動で有名なストロベリーリナックスの I2C LCD 表示モジュールを用意した。3.3V ってだけじゃなくて I2C でもあるので信号線が少なくて済むというメリットもある。
3.3V 液晶モジュールはストロベリーリナックスだけでなく、共立電子からも買える様になっているので徐々に入手しやすくなってきている感がある。

STM32 で I2C を使ってみようというのは peripheral 使用のトレーニングとしては割と面倒な部類に入るかもしれない。
I2C のサンプルコードは見かけるのだが


    while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT));

などとポーリングで完了待ちをしていたりしていささかよろしくない。
外部通信は存分に遅い処理なのでその間ループでブロックして待つというのは無駄な処理と時間を費やす事になる。
そこで、割り込みと FreeRTOS のタスクを利用してできるだけ無駄な負荷がかからない I2C LCD 表示ルーチンを目指してみた。


少々複雑なれどタスクとキューと割り込みの関係図。

ソースコード
Download: fumi2_stbee_project-0.3.0.zip

Read the rest of this entry »


hatena bookmark


STBee でLEDチカチカやってみました、第二弾。いつまでLチカやってんじゃいと思わずお付き合いくださいまし。
上の動画を見て貰った方が早いのだけれども、今回は 2つのLEDがそれぞれ異なる周期で非同期にチカチカしている。これは FreeRTOS によってそれぞれ別のタスクとして動作しているという成果によるもの。

今回は開発ソースツリーに FreeRTOS を含めたというお話。
STBee を使った電子工作プロジェクトの開発環境を整備するというシリーズも目標としていたところを一通り準備し終えたということで、これで一応の完結となる。

ソースコード。
Download: fumi2_stbee_project-0.2.0.zip

Read the rest of this entry »


hatena bookmark

以前からちょくちょく出てきている、iruka さん製作の STBEE MINI を使った JTAGアダプター。名称 arm_blaster。

ごらんの通り CNCフライスでプリント基板を作って使っている。
回路図は元のページを見て欲しいのだけれども、単に 4本の GPIO に抵抗を挟んでコネクタにつなぐだけの代物。どう見てもユニバーサル基板で作った方が早いよ!という風情なのだけれども、敢えてこういう小物も CNCフライスで作っていきたい。

できあがったモノの仕上がりが綺麗ってのもあるけれども、今は CAD で書いて CNC で出力というフローに慣れたいからというのが主な理由。
あと、こんなものでも部品代としてみれば安いので数こなしていけばユニバーサル基板を買うよりコストメリットも出てくるはず。それとこれは次回になるだろうけれども、コネクターでユニバーサル基板にそのまま刺さらないような奴を使いたいときにぐぐっと優位性がでてくる。

とかそれらしいこと書いているけれども、実際の所、ワイヤーの皮膜を向いたり溶かしたりして配線する作業が面倒で嫌なんだよ!ヽ(`Д´)ノウワァァァン
あとユニバーサル基板を適度なサイズに割るのもめんどい。

ユニバーサル基板だととりあえずで作り始めて作りながらあーでもないこーでもないと設計を変えたりテストしたりするものだけど、CNCだと最初にCADできっちり設計しなければならないのが難点。
いや、それは製作手順としてやった方がいいことなんだけれども。

この程度のもの欲しい人がいるとも思えないけど、K2CADのデータやガーバーやGCODEの詰め合わせ。
Download: armblaster_pcb.zip


hatena bookmark

toolchain スクリプトの更新。 Ver.0.0.3

binutil-2.21 の gas で、SVC ニーモニックが使えないというバグがあるようなので、binutil の version を 2.20.1 に引き下げたもの。

Download: fumi2_cortexM3_toolchain-0.0.3.tar.gz (4KB)

おまけの cygwin binary
Download: cortexM3_gcc_toolchain.tgz (77MB)