秋月I2C LCD ACM1602NI用互換プログラム2種(秋月・ストリナ)バグ修正 ― 2015/05/23 23:59:59
以前に「秋月I2C接続キャラクタLCDモジュールをリカバリーできるファーム公開」をしてから、随分経ったが、今年3月にARaHiSiさんよりコメントにて「処理ブロックをとじる括弧の位置が間違い」を指摘していただいた。(その節はありがとうございます)
前回は簡単なテストしかしなかったが、今回はもう少しまじめに行っておこう。という訳で、検証用治具(ドライバー)を作る。治具はPICAXEを使用。回路は、
のままである。ソースコードはこちらの付録にzipで置いてある。これを使えば秋月とストロベリーリナックスの両方のI2C LCDの動作テストを簡単にできるようになる。
もちろん、アドレスが別なので、この様にI2Cに並列接続すれば、同時に表示されるようになる。
NACを使ってないから、同一アドレスでも表示しているみたいだ。
という訳で、ダウンロードはこちらから
→I2C LCD ACM1602NI用プログラム(解析資料) エアーバリアブルホームページ上
過去の記事・関連記事
その他
[PR]普通のブレッドボード
PICAXE Editor ver6登場! ― 2013/12/06 16:22:35
暫くぶりにPICAXE(ピカクス)のサイトをチェックしてみると、Ver6が公開されている。ベータ版であるが現在ダウンロードできるバージョンは6.0.5.7。早速ダウンロードだ。
ダウンロードはこのページからダウンロードできる。いずれにしてもver6は全部ベータ版。
setupダブルクリックでインストールすると、この場所にショートカットができる。以前のver5との共存が可能。
早速以前作ったI2CLCDのサンプルを読み込んでみる。読み込んだ後にデバイスの設定をする。Windows XPの場合、シミュレータが動かなかったのだが、これは難なく動作してくれた。
実際のデバイスへの書き込みも問題ない。
転送時間は前のVer5と同じ。写真に見えるのは自作のダウンロードケーブル。
open sampleには色々なサンプルが用意されているので、とりあえずなにか動かすことができる。
今回はAXE107のサンプルを動かしてみる。
AXE107のサンプルプログラム専用のシミュレータが存在する。
シミュレータ上のスイッチをクリックしたり、CdSをクリックして値を変更する事で、実際の物がなくても動作検証することが可能だ。もちろん普通のシミュレータも画面左下のウィンドウで確認できる。但し、ベータ版であるので、このトナカイのウィンドウをシミュレーション中に閉じたりすると、PICAXEアプリが終了出来ない事があるので、その時はタスクマネージャーなどで強制終了させる。
arduinoやその互換ボードなどが世の中で多く使われていく中、デバイスに直接書き込んで動作を確認できるPICAXEは、ICの中身をブラックボックスにしない唯一の教材と思う。
昔、青春をパソコンとBASICと共にした年代なら、やってみるとハマる事請け合いだ。
PICAXEを使ってブログ記事を書いている日本サイトの紹介 ― 2013/05/28 22:02:57
最近の私のブログではPICAXEの記事をよく読まれている様で、PICAXEの感心のが高くなってきた様に思われる。私も始めてみているが、いかんせん日本語の情報は殆ど無い状態。
それでもPICAXEを使ったブログ記事がぼちぼちと出てきたので、注目の2サイトを紹介しよう。
まずは、いつも懇親していただいているラジオペンチ氏のサイト。PICAXEカテゴリはまだ記事こそ少ないものの、具体的な作例があり、更に色々実験したときのノウハウも書き記してあって役に立つ。これからチェックしていきたいサイトの一つだ。
もう一つは、「ぐだロボ」。主に備忘録として書き留めているというが、通信やADコンバータなどの動作方法を、動画を交えながら説明しているわかりやすいサイト。こちらも今後の情報に期待したい所。自分のサイトでもPICAXEについて色々と発信していく所存だ。
→ぐだロボ
秋月「I2C接続小型液晶AQM0802A」をPICAXEで動かす ― 2013/05/25 23:19:59
前回購入したI2CLCDをarduinoで動作確認したが、今度は別のデバイスで動かしてみる。いつもならPICマイコンで動かすのだが、それはもう色々とやっている。
なので、今回は最近触り始めたPICAXEを使って表示させることにした。8ピンのPICAXEでもI2Cが使えるので、08M2を使ってみる。
ブレッドボードで検証。I2Cの動作がどんな状態なのか確認したかったので、以前購入したロジックアナライザを使ってデバッグしながら作業を進めていった。BASICの資料を読んだり、ST7032のアクセス方法を確認したりと、結局は2日程時間を費やしたが、表示に成功した。
電源は、以前作った安定化電源を3.3V側で使用している(再販しようかな・・迷っている所)
表示はこんな感じ。特に何をするわけでもなく、数字0~255を回して、それに対応するキャラクターを並べて表示するプログラムだが、まさにHello worldにふさわしい動作。
BASICコマンドはProgramming EditorのHelpからPDFを開くことが出来る。色々特別なコマンドやら、変数の扱いがb0、b1などと固定された変数を使うことや、計算順序が一般的な優先順位と違い、左から右へ行われるなど、色々な制約が多い。しかし、一回表示出来てしまえば次への応用が利くというものだ。
LCDの待ち制御は、ロジアナで確認したら、命令の間で0.4ms弱あったので、大抵の待ち時間である0.03msより十分だったので一部を除いて、pause命令は外した。
※商用問わず自由に使用可能(ストロベリーリナックス・秋月I2C LCD同時テスト可能)
という訳で、ソースコードは上のテキストボックスからコピーアンドペーストで利用可能。今回は秋月のI2C超小型のLCDを動かしたが、ST7032系が搭載されたLCDなら、そのまま利用できる。
PICAXE Programming Editorのシミュレーションはwindows XPでは機能しない? ― 2013/05/18 20:06:19
追記
Ver6になってこの問題はなくなりました。
とても簡単な言語でPICデバイスをプログラムできるPICAXEは、教育用に限らず普通の組み込みデバイスとしても手軽で簡単に使用出来るので、秋月電子から発売されるやいなや、大変な人気である。
そういうわけで、PICAXEを色々触っているのだが、1つだけエラーで動かない機能がある。それは
PICAXE Programming EditorにあるSimulateだ。プログラムをどう書いても、デバイスを変更しても上の様にエラーになってしまう。
バージョンは最新の5.5.5をインストールして、更にパッチにて5.5.6にしているのでバージョンが古いわけはない。
機種依存の確認として、別のWindows XP SP3(32bit)の入ったPCにもインストールしたが、症状は変わらず。PICAXEフォーラムを覗いたら同じ現象が書いてあり、その内容に
SRCVW4.DLL を削除する事があったので、消してからPICAXE Programming Editorを起動してみたりしてみたが、SRCVW4.DLLがwindows/system32に再度蘇るだけであり、解決には至らなかった。
ツイッターの情報によると、Windows Vista及び、Windows7(64bit)では問題なく動作しているとの事なので、XPだけがそうなるかもしれない。
ここで動作状況を教えて頂ける方がいたら、OSの種類と状態をコメントしていただけるとありがたい。
追記:コメントを色々ありがとうございました。
その後、別のXP SP3でも同様のエラーが起きるので、シミュレーションだけは動かないと結論づけました。Vistaや7,8では問題無い模様です。
もし、windows XP SP3でも動かせられる方法があれば、是非情報コメントをお願いします。
ローコストでPICAXE(ピカクス)用ダウンロードケーブルを作ってみた ― 2013/05/16 23:38:27
PICAXEを動かすとき必須となるのがダウンロードケーブル。前回は専用ケーブルを使用しなくても汎用シリアルUSBで動作できる記事を書いたが、専用ケーブルは一本作っておいたほうが何かと便利なもの。専用ケーブルは1500円、それをブレッドボードに接続するアダプタは320円の合計1,820円と結構な値段になる。今回は、安く作る方法を考え、実際に作成してみたいと思う。
古いRS232CのコネクタがついたPC用なら、既に公開されているが、今の殆どのPCはUSBであるので、作るならUSB式の方が現実的だろう。
デバイスの考察は色々考えた。候補としてProlific社のPL2303SA(共立エレ扱い)が、150円と安く、ピン間隔が広くて最小ピン数だけしか出ていないので良いかと思ったが、入手が少し良くない事と、反転回路を別途つける必要がありそうだ。マルツならMPL2303SA超小型USBシリアル・モジュールがあるが、今回はこれを使ってしまうと本末転倒になるのでパス。
aitendoでは同じProlific社でPL2303HXを150円で扱っており、極性反転させる場合はユーティリティを使って出来そうなのだが、HXAは外付けEEPROM、他のバージョンはワンタイムPROMで書き込むし、書き込み電圧が6.5V必要なので、これまた少し手間がかかる。
という訳で、秋月で安定供給しているデバイスFT232RL(300円)を使うことにした。FT232HL(270円)もあったのだが、製作難易度は更に上がるので、これもパス。
このデバイスのピン間が、たったの0.65mmなので、変換基板を使わないとハンダ付けが大変であるが、変換基板は安いものでもない。そこで使うピン以外は全部取り、28ピンが11ピンになれば、随分とハンダ付け配線が楽になるだろうと考えた。
ではピンの考察を。FT232RLを必要最小限のピンで構成した場合は上の図の様になる。専用ケーブルに特化させるため、RTS-CTSなどのハードウェア制御すら省いた。これは事前実験で無くても問題ないことを確認済である。
GND類は実際にはICの中で接続されているのでどれか1本を使うだけでも良さそうだが、つまらない所で動作しなくなるのは御免なので、今回の製作では全て接続。※理由はコメントを見てね!
3V3OUT端子は、内部でUSB信号ラインのプルアップ用に使う電源だが、外付けに0,1uFのコンデンサが必ず必要とデータシートに記載されている。試しに無しの実験ではUSBは認識しなかった。
デバイスの加工開始。実体図をよく見て先の細いニードルで足を起こし、完全に上に曲げて、更に下に曲げる。これを1.5往復~2往復やるとポロッとピンが折れる。つまり、折るピンを間違えないようにしないと、たった1回上下にピンを曲げるだけで取れるので慎重に行った。
これで必要なピンだけが残った。ハンダ付けするよりは楽な作業だ。
次はGNDピンを接続する作業。裏側にして銅箔テープを貼る。銅箔テープでなくても、細いメッキ線でも良いと思う。
GNDとAGNDの合計4箇所を内側に曲げる。曲げ間違えると、そのピンは既にもろくなっているので、間違いが許されない作業。慎重に行った。
お次はVCCとVCCIOを接続する。5V専用になるが、PICAXEのケーブルもそのように作られているので問題無いだろう。表側に銅箔を貼って上側に2箇所のピンを折り曲げる。
折り曲げた部分をハンダ付けして電源部分の加工が終わる。
次は基板。端切の基板を利用。15,16,17ピンの所がショートしないように、ランドをハンダコテの熱で剥離してしまう。
銅箔テープの余分な部分を切り取って、ショートしないように位置合わせしてハンダ付け。
1ピンと5ピンは、ランドにちょうど乗るので配線が楽だ。
1ピンはTXDoutなので抵抗は10KΩにした。5ピンはRXinなので1KΩにした。これらはどちらでも10KΩでも問題ないだろう。ただ、RXinの方は数10KΩのプルダウンをヘッダーに近い位置に付けておいた方が、ピンがオープンの時の対策になる。
お次はUSBケーブル。探せば昔のマウスやケーブルが出てくると思うのでタダ同然な部材。
端子は上の写真の通り右からV -D +D Gndだ。
ケーブルは必ずむいて電線の色と配線を確認する。過去に赤がGNDだった例もある。メス側のUSBがあると、確認に便利だ。
電線は抜けないようにバイスで少し広げて電線を通しておいた。部品は3点。プルダウンの抵抗を省略しているので、実際は抵抗が3本、コンデンサが1つとなる。
さて、この製作で一番むずかしい配線は15,16,17ピンのハンダ付け。ルーペで確認しながらの作業だ。16ピンを少し跳ねあげておくと、少しは楽かもしれない。
15 USB +D
16 USB -D
17 3V3OUT
その後電源線2本をハンダ付け。
これを接続してしまえばあとは楽勝。USBへのアクセスは出来るようになる。ICに接続した抵抗の向こうはなにも接続していないが、ここでテストしてみるか。
ここでおもむろにUSBをPCに差し込むと、FTDIの認識が始まるはず。ドライバは開発マシンなら入っているはず。有名なドライバなのですぐ見つかるだろう。
認識したら、PICAXE専用にするために論理反転をしておく。FT_Progユーティリティを使うが、使い方は前回説明したので割愛する。設定後、一度抜き差ししてCOM番号が変わったことをデバイスマネージャで確認。これでPICAXE専用のデバイスとなったわけだ。
仕上げにヘッダーと切り替えスイッチを取り付け、配線して出来上がり。試行錯誤をしながら、大体3時間程度で完成した。
デバイス側。ハンダ付けがちょっと危なっかしいが、ひと通り動くのを確認出来れば後はエポキシ接着剤で封止し、大きい熱収縮チューブでラップする予定。
部品側。このヘッダーはブレッドボードアダプタとピン配置と使い勝手を合わせてある。
これがブレッドボードアダプタの回路。今回製作したのはこのアダプタも込で作ったイメージなので、抵抗値が違ったり、ヘッダの切り替えの代わりにスイッチを使ったりしている。
という訳で早速使ってテスト。今回は18M2を使った。ああ、なるほどこれは確かに便利だw
電源はUSBからも供給できる様にもできるのでアレンジしてみるのも良いだろう。
動作確認も終わったので、配線を保護するために熱収縮チューブをかけて専用ケーブルに変身。
FT232RL 300円(実際に購入)
手持ち部品(高く見積もっても200円以下)
抵抗 10KΩ 3本
コンデンサ 0.1uF 1本
スライドスイッチ
USBケーブル(1.1でよい、マウスとかのジャンクを活用)
基板の切れ端
PICAXE(ピカクス)を一般的なUSBシリアルで動かす ― 2013/05/11 23:34:37
前回はPICAXE(ピカクス)を紹介したが、既に反響が大きい模様でPICAXEの検索数が数日で大変多くなっている。それだけ注目のデバイスなのだろう。
早速デバイスを入手。秋月では4種のデバイスを取り扱っている。18ピンタイプの18M2と14ピンタイプの14M2、
28ピンタイプの28X2。こちらの刻印はPIC型番であるが、秋月電子の説明では内容はPICAXEとの事だ。
さて、手始めに8PINタイプでも使うとするか。PIC12F1840(pdf)がベースとなっているので内部は32MHzで動作し、AD変換やI2Cも使える。
開発環境はPICAXE Programming Editorをインストールする。もちろん無償。
書き込み部分のインターフェースはこのような単純な構成。抵抗がこの様に構成されている理由は、マニュアルなどの情報からRS232Cを直接接続して動作出来るようにしていると推測する。
接続については、専用ダウンロードケーブルを使わないとダメかと思われたが、色々と試していくうちに、一般的なUSBシリアル変換器などを利用することができるようだ。
その場合は、通信ロジックを反転させて接続すると動作する。
書き込みが開始されて、
14秒ほどで書き込みが終了。動いてしまえば「なあんだww」なのであるが、論理反転が必要と分かるまでに、実際は半日以上を費やしているw
これで動かなかったらダウンロードケーブルを買い求めようと思ったのだが、コメントにレガシーRS232Cの記事のヒントがあって、それには直接RS232Cをデバイスと接続し、PICの保護クランプダイオードを当てにした回路となっていたので、論理反転と気がついた次第だ。
無事LEDチカチカができるようになった。
PICAXEのケーブルもFTDIのデバイスを使っているが、おそらくドライバに細工がしてあって、論理反転とかをしているのだろう。
またFTDIのMprog(現在はFT_Progが良い)というツールを使って、論理変更をすれば、ハードウェアによる反転回路も要らないと思うが、私の場合はFT232Rを使いまわすので、あえて書き換える事は行わなかった。→追記でそのやり方を記載
こんな回路で接続。実際には74HC14を使った。空きゲート処理は実験なので端折ったが、一過性の実験なので、そんなに神経質になることもないだろう。
電源については、8ピンから18ピンまでは5Vだが、28ピンと40ピンは3.3Vなので、USBから電源を供給する場合は注意が必要だ。
トランジスタ式も作ってみた。2SC1815などの汎用NPNトランジスタと数個の抵抗があれば良い。
部品点数が少し多くなるが、安く作れる。今ではあまり需要は無いかもしれないが、古典的なRS232Cによる製作例はこちら。
追記1(5/12)
FTDIのツールを使ってFT232Rの内容を書き換えれば、ハードウェアによる反転回路が無くても動作させることが出来る。ツールはFT_Progというユーティリティを使用する。昔で言うMProgと殆ど同じと思われる。ダウンロードはFT_Progのページを訪問し、上記のリンク部分をクリックすれば良い。動作させるにはマイクロソフト.netフレームワークが必要だが、同一ページにリンクがあるし、大抵のPCは既に入っているだろう。
このツールは、電流変更やID設定など、痒いところに手が届くツールだが、それゆえに設定リスクもあるので、くれぐれも自己責任で使用をお願いしたい。
まずFT232Rを接続して認識後、FT_Progを起動。Devices→Scan and Parseを選択。
するとデバイスが自動的に識別される。色々な細かい設定ができるが、今回の目的は通信線の論理を反転させるので、上記赤枠を参考に設定を変更する。最後に稲妻のアイコンをクリックすると、FT232Rの書き込みダイアログに移行する。
Programをしてユーティリティを終了する。USBに接続しているFT232Rは一度外して再度接続する。新たなCOMポートに変更されるので、デバイスマネージャなどでCOMの番号を確認しておく。
これを繰り返すと不要なCOMポートが増え続けるので、その場合は、過去記事「Windowsで増えすぎた未使用COMポートを削除する方法」が役に立つ。
これで、さらにスッキリした配線になる。なお、FT232Rを使いまわす時などは、設定を元に戻すとか、モジュールにシールでも貼っておいたほうがトラブルがない。
書き込み速度は、簡単な解析では4800bpsの16ms周期で書き込んでいる模様。
プログラムの大小に関わらず、プログラムを転送しているように見える。それで少ピンの08M2でも14秒程度の書き込み時間が掛かる。とは言っても、このデバイスの目的は教育用途なので、書き込み速度は妥協できる。
PICAXEへのダウンロード自作についてまとめ:
1.FT232RなどのUSBシリアルのデバイスを使う時は、通信線をゲートなどで反転させれば、
そのまま動作出来る。
2.FT232Rなどを再設定できるツール(FT_Prog)で送受信部分の論理を反転させると、
直接PICAXEに接続できる。
3.レガシーなRS232Cの信号だけを利用するだけでもできる。製作例。
という訳で、手持ちのFT232Rがあれば専門のダウンロードケーブルを使わなくても、書き込める事が分かっただけでも情報としては有効だろう。
FT232R自体は300円と安いので、それを使って専用のケーブルを作っても良い。
追記2(5/21)
秋月でも、ほぼ同様の情報を公開した模様(pdf)
また、専用ケーブルの製作記事も作ったので参考までにどうぞ。
→PICAXEマニュアルPDF(PICAXE)
→PICAXEプログラミングエディタダウンロードページ(PICAXE)
→専用のダウンロードケーブル(秋月)
→UM232Rを使用して書き込む方法(pdf)(秋月)
→秋月UM232R(秋月)
→FT232Rデバイス販売(秋月)
→FT_progのページへ(FTDI)
→Windowsで増えすぎた未使用COMポートを削除する方法(エアーバリアブル)
→専用ケーブルの製作記事(エアーバリアブル)
arduinoライクとなるか?PICAXE(ピカクス)が秋月電子通商より販売 ― 2013/05/08 22:36:11
秋月電子通商から新製品が紹介されていた。「PICAXE(ピカクス)」というPICマイコンをベースとしたデバイスだ。専用ソフトウェアを使い、BASIC言語やフローチャートでマイコンを自在に使える。
PICマイコンをプログラムする時、デバイスの機能ブロックを知っている事が前提なので、簡単なLEDを点滅させるだけでも、ADコンバータをOFFにすることの処理やポートの入出力などの初期設定が必要である。しかし、これはそういったデバイス固有の設定をしなくても入出力が簡単に扱えるのは魅力的だ。
コンパイラやダウンローダーは無償ダウンロードができる。プログラムのダウンロードはシリアルケーブルで行う模様。PICAXE専用のシリアルUSBケーブルも販売している。
秋月で扱っているのはモジュールではなくデバイスのみであるが、PICAXE-08M2以外にもPICAXE-28X2 PICAXE-18M2 PICAXE-14M2の合計4種類を用意している。
いずれレビューを行なってみたいと思っている。
一度PICマイコンを使うのを諦めた方に朗報だ。このツールはarduinoを超えられるか。
書き込みケーブルの自作については
最近のコメント