Я хочу зробити свій власний модульний USB-пристрій за допомогою ATtiny45, який просто надсилає дані на ПК через USB. Я не читаю дані, тому єдиний спосіб (ATtiny -> PC) з'єднання було б цілком нормальним.
Я використовую Arduino Uno як ISP зі стандартним ескізом ArduinoISP, завантаженим із програмного забезпечення Arduino. Я думаю про використання AVRDUDE для програмування ATtiny45 за допомогою Arduino як ISP, тому що я хочу мати можливість використовувати код C, зібраний у HEX, оскільки він є більш досконалим, ніж мова програмування Arduino.
Мої основні думки про схему:
Як бачите, я хочу "прямого" з'єднання USB. Поки я знаю, що для цього мені потрібно використовувати програмне рішення.
Мені вдалося SoftwareSerial працювати з моєю ATtiny45. Для цього я використовував програмне забезпечення 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); }
Зверніть увагу, що я не використовую Pin 3 (поки що), але мені потрібно визначити його для SoftwareSerial.
Таким чином, за допомогою SoftwareSerial я зміг надсилати дані з ATtiny безпосередньо на штифт TX мого Arduino UNO, на якому для цього тесту було завантажено порожній ескіз. Я використовував послідовний монітор програмного забезпечення Arduino для читання даних про COM4 (у моєму випадку), оскільки мій ПК не розпізнав жоден пристрій (COM-порт), оскільки я намагався підключити запрограмовану ATtiny безпосередньо на USB-кабель.
На жаль, у Serial Monitor з'явилися лише дивні символи unicode. Я думаю, це тому, що дані у шістнадцятковому форматі. Тож я помітив, що мені потрібно підключити USB / послідовний перетворювач між USB та ATtiny45 ... Я шукав такі перетворювачі, але я не хочу використовувати будь-які заздалегідь зроблені плати, оскільки я хочу всіх мої компоненти на одній дошці. Я думаю, що мікросхем FTDI був би занадто "сильним" для мого проекту, чи не так? (У нього занадто крихітні шпильки для пайки ...)
Тоді V-USB був моїм другим підходом, оскільки йому не потрібен USB / послідовний перетворювач (як я знаю). Тому для використання V-USB мені потрібно використовувати AVRDUDE, як я вже згадував раніше.
Я знайшов цей приємний приклад V-USB EasyLogger . Він містить схему конструкції та приклад прошивки. (C / C ++ / HEX)
Єдине, що я хочу знати: це мені дійсно потрібно, щоб моя схема виглядала так, як показано в прикладі? ->
Що ще мені потрібно знати про цей USB-з'єднання? (Для чого мені потрібен USB / послідовний перетворювач? Чи можу я просто підключити +5 та VCC? Які компоненти мені абсолютно потрібні? Який сигнал мені потрібно надсилати через TX? Біти? Hex? Яке напруга для цього потрібно бути ? )
Дякую за всі ваші відповіді.
ОНОВЛЕННЯ
Ось додаткові посилання, які дійсно допомогли мені в деяких моментах. Але я все ще не зрозумів це повністю ...
перший -> http://www.ernstc.dk/arduino/tinycom.html
а друге -> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino (прокрутіть униз до розділу "Послідовний вихід")