PC'ye USB üzerinden veri gönderen bir ATtiny45 kullanarak kendi modüler USB cihazımı yapmak istiyorum . Veri okumuyorum, bu yüzden tek yönlü (ATtiny -> PC) bağlantı tamamen iyi olurdu.
Arduino Yazılımı içinden standart ArduinoISP taslağı ile ISP olarak Arduino Uno kullanıyorum . Ben Arduino Programlama Langue daha gelişmiş olduğundan HEX için derlenmiş C kodu kullanabilmek istiyorum çünkü ATDiny45 ISP olarak ATtiny45 programlamak için AVRDUDE kullanmayı düşünüyorum.
Devrenin temel düşünceleri:
Gördüğünüz gibi, "doğrudan" bir USB bağlantısı istiyorum. Şimdiye kadar bunun için yazılım tabanlı bir çözüm kullanmam gerektiğini biliyorum.
Ben başardınız SoftwareSerial benim ATtiny45 ile çalışmak için. Bunun için aşağıdaki kodla ATtiny45'i Programlamak için Arduino Yazılımını kullandım:
#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); }
Lütfen Pin 3'ü (henüz) kullanmadığımı ancak SoftwareSerial için tanımlamam gerektiğini unutmayın.
Bu şekilde, SoftwareSerial kullanarak, ATtiny'den doğrudan bu test için üzerine boş bir çizim yüklenen Arduino UNO'nun TX pinine veri gönderebildim. Bilgisayarım programlanmış ATtiny'yi doğrudan bir USB kablosuna bağlamaya çalıştığım için COM4'teki verileri (benim durumumda) okumak için Arduino Yazılımının Seri Monitörünü kullanıyordum.
Ne yazık ki Seri Monitörde garip unicode karakterler var. Bence veri onaltılık biçimde ya da öylesine. Bu yüzden USB ve ATtiny45 arasında bir USB / Seri Dönüştürücü bağlamanız gerektiğini fark ettim ... Bu tür dönüştürücüler aradım, ancak önceden istediğim panoları kullanmak istemiyorum, çünkü hepsini istiyorum bileşenlerim tek bir kartta. Bence bir FTDI yongası projem için çok "çok" olurdu, değil mi? (Lehimlemek için çok küçük pimler var ...)
V-USB benim ikinci yaklaşımımdı, çünkü bir USB / Seri dönüştürücüye ihtiyaç duymadığı için (bildiğim gibi). V-USB kullanmak için AVRDUDE kullanmalıyım.
Bu güzel örneği V-USB EasyLogger buldum . Bir devre tasarımı ve örnek ürün yazılımı içerir. (C / C ++ / HEX)
Bilmek istediğim tek şey: Devremi örnekte gösterildiği gibi göstermem gerekiyor mu? ->
Bu tür USB bağlantısı hakkında başka nelere ihtiyacım var? (Neden bir USB / Seri dönüştürücüye ihtiyacım var? Sadece +5 ve VCC'yi bağlayabilir miyim? Kesinlikle hangi bileşenlere ihtiyacım var? TX ile ne tür bir sinyale ihtiyacım var? Bit? Hex? Hangi voltaj gerekiyor olmak ? )
Tüm cevaplarınız için teşekkürler.
GÜNCELLEME
İşte bazı noktalarda bana gerçekten yardımcı olan bazı ek bağlantılar. Ama hala tam olarak anlamadım ...
ilki -> http://www.ernstc.dk/arduino/tinycom.html
ve ikincisi -> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino ("Seri Çıktı" bölümüne gidin)