Forum: Mikrocontroller und Digitale Elektronik PC USB Signal an µC


von Ava A. (avadis)


Lesenswert?

Hallo zusammen,
Es soll ein USB Signal an meinen ATMega32 gesendet werden und 
dementsprechend verarbeitet.

beispiel: Ich will mit Java ein Programm schreiben, und klicke auf 
Button1, nun soll P0 = true; Button2 = P1 = true ... usw.
Ich habe mir schon USB Parallel Wandler angeschaut, weis aber nicht wie 
das ganze funktioniert, bzw. ob es möglich ist über solche Wandler zu 
sagen am LPT Ausgnag, soll Pin17 = true für 2sekunden oder sowas...

Dannke für die Denkzellen

von Kai S. (kai1986)


Lesenswert?

Hallo,

mit den USB-UART ICs von FTDI ist das recht einfach machbar. Treiber für 
den PC wird von FTDI mitgeliefert und du bekommst für den USB Anschluss 
einen virtuellen COM Port, den du dann einfach aus deiner Software 
heraus ansteuern kannst.

Gruß Kai

von Tachen (Gast)


Lesenswert?

Oder den UC gleich ganz weg lassen und nur den richtigen FTDI verwenden. 
Wenn Du da nicht den VCP Treiber sondern den D2xx Treiber verwendest, 
kannst Du direkt die Portpins des FTDI Chip steuern ;-)
Manche haben damit schon einen low cost ISP Programme o.ä. gemacht.

von Quarzi (Gast)


Lesenswert?

Tachen schrieb:
> Oder den UC gleich ganz weg lassen und nur den richtigen FTDI verwenden.

Oder den FTDI weglassen und nur den UC verwenden. :-)

Hier ist ein Schaltungsbeispiel:
https://guloshop.de/shop/USB-TTL-ADC-PWM-Signalwandler:::10.html

Kannst du nachbauen, ist Open Source.

von Ava A. (avadis)


Lesenswert?

Ok, das liest sich ganz gut.
wenn ich jetzt nur den µC verwenden würde ohne FTDI müsste ich den aber 
ja entsprechend Programmieren, das er die USB Signale richtig 
interpretiert, das er weis das z.B. P0 = True
Ich weis nicht so recht wie das USB Signal aufgebaut ist, bzw. weis ich 
auch nicht, wie schnell die Taktrate ist und ob der µC da mithalten 
kann?!
Wäre Natürlich ne günstigere Lösung?!

Aaargh :D


Wenn ich die FTDI Lösung wähle ist dieser ja vorprogrammiert. Ausgang 
wäre UART, welcher der µC ja interprätieren kann, und nach meinem Code 
entsprechend reagiert. Wäre glaube ich einfacher, aber teurer?!

Richtig?!

EDIT:
https://guloshop.de/shop/USB-TTL-ADC-PWM-Signalwandler:::10.html
ist zwar ganz nett brauche aber 5 Bit :p

von Thinkable (Gast)


Lesenswert?

Man nutze die gegebenen Hinweise und Suche ein wenig.

uC weglassen, FTDI verwenden, über den D2XX Treiber informieren und das 
ganze direkt mit Java ansteuern ?

http://sourceforge.net/projects/ftd2xxj/

von Tachen (Gast)


Lesenswert?

Was für ne maximale Frequenz?
Was willst Du genau mit machen?
Nur ein paar LEDs/Relais ein und aus schalten?
Oder Pwm?
Ein Protokoll?

von Lothar (Gast)


Lesenswert?

Am einfachsten wäre es einen MC zu nehmen, der im ROM USB Treiber hat, 
also Communication Device Class (CDC), Human Interface Device (HID), 
Mass Storage Device (MSC). Dann kann man vom PC aus über ein API alles 
machen. Für Java z.B.:

http://code.google.com/p/javahidapi

Ich nehme die hier, funktionieren einwandfrei:

http://www.watterott.com/de/LPC1343-QuickStart-Board
http://www.watterott.com/de/LPC1347-LPCXpresso

von Ava A. (avadis)


Lesenswert?

Ich habe eine Funk Fernbedinung mit der ich Steckdosen Empfänger 
schalten kann (8 Stück). Die FB hat 4 Ein/Aus Schalter und 6 Kanäle, 
also 4x6=30 Mögliche Schaltzustände.
Über einen kleinen Touchbildschirm, möchte ich über eine Java Software 
mit einem MiniPC den µC via USB ansteuern, der über einen Treiber die FB 
ansteuert, welche ein Funksignal an die Empfänger gibt.
Dort können dann Kleinigkeiten oder Licht vor der Türe und ähnliches 
gesteuert werden.
Ich bin mir sehr sicher das ich sowas realisieren kann. Zwar KÖNNEN auch 
mal Fehler beim Funksignal auftauchen, ist aber bis heute in den letzen 
Jahren noch nicht passiert, daher meine zuversicht.

von PittyJ (Gast)


Lesenswert?

Nimm einen Arduino (Ok, ist verpöhnt hier), der hat die USB-Wandlung 
schon eingebaut. Ich mache damit etwas ähnliches, und ich mußte an Hard 
und Software kaum etwas ergänzen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.