Forum: Mikrocontroller und Digitale Elektronik Kommunikation ueber Soundkarte


von Mic (Gast)


Lesenswert?

Hallo,

ich bin jetzt seit 4 Wochen euphorisch als Neueinsteiger
am Thema uC und Elektronik.

Ich hab ein begrenztes Set an Material, was ich mir am
Anfang gekauft habe(ahnungslos, drauf los) und werde es in naher Zukunft 
mit
steigender Erfahrung ergaenzen.

Was mir zur Zeit aber wichtig waere, waere eine Kommunikation
zwischen meinem ATtiny13 und dem Computer(oder mir), ich haette
gerne Ergebnisse und Variablen ausgelesen.

Und soweit ich mich bisher informiert habe, kann ich UART
damit gar nicht nutzen? Ich hab jedenfalls auch noch kein
USB=>seriell Wandler und soweit ich verstanden hab brauchts
auch noch einen Quarz als Taktgeber, den hab ich auch nicht...

Daher war eine Idee von mir jetzt einfach ueber Klinke
Signale seriell an meine Soundkarte zu senden und das auszuwerten.
Ist das eine recht bescheidene Anfaengeridee oder machbar?

Ich weiss nicht so recht wie ich da rangehen soll,
krieg ich ueber Widerstaende die richtige Signalstaerke hin,
sodass meine Soundkarte nicht abraucht?



lg Mic

von Peter II (Gast)


Lesenswert?

Mic schrieb:
> Und soweit ich mich bisher informiert habe, kann ich UART
> damit gar nicht nutzen?
man kann eine UART auch in Software machen, das geht auch mit dem Tiny.

> Ich hab jedenfalls auch noch kein
> USB=>seriell Wandler und soweit ich verstanden hab brauchts
> auch noch einen Quarz als Taktgeber, den hab ich auch nicht...
dann muss man das kaufen was man braucht.

> Daher war eine Idee von mir jetzt einfach ueber Klinke
> Signale seriell an meine Soundkarte zu senden und das auszuwerten.
> Ist das eine recht bescheidene Anfaengeridee oder machbar?
nein, das ist nichts für Anfänger.

Nimm einen größeren Atmel und eine USB-Serial wandler (gibt es billig 
bei ebay 
http://www.ebay.de/itm/USB-TTL-Seriell-Adapter-CP2104-CP2102-Arduino-/291576339112?hash=item43e34ddaa8:g:nQEAAOSwnDxUiT0H 
)

von ;o) (Gast)


Lesenswert?

Natürlich kann man Daten über die Soundkarte einlesen.

Dazu benötigt man aber ein spezielles Programm auf der PC Seite um die 
Daten anzeigen zu können.

Die Elektronikseite ist auch nicht ohne.

Alles in allem ist das Ganze für einen Anfänger nicht gerade einfach.


Ich würde für den Anfang die Daten über das Blinken einer LED ausgeben.
Du könntes die Daten auch in ein Schieberegister schieben und damit 
mehrere LEDs zum Leuchten bringen.

Es gibt zwar auch die Möglichkeit des Software-UART, der ist aber auf 
einem ATtiny 13 nicht so einfach umzusetzen.

Du hast dir mit diesem Mikrocontroller ein nicht ganz so einfaches 
Modell ausgesucht.

Ich hätte an deiner Stelle ein etwas größeres Modell gewählt.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Mit dem, was ein ATTiny zu bieten hat, raucht eine Soundkarte nicht ab, 
die wird höchstens übersteuert. Sicherheitshalber solltest du aber am 
Tiny einen Spannungsteiler (Trimmer) und Koppelkondensator vorsehen - so 
kannst du den Ausgangspegel einstellen und hast keine 
Gleichstromkopplung ...

Aus den Tönen, die eine Soundkarte aufnimmt, mittels einer Software 
irgendwie Bits und Bytes zu decodieren, ist selbstverständlich möglich, 
aber nicht ganz trivial ... wie gut bist du im Programmieren von z.B. 
Delphi oder Java? Weisst du, wie FFT geht?

von Mic (Gast)


Lesenswert?

Alles klar,

dann kommt doch der USB-seriell Wandler auf meine
Einkaufsliste. Einzelne Sachen bestell ich grade eher nicht,
denn dann faellt mir ja doch sehr schnell auf, dass ich noch dieses
und jenes braeuchte.

Ach, ich hab auch nen ATmega8 und 16 rumliegen,
ich wollte sie bisher nur noch nicht benutzen, weil
es mir sinnvoll schien erstmal klein anzufangen.
Ausserdem hab ich mir ein kleines Programmerboard
geloetet und fuer die groesseren Modelle muesste ich
wieder mit Kabeln frickeln zum programmen.

Aber dann noch schnell hinterhergefragt:
Datenuebertragung mit einem Programmer ist nicht moeglich?
Ich hab einen recht guenstigen Diamex usb programmer.

An LED fuer Datenauslese hab ich auch gedacht... nur
sehr muehselig fuer mich ;)

lg Mic

von c-hater (Gast)


Lesenswert?

Mic schrieb:

> Und soweit ich mich bisher informiert habe, kann ich UART
> damit gar nicht nutzen?

Dann bist du falsch informiert. Der Tiny13 hat zwar keine Hardware-UART,
aber man kann ihm eine in Software verpassen. Dazu gibt es mehrere 
Möglichkeiten, vom reinen Pin-Wackeln mit Software-Delays bis hin zur 
professionelle Benutzung der USI-Hardware mit Interrupts.

> Ich hab jedenfalls auch noch kein
> USB=>seriell Wandler

Dann kauf' endlich einen. Am besten gleich einen, der direkt auf 
Logikpegel geht, das spart einen zusätzlichen Pegelwandler á la MAX232.

> und soweit ich verstanden hab brauchts
> auch noch einen Quarz als Taktgeber

Nein, den braucht man nur, wenn man "hohe" Bitraten erreichen möchte. 
Für die ersten Schritte mit dem Ding brauchst du aber keine hohen 
Bitraten, da genügen z.B. 2400 bps völlig.

> Daher war eine Idee von mir jetzt einfach ueber Klinke
> Signale seriell an meine Soundkarte zu senden und das auszuwerten.
> Ist das eine recht bescheidene Anfaengeridee oder machbar?

Auch das kann man machen, allerdings erfordert das eine geeignete 
Codierung der Signale und eine (relativ) aufwendige Software auf 
PC-Seite. Und es wird am Ende sicher nicht schneller als eine 
Software-UART...

Und bei deinem Kenntnisstand ist es ganz sicher sehr viel einfacher für 
dich, einfach eine Software-UART aus dem Netz und einen 
USB-Seriell-Wandler für 5€ zu benutzen...

von Ulrich F. (Gast)


Lesenswert?

Der ATTiny85 hat eine USI, und das gleiche Gehäuse.
Der Preis unterscheidet sich auch nicht soo dolle.

von Mic (Gast)


Lesenswert?

Ulrich F. schrieb:
> Der ATTiny85 hat eine USI, und das gleiche Gehäuse.
> Der Preis unterscheidet sich auch nicht soo dolle.

Ja, die Preise sind grade eh nicht das entscheidenste fuer mich,
das Preisniveau bei den ganzen Sachen finde ich ohnehin sehr niedrig.

Es ist ja eher so, dass man sehr ahnungslos einsteigt
und die Lernkurve eine extrem steile ist.
Und dann hab ich zur Zeit schlichtweg noch nicht den
Ueberblick und es kommen jeden Tag neue, unbekannte
Bauteile auf mich zu.

Aber es wird,
vielen Dank fuer die Antworten!

von Lukas K. (carrotindustries)


Lesenswert?

Mic schrieb:
> Daher war eine Idee von mir jetzt einfach ueber Klinke
> Signale seriell an meine Soundkarte zu senden und das auszuwerten.
> Ist das eine recht bescheidene Anfaengeridee oder machbar?

Ist machbar: https://www.mikrocontroller.net/articles/SOUNDRX

von Thomas S. (thommi)


Lesenswert?

Gehe mal auf http://halvar.at/elektronik/kleiner_bascom_avr_kurs

Da hast du Infos über die Grundausstattung. Ich finde das eine gute 
Seite, um da in die Atmelei einzusteigen.

von Michael U. (amiga)


Lesenswert?

Hallo,

als USB-TTL-Wandler bin ich inzwischen statt FTDI beim CP2102 gelandet.
Wenn man Zeit hat aus China für um 2,00€.
Vorteil ist, daß er 3,3V Pegel nutzt und 5V tolerante Ein- Ausgänge hat.
Man kann also ihne Änderungen zwischen 5V und 3,3V Systemen wechseln.
Treiberprobleme gab es bisher keine mir bekannten.

Man sollte darauf achten, daß er entweder als Arduino-kompatibel 
angeboten wird oder daß man erkennen kann, wie die Stiftleiste 
beschaltet ist.
Es sollten GND, 5V, 3,3V, RxD, Txd und DTR verfügbar sein.
Die 3,3V sind mit 50mA belastbar, allerdings überlebt er auch einen 
ESP8266 an den 3,3V zum Programmieren und auch zum Testen. Würde ich 
aber nicht im Dauereinsatz machen...

Bei Amazon oder ebay nach CP2102 suchen.

Gruß aus Berlin
Michael

von Ulrich F. (Gast)


Lesenswert?

Michael U. schrieb:
> Es sollten GND, 5V, 3,3V, RxD, Txd und DTR verfügbar sein.
> Die 3,3V sind mit 50mA belastbar, allerdings überlebt er auch einen
> ESP8266 an den 3,3V zum Programmieren und auch zum Testen. Würde ich
> aber nicht im Dauereinsatz machen...

Richtig!
Das funktioniert prächtig.
RTS ist auch für den ESP8266(-201) wichtig.

von Stefan F. (Gast)


Lesenswert?

Ich würde dir empfehlen, ein Arduino-Nano kompatibles Modul zu kaufen. 
Kostet weniger oder gleich wie ein USB-UART Kabel.

Da hast du einen ATmega drauf und einen USB USART. Die Arduino Software 
musst du ja nicht benutzen.

Ich sehe keinen Vorteil darin, mit einem möglichst kleinen Chip 
anzufangen. Alle ATtiny und ATmega Controller werden genau gleich 
programmiert. Was du bei einem Chip gelernt hast, kannst du direkt auf 
einen anderen übertragen.

Diese Chip sunterscheiden sich nur darin, dass sie mehr oder weniger 
Features unterstützen. Nicht benutzte Features kann man unbeachtet 
lassen. Deswegen ist das Lernen mit einem "fetten" Atmega1284 genau so 
einfach, wie mit dem kleinen ATtiny13.

> Datenuebertragung mit einem Programmer ist nicht moeglich?

In der Regel nicht. Es gibt welche, die sowohl ISP als auch UART 
Protokoll unterstützen. Die habe ich aber noch nicht verwendet. Der 
Programmer, der mich interessierte, war nicht Linux kompatibel.

von Stefan F. (Gast)


Lesenswert?

Auf Trödelmärkten werden immer noch alte USB-zu-Seriell Kabel von Nokia 
Handies fast verschenkt. Einige davon eignen sich auch für AVR. Google 
mal danach.

von Dussel (Gast)


Lesenswert?

Mic schrieb:
> Datenuebertragung mit einem Programmer ist nicht moeglich?
Begrenzt. Der Controller hat EEPROM, den man mit einem Programmer 
auslesen kann. Das geht aber normalerweise nicht in Echtzeit und nicht 
im Betrieb.

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.