USB経由でPCにデータを送信するだけのATtiny45を使用して、独自のモジュラーUSBデバイスを作成したいと考えています。私はデータを読み取っていないので、片道(ATtiny-> PC)接続で完全に問題ありません。
Arduino UnoをISPとして使用し、Arduinoソフトウェア内からロードされた標準のArduinoISPスケッチを使用しています。AVRDUDEを使用して、ArduinoをISPとしてATtiny45をプログラミングすることを考えています。これは、HEXにコンパイルされたCコードを使用できるようにしたいのです。
回路に関する私の基本的な考え:
ご覧のとおり、「直接」のUSB接続が必要です。これまでのところ、ソフトウェアベースのソリューションを使用する必要があることを知っています。
私はATtiny45で動作するようにSoftwareSerialを管理しました。このために、私はArduinoソフトウェアを使用して、次のコードでATtiny45をプログラミングしました:
#include <SoftwareSerial.h> #define rxPin 3 #define txPin 4 SoftwareSerial serial(rxPin, txPin); void setup() { pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); pinMode(led, OUTPUT); serial.begin(4800); } void loop() { serial.println("1"); delay(1000); }
私はピン3(まだ)を使用していませんが、SoftwareSerial用に定義する必要があることに注意してください。
このように、SoftwareSerialを使用して、ATtinyから、このテストのために空白のスケッチがロードされているArduino UNOのTXピンにデータを直接送信することができました。私がArduinoソフトウェアのシリアルモニターを使用してCOM4(私の場合)のデータを読み取っていたのは、プログラムされたATtinyをUSBケーブルに直接接続しようとしたため、PCがデバイス(COMポート)を認識しなかったためです。
残念ながら、シリアルモニターで奇妙なUnicode文字しか表示されませんでした。データが16進形式かそれくらいだからだと思います。USBとATtiny45の間にUSB /シリアルコンバーターを接続する必要があることに気づきました。そのようなコンバーターを探しましたが、すべてのものが必要なので、既製のボードは使いたくありません。単一のボード上の私のコンポーネント。私のプロジェクトではFTDIチップは「多すぎる」と思いますね。(ピンが小さすぎてはんだ付けできません...)
V-USBはUSB /シリアルコンバーターを必要としないため(私の知っているように)、2番目のアプローチでした。したがって、V-USBを使用するには、前述のようにAVRDUDEを使用する必要があります。
私はこの素晴らしいV-USB EasyLoggerの例を見つけました。回路設計とサンプルファームウェアが含まれています。(C / C ++ / HEX)
私が知りたい唯一のことは、回路を例に示すようにする必要がありますか?->
この種類のUSB接続について他に何を知る必要がありますか?(なぜUSB /シリアルコンバーターが必要なのですか?+5とVCCを接続するだけでいいのですか?絶対に必要なコンポーネントは何ですか?TXを介して送信する必要のある信号の種類は何ですか?hex-どんな電圧が必要ですか?することが ? )
ご回答ありがとうございます。
更新
ここにいくつかの点で私を本当に助けたいくつかの追加のリンクがあります。しかし、私はそれを完全に理解していませんでした...
最初のもの-> http://www.ernstc.dk/arduino/tinycom.html
2番目-> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino([ シリアル出力]セクションまでスクロールダウンします)