ATtiny45直接USB 2.0接続のフ&ー ム&アと回路
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) 私が知りたい唯一のことは、回路を例に示すようにする必要がありますか?-> …