マイコン一覧

PICの開発環境めんどくさ

 USBを扱う事のできるチップが安いので、PICを始めてみたものの。

 今、開発環境の移行時期みたいで、いろいろ面倒。PICのメーカーであるMicrochip社はIDEはMPLAB X IDEに統一したがっている模様。旧版はMPLAB IDE。Xの方はjavaベースなのでWindows/Linux/ハゲOSを統合できるからだな。
 でも、そのチップメーカーが出してるframeworkのライブラリ。これがPIC18では旧コンパイラのC18前提だったり、PIC32MXだと新板のXC32だったりとぐちゃぐちゃです。新コンパイラのPIC18対応版のXC8に対応したframeworkライブラリを公開してほしい。

 というか、PICってマイコンチップ自体がごった煮状態で、種類は多いし、しかもアーキテクチャがまちまち。AVRの様に簡単には行きません。

 うーん、困った。PICは一時しのぎで、基本AVRで開発したいと思うなぁ。


今週はいろいろある

 朝会社についたら連れから電話が。出てみたら、こないだ新入りになった金魚のうち丹頂のほうが昇天とな。
昨日内部ろ過の水作を設置するのに底砂をいじったせいだろうか?一番泳ぎが上手かっただけにちょっと残念である。

 帰宅後。丹頂を埋葬。

 帰宅したらHarpy&8U2をちょっといじろうと思っていたのだけど。Harpyが見つからない。ここじゃないここでもないと探して諦めた頃に部品だなの手前側にあるのを発見。
 サクッとブレッドボードで配線。今回は8U2を5V駆動に戻して、8U2のUSBの5VでHarpyを駆動。さらにHarpyから8U2のシリアルはどうせ片方向なのでHarpyのTXを8U2のRXにつなぐだけ。逆方向はつなぎません。3.3V系のHarpyから5V系の8U2はロジックレベル的にはOK。Harpy側が3.3VのHIGHを出しても8U2のHigh相当は2.5V程度でしょうから。もっと低かったかも。
 コードの方はUNO&HOSTシールドの方と同じようにUS→JPNだけでなくUS→USの切り替えも入れました。というわけで、このブログエントリーはこいつで書いてます。

20130424_01

 もうすこしコードを整理したい。電源オン直後のモディファイヤがなんか微妙に初期化されてない気がする。ハード側はHarpyはピンソケットでなくてピンヘッダに付け替えて、ユニバーサル基板に固定して、クロージャーに納めればこれはこれで使えそう。電源は8U2のUSB5Vを使用している関係上Harpy5VのLDOの入りと出の両端に5Vをかけてる状態だけど問題ないかな?問題ありそうなら5V側のLDOを外しちゃいますが。


Arduino UNO & USB HOST SHIELDのキーボードコンバータ運用テスト開始

20130421_03

 USキーボード対応も出来たので、Arduino UNO版もいれ変えました。シールドのdigital5ピンからGNDにジャンパ入れてUSモードです。
 で、問題がないか確かめるために自宅で運用を開始してみます。このブログエントリー自体も、すでにこの変換機を通してます。OS側の変換ドライバは止めてます。この無線キーボードはCAPS,NUMLOCKなどのLEDが無いので、UNOのソフトはLED対応はしてないバージョンです。今のところレスポンスなども特に問題は無さそうです。


AVR Dragonの保護シールド作成

20130414_01

 まずFritzingで想定する実体配線図を作成。大体いつもこのやり方。回路は「半田付してます。」さんのこの記事。(実体配線図で74HC540の9番ピンが浮いてますが、8番とはんだブリッジしてプルアップしてあります。)

 60Ωの抵抗が手持ちになかったので、75Ω。100Ωは1/4Wの大きめの奴しかなかったです。ツェナーダイオードは5vのルネサスの奴。その他ダイオードは秋月で50本100円の1N4148。基本的に手持ちの部品を代用。

20130414_02

 ちょっと実体配線図とは変わっちゃってますし、お見苦しい部分もありますが、完成。テスターで電源周りがショートしてないかを確認してからテスト。

20130414_03

 こんな感じでAVR Dragonの上に載せて使います。自作保護シールドの裏にあるメスコネクタとDragonのISPの6ピンコネクタで接続してます。6ピンの並行ケーブルの手持ちが無かったので(早速共立エレショップに発注しました。)、AVRISPmk2から外して接続。AVRstudio6での確認ですが、ArduinoUNOとArduinoLeonardoのFUSE BITなんかは読めてました。

 今回JTAGでなくISPのバッファなんですが、DebugWireモードで実機デバッグを試してみたいと思ってます。あ、入れるためのケースのコネクタ部分の窓加工して入れ込む作業が残ってた。加工が楽なので、厚紙ケースでも良いけどなあ。


ATMEL Studio6で行っておこう

 古い環境を構築するのはやめて、問題が出るまではATMEL Studio6で行っておこう。ってかWindows8 x64上でAVR Studio4からAVRISPmk2を認識させる事が出来なかった。VMのXP x86からは使えるようには成りましたが。遅くて使えません。
 PCを買い替えようかとも思ってみた。shuttleのベアボーンのXH61Vにcore i3か i5を積むかとか。でも3万5000円コースになるので、そんな余裕は無いから止め。

 で、ATMEL Studio6で開発してみて、ライブラリとかで問題があれば直せばいいじゃんと。どうせ動かすマイコンのプログラム領域はしれたもんだがから、ソース直してもしれたもんだろうと。

 この線で行きます。

 USBデバイスをいじるのは大変だ。


mbedでhid

20130408_01

 mbedを使ってキーボードのふりをさせるテスト。

 mbedのサイトのUSB HIDのサンプルがよくわからず、USB Keyboadの方をベースにした。このUSBKeyboardクラスは既に文字コードからの変換までしてしまっているので、ちょっと改造。8byteのHID Reportのbyte配列を渡して送信するメソッドを追加。さくっと動作を確認できました。

 あとは、これとMAX3421E with AVRをシリアル通信で接続してってところですが、mbedに渡すには5V→3.3V変換が必要なのでまたあとで。変換はFXMA108を使う予定。