デスクトップからI2Cを叩く際には、USBシリアルを経由して自作のI2CBridgeを使っていたんだけど、ラップトップで手元をごちゃごちゃさせたくなかったので、USBから直接I2Cを叩くことを考えた。 背面が足を使うだけで立体交差する事なくうまく配線できてて「ひゃっほーい」な気分だったのに、最後に追加したこの電源回路のせいで赤い線が2本入ってしまいました。残念。. 完成した基板はこんな感じ。ラップトップでコンパクトに使えるよう、そのままUSBに挿せる形で作りました。右のピンがI2Cになってて、別の基板にそのままぷすっと挿せば使える。「ピッコロさん緑色なのに〜」とか際どいセリフをこの御時世にどうどうと映画で使える鳥山先生は偉大です。, 最初はチップを変えたこともあり、再コンパイルした物を使ってたんですが、付属の45用の物をそのまま焼いても動くようです。一応、再コンパイルする際の注意点をいくつか書いておきます。, セラロックや外部クロック(安売りでまとめ買いしたSGシリーズとか)を使うならfuse設定を正しく変更するのを忘れずに。あと、このファームはリセットピンを殺すので一旦fuseを書き込むと定電圧シリアルプログラミングができなくなります。, の順番に書き込まないと後悔するので注意。またhidaspxでhigh/low両方のfuseをまとめて書き込もうとした際、RSTピン無効化チェックに引っかかってクロック設定だけ書き換えてしまう事にならないように注意。ここで警告メッセージをみると焼きこみ環境でもクロック入れないと次の修正ができません。-fH0x~のところを-f#H0x~と書いて確実に一発でキメましょう。 % sudo apt-get install i2c-tools ちなみに私はクリスタルとセラロックを行ったり来たりとデバッグしてた関係で高電圧シリアルでfuseをリセットする装置、でんし研さんのTiny45・13リセッターも作りました。 % sudo modprove i2c-dev, if !defined(__AVR_ATtiny45__)の分岐を85でも適用されるよう修正, VUSB版で行くならusbdrvを最新版に入れ替えるのが最新AVR-gccでコンパイルする近道, 45/85のコードパスは問題ないが、別のコードパスでは割り込みハンドラの名前がpoisonedと言われるので修正が必要(deprecateを許してbuildするかリネームするか), you can read useful information later efficiently. By following users and tags, you can catch up information on technical fields that you are interested in as a whole, By "stocking" the articles you like, you can search right away. USBシリアルI2C変換基板はUSBシリアルからI2Cマスタに変換する基板です。シリアルCOMポートを介してパソコン等からI2Cデバイスを制御できます。シリアルCOMポート変換にPL2303SA、シリアルI2C変換にSC18IM700を使用しています。TeratermやNode-Red等から簡単なコマンドを使用してI2Cデバイスを制御できます。 USBシリアルといいながらUSBシリアルの機能の他にJTAG,I2C,SPI,BitBangなどいろいろなインターフェースに変換できる機能を有しています。 ... 好評のUSBシリアル変換のCP2102版です。 データビット:5,6,7,8ビット対応(CP2101は8ビットのみでしたが改良されました) ストップ … 悪い例。GUIから書き込みをしていて油断していたスクリーンショットがこちらになります。クロック入れてコマンドから焼き直し。 Windowsからlibusb経由で叩くサンプルもあるので、いざ直接Windowsでコードを書く気になった時も安心。, オリジナルはATTINY 45を使っていたんだけど、日本だと(秋月に売ってないので)安く手に入れにくい事もあり、かわりに秋月で手に入る85を使った。他にも手元の在庫で作った関係で部品はかなり変えて作ってる。以下、改変リスト。, 最初の試作版はクリスタルも使わずにセラロックにしていたんだけど不安定だったのでクリスタルに戻した。結局不安定だった理由はUSB端子のハンダ付けが甘かったのが主な理由だったみたいだけど。ブレッドボードに並べた範囲では手元の10個ほどのセラロック全てで安定動作してました。って事で、V-USBではクリスタル使うべきってのが一般的なんだけど、個人的にはセラロックでも十分動いてます。昔は相性問題がでるホストもあったんだけど、そういう時にはハブを間に入れることで解決。まぁ、今回は安全を見て、またラップトップで使う事も考えてクリスタルにしておきました。 Help us understand the problem. という事で、ここは最小限の手間で対応するため、基板上にスイッチを付け足してUSB電源を直接電源ラインに流す線と、USB電源を3.3Vツェナーx2で受けてから電源ラインに流す線を切り替えられるようにしました。 USB電源にざっくりこんな回路を挟んだだけ。最初の写真に写っていたスイッチはこの電源電圧の切り替えスイッチです。 Why not register and get more from Qiita? What is going on with this article? 【mft200xd】usb-i2c変換モジュール 1,300.00円 マルツエレック製|18:00までのご注文を翌日お届け、3,000円以上購入で送料無料。mft200xdは、ftdi社製のft200xdを搭載したusb-i2c変換モジュール基板です。超小型面実装タイプのicを、試作・学習レベルで使いやすくするために2.54mmピッチの8ピンdip-ic こっちの方が回路面倒でしたが、一度作っておくと圧倒的に便利。しかし右上の抵抗周り汚いな。まぁ、茶色い感じの仕上がりです。, ここまでやっておいて、いざターゲットのデバイスを繋いだら動かなくて焦りましたが……単純に電圧の問題でした。本家の回路は5V動作でD-/D+だけ3.6Vに落としてるんですが、実は自分が使いたかったI2Cのターゲットは5Vでは動作しなかった。という事で電源を3.3Vに落としたい。 またラップトップではWindows上のVMでLinuxを走らせていたんだけど、その中からUSBシリアル→I2CBridge→デバイスという経路だと妙に重くなっていたのも理由。ただ、結局こちらは解決できなかった。, 自分でゼロから作っても良かったんだけど、i2c-tiny-usbはドライバがLinuxのkernelに取り込まれてるのが魅力。/dev/i2c-Nといったデバイス名を経由して共通のAPIでアクセスできる。つまり、Raspberry PiのI2C向けに書いたコードがそのまま動く。 デスクトップからI2Cを叩く際には、USBシリアルを経由して自作のI2CBridgeを使っていたんだけど、ラップトップで手元をごちゃごちゃさせたくなかったので、USBから直接I2Cを叩くことを考えた。 またラップトップではWindows上のVMでLinuxを走らせていたんだけど、その中からUSBシリアル→I2CBridge→デバイスという経路だと妙に重くなっていたのも理由。ただ、結局こちらは解決できなかった。 センサなどはI2CやSPIで通信するものがありますが、その確認をしようとするとArduinoにつなげたりします。 つながるだけを見たかったりして、面倒な作業をできるだけ減らしたいと思うことがよくありました。 USB接続でI2CやSPIで通信できる既製品は確かに存在するのですが、PC側のソフト … mcp2221搭載 usb-i2c/uart変換ボード(click-i2c)は、usb経由でパソコンからi2cスレーブ機器と通信ができる実験ボードです。 i2c通信のほか、非同期式シリアル通信uart通信も可能です。 パソコンから簡単にuart通信、i2c通信ができるため自作機器のデバッグやセンサーとの通信、実験、評価に最適です。 (2016/8/10 注: 回路図のダイオードの向きが逆でした。実装は合ってたのに…。あとで回路図修正しますが、ひとまず注釈まで)