Hallo, Ichbin grad an einem Projekt und zwar will ich mir e-drums bauen ... ich habe bereits platinenlayout fertig wo ich Piezo-Elemente mit einer transistorschaltung als taster benutze.. (Ich benutze einen USB To TTL UART Wandler.) also hardwaremäßig ist alles gut.. Ich schaff es z.b. mit visual basic am atmega etwas zuschalten ( Z.B. LED ) aber andersherum nicht.. Ich möchte es schaffen dass ich dann diese taster "Drücke" am Atmega als sound in VB2008 ausgeben will Und meint ihr es gibt eine große verzögerung zwischen tasterdruck und sound von VB ?? Schonmal danke (: (Und Sorry für Rechtschreibfehler) Mfg Sebastian
Sebastian M. schrieb: > [...] > also hardwaremäßig ist alles gut.. > > Ich schaff es z.b. mit visual basic am atmega etwas zuschalten ( Z.B. > LED ) aber andersherum nicht.. Woran genau scheitert es bei dem "andersherum" denn? Und wie genau funktioniert das Zuschalten bereits? > [...] > Und meint ihr es gibt eine große verzögerung zwischen tasterdruck und > sound von VB ?? Davon musst Du ausgehen. Bei vielen USB-Wandlern lassen sich FIFO und andere Puffer nicht mal deaktivieren. An Deiner Stelle wuerde ich mich mal in Richtung MIDI-Interface schlau lesen... Volker
Also andersherum .. ich kann mit VB 2008 schon mit dematmega connecten und über buttons leds aus und an schalten .. aber ich möchte einen taster an atmega8 anschließen und in vB einlesen und sound ausgeben Ps der wandler hat den chipsatz cp2102
Volker Schulz schrieb: > Davon musst Du ausgehen. Bei vielen USB-Wandlern lassen sich FIFO und > andere Puffer nicht mal deaktivieren. An Deiner Stelle wuerde ich mich > mal in Richtung MIDI-Interface schlau lesen... Das wird allgemein sehr sportlich werden. Selbst Midi hat Latenzen im ms-Bereich (Hörbar). Sebastian M. schrieb: > Also andersherum .. ich kann mit VB 2008 schon mit dematmega connecten > und über buttons leds aus und an schalten .. aber ich möchte einen > taster an atmega8 anschließen und in vB einlesen und sound ausgeben Du musst deine Daten vom Atmega zum PC senden.
Ja aber wie SerialPort1.Read ? Mit wie viel verzögerung muss ich rechnen .. Link von Wandler: http://www.ebay.de/itm/USB-2-0-to-UART-TTL-6PIN-Module-Serial-Converter-CP2102-/370532286388?pt=PCC_Drives_Storage_Internal&hash=item564571ffb4 Edit: oder mit Print schicken und einlesen und vereibeten lassen mit VB ?
Sebastian M. schrieb: > Ja aber wie SerialPort1.Read ? Ja würde gehen. Nur dass SerialPort1.Read das ganze Programm blockiert. Nimm ein Event dafür. Und ich würde dir trotzdem Midi empfehlen, da du die Software am PC dann nicht mehr schreiben musst. Einfach deinen Avr Midifähig machen und an den PC anschließen.
Das mit dem midi versteh ich ned ? also gleich ohne ttl wandler an pc ? oder wie ? (Bin VB2008 Neuling.. weis so gut wie nix)
http://de.wikipedia.org/wiki/Musical_Instrument_Digital_Interface Mit Midi brauchst du am PC nichts mehr zu programmieren.
Was für ein gerät kansnt du mir z.b. empfehlen ( vielleicht nicht so teuer.. und wie schließt mann soetzwas am µC an ^^) ( Sowas ist das doch odeR ? http://www.megadrum.info/ ) Is das dann so wie ein DrumModul ? Wenn ich das richtig vertsanden hab dann misst das dann auch die stärker des singales ? ( Würde ja auch mit mehreren Atmega8 gehen oder ? weil Die Piezo elemente erzeugen strom ... und mehr um so stärker man es "antippt".. Hald an ADC anschließen .. aber da wird die Software zur qual ^^)
aber was denkst du wie lange es dauer wird das vb den sound apspielt .. also von Piezo Element -> Transistor -> Atmega8 -> USB to TTL UART -> VB2008 ????
Sebastian M. schrieb: > aber was denkst du wie lange es dauer wird das vb den sound apspielt .. > also von Piezo Element -> Transistor -> Atmega8 -> USB to TTL UART -> > VB2008 ???? Wie schon angedeutet, befuerchte ich dass die Latenzen weder bestimmbar noch konstant sind... Volker
Die schnelligkeit hat was mit Baud Rate zu tuhn oder ? Aber das mit verzögerung is eigentlich ein kleines problem .. dass soll nur ein test sein.. mich interresiert es hauptsächlich wie ich mit atmega8 an pc senden kann und mit vb empfangen .. (Dadurch kann ich dann auch Z.b. extra pad für pc bauen)
Volker Schulz schrieb: > Wie schon angedeutet, befuerchte ich dass die Latenzen weder bestimmbar > noch konstant sind... Bei Midi müssten sie konstant sein. Ein Midigerät senden die Mididaten über den gameport. Das kann dein Atmega machen. Du brauchst keine zusätzlichen ICs. Am Computer wird über die Systemsteuerung der Gameport als MidiIn eingestellt. Sebastian M. schrieb: > mich interresiert es hauptsächlich wie ich mit > atmega8 an pc senden kann und mit vb empfangen Sag das doch gleich und nimm dir kein riesenprojekt vor. Sende ein paar Bytes per Uart und empfange sie erstmal mit einem UartTerminal, dann per VB.
gibt es sowas wie eine probeschaltung wo ich vvergrößern kann für mein aufbau... ?? ich brauch nähmlich 7 signale Ja dann mal ende mit dem Midi thema XD ^^ Ehm Wie verschick ich Bytes Via. Uart .. des is mei erstes projekt .. sonst habe ich nur mit attiny2313 oder den attiny13 ganzz wenig gearbeitet
Sebastian M. schrieb: > Die schnelligkeit hat was mit Baud Rate zu tuhn oder ? Nicht ausschliesslich. > [...] mich interresiert es hauptsächlich wie ich mit > atmega8 an pc senden kann und mit vb empfangen [...] Beides geht noch nicht? Benutz auf PC-Seite erst mal ein Terminalprogramm bis das Senden vom µC funktioniert. Dann kuemmerst Du Dich um die VB-Seite (Schau Dir die Events des SerialPort-Objekts an). Samuel K. schrieb: > Volker Schulz schrieb: >> Wie schon angedeutet, befuerchte ich dass die Latenzen weder bestimmbar >> noch konstant sind... > > Bei Midi müssten sie konstant sein. Ja, aber dahingehend ist der TO ja (noch) beratungsresistent. ;) Volker
Soll ich das dann mit dem Print befehl und z.b. dem terminal von Bascom probieren ? ( kann ich für diesen versuch auch einen attiny2313 benutzen.. atmega8 kommt erst die tage ) Und muss ich dann Den µC und den wandler so anschließen ? Computer µC =================== TX ---------> RX RX <--------- TX GND ---------- GND ##################################### $regfile = "M8def.dat" $crystal = 1000000 $hwstack = 100 $swstack = 100 $framesize = 100 $baud = 4800 ( ist glaube ich maximum von Dem wandler ) Print "Hallo" End ####################################
4800 ist mit Sicherheit nicht das Maximum vom "Wandler". Aber von der Fehlerabweichung her der höchste bei 1MHZ. Takte den Mega8 auf 8 MHZ, dann kannst Du mit 38400 senden, was ein guter Wert ist. Den virtuellen ComPort, bzw das Terminalprogramm (oder Dein VB Programm) musst Du dann auf auf 38400 stellen. Unter VB6 sind da kaum spürbare Verzögerungen vom Senden bis zum Empfang. Wenn Du "schnell" eine MP3 Datei abspielen möchtest, wenn der entsprechende Befehl kommt, kannst Du die Datei schon in den Puffer laden, sodass diese dann nur noch aus diesem wiedergegeben werden braucht. Dafür eignet sich MCI oder auch die BASS.DLL. Unter VB2008 kann es zu etwas größeren Verzögerungen kommen, da das .NET Framework etwas umfangreicher ist und erst geladen werden muss. Meist ist nur der erste Vorgang verzögert, spätere laufen gefühlt schneller los. Dafür würde ich einfach mal in einem Visual Basic Forum stöbern. Die Frage brauchst Du eigentlich nicht stellen, sondern nur die Suche anwerfen und die Lösungsvorschläge ansehen. MIDI kannst Du fast vergessen, kaum ein aktueller PC hat noch eine Soundkarte mit analogen 15 poligem Joystick Anschluß, welcher dann auch gleichzeitig als MIDI Schnittstelle dient.
Peter R. schrieb: > Unter VB6 sind da kaum spürbare Verzögerungen vom Senden bis zum > Empfang. [...] > Unter VB2008 kann es zu etwas größeren Verzögerungen kommen, da das .NET > Framework etwas umfangreicher ist und erst geladen werden muss. Meist > ist nur der erste Vorgang verzögert, spätere laufen gefühlt schneller > los.[...] Das ist beides nicht ganz richtig. Es gibt einfach zu viele Layer (bzw. "Zwischenstationen") zwischen µC und PC-Applikation, deren Latenzen nicht vorhersagbar sind, insbesondere beim Einsatz von USB-Seriell-Wandlern und deren Treibern. Selbst wenn man es schafft die Schnittstelle auf Kernel-Level anzusprechen, koennte immernoch der FIFO im Wandler Probleme machen. Mit einer echten seriellen Schnittstelle haette man dann evtl. noch eine Chance, aber keinesfalls eine Garantie. Und das kann man auch niemandem zum Vorwurf machen, weil die Schnittstelle (im Gegensatz zu MIDI) fuer solch eine "Real-Time-Uebertragung" nie vorgesehen war. Dein Beispiel mit der MP3-Datei funktioniert auch nur so lange, wie Du schon "nachlaedst" und pufferst (was aber bei einem Drum-Pad nicht ginge). > [...] > MIDI kannst Du fast vergessen, kaum ein aktueller PC hat noch eine > Soundkarte mit analogen 15 poligem Joystick Anschluß, welcher dann auch > gleichzeitig als MIDI Schnittstelle dient. Naja, MIDI ist genau das, was er eigentlich sucht. PCI-Soundkarten mit MIDI-Port gibt es schon im einstelligen Euro-Bereich. Ebenso USB-MIDI-Wandler. Letztere haben dann im allgemeinen keinen "Joystick-Port" sondern je einen DIN-Stecker fuer MIDI-IN und -OUT. So schnell wird die Schnittstelle auch nicht aussterben, da sie immer noch die Schnittstelle zum Anschluss von Musik-Equiptment ist. Hinzu kommt, dass ein anstaendiges Drum-Pad mehr als 1 und 0 pro Schlag uebertragen sollte (um z.B. die Staerke des Schlags zu uebermitteln). Wenn man dann auf dem µC noch ADC-samplen muss um die Daten dann digital ueber die serielle Schnittstelle zu schieben, ist das Chaos wohl komplett. ;) Ich wuerde dem TO aber durchaus an's Herz legen, das alles auch mal mit der seriellen Schnittstelle zu probieren und ausfuehrlich zu messen. Geht ja bekanntlich ueber studieren... Vielleicht erst mal Tx und Rx auf der TTL-Seite verbinden und in VB(.NET) die Latenzen eines Echos messen. Nur um ein "Gefuehl" fuer die (Un-)Moeglichkeiten der Schnittstelle zu bekommen... Volker
Ja dann bestell ich mir nächstes wochende wenn Vater daheim is bei cornad einen atmega8 lass einen print befehl über den wandler via taster schicken und schau mal ob es verzögerungen gibt.. bei z.b. zu schnellen "schlägen" hintereinander... wenn ich dann ned grad ne verzögerung von 0,5 sekunde hab dann is es mal ok ^^ Ehm Notfalls bau ich es mit 6,3klinkebuchsen und verkaufs für 50 euro in ebayals billig drumodul ^^ .. Spaß ^^ Die sound daten sind Microsoft Wave Soundformat
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.