Hallo, ich bin neu hier und habe sofort eine Frage. Ich bin noch ein blutiger Anfänger , und mein Problem ist die Programmierung in C... Ich arbeite zur Zeit mit einem Atmega8 Mikroprozessor, und habe bereits eine Platine zusammengebaut und ein Paar Taster und LEDs programmiert. Jetzt weiss ich aber nicht wie ich einen Schiebepoti für Volumen (Sound) programmieren soll. Das ist anders als Taster programmieren.... Gibt es vielleicht irgendwo Anleitungen dafür? oder fertige Codes die ich mir anschauen könnte? ich habe nichts im Internet und der SuFu gefunden... ich wäre sehr dankbar für ein Paar Hinweise ! MfG Erik
Du willst mit deinem Mega8 die Lautstärke regeln? - Der Sound wird vom Mega8 erzeugt - Der Sound kommt von sonstwoher - Oder: Du willst nur die Stellung des Potis auslesen? http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#ADC_.28Analog_Digital_Converter.29
Ja, ich wollte so eine Art Kontroller für einen Aufnahmegerät/mini Mischpult für Midi machen. d.h. der Sound kommt von Ausserhalb. Der Schieberegler soll die Lautstärke regeln...
Wenn man bloss wüsste, um welchen "Schiebepotentiometer" es sich handeln täte... einen mit Digitaleingang, einen mit Analogeingang, einen mit einem Bus, serieller Bus, vielleicht I2C oder RS232, einen mit Motorantrieb...
..soll ein analoges signal geregelt werden ..?? sollen MIDI protokolle erzeugt werden.. ??
Danke schon mal für die Antworten ! ich habe mich lange nicht gemeldet, habe aber schon ein wenig zu diesem Thema rausgefunden. Ich habe eine Platine mit jeweils einem MIDI IN und einem MIDI OUT Ausgängen und 4 Tastern. Dazu würde ich noch externe Platine bauen die unter anderem einen Schiebepoti enthält. MIDI Protokolle müssen nicht erzeugt werden. So wie es aussieht muss ich einen ADC benutzen um den Signal vom Poti zu bekommen, im C-Quellcode sieht es so aus: poti = read_adc(0); // Pin ADC0 nun wie bekomme ich den Wert des Potis (der sich ja ab und zu ändert) in den MIDI Ausgang (PIN TXD bzw. PD1)? Gibt es vielleicht vergleichbare Beispiel-Codes oder Tutorials mit Anwendung von ADC?
Erik Hansen schrieb: > Ich habe eine Platine mit jeweils einem MIDI IN und einem MIDI OUT > Ausgängen und 4 Tastern. Dazu würde ich noch externe Platine bauen die > unter anderem einen Schiebepoti enthält. MIDI Protokolle müssen nicht > erzeugt werden. Doch, das werden sie wohl müssen. OK, nicht direkt erzeugt, aber die Midi Daten, die über MIDI IN reinkommen, werden mit einer neuen Lautstärke modifiziert werden müssen, ehe sie dann über MIDI OUT wieder rausgehen. > So wie es aussieht muss ich einen ADC benutzen um den Signal vom Poti zu > bekommen, im C-Quellcode sieht es so aus: > > poti = read_adc(0); // Pin ADC0 Klingt schon nicht schlecht. > nun wie bekomme ich den Wert des Potis (der sich ja ab und zu ändert) in > den MIDI Ausgang (PIN TXD bzw. PD1)? Genau das meinte ich. Ohne das du anfängst dich in MIDI einzulesen, wird das dann wohl nichts werden. > Gibt es vielleicht vergleichbare Beispiel-Codes oder Tutorials mit > Anwendung von ADC? Dein Problem ist nicht der ADC. Dein Problem lautet: MIDI! Du musst die eingehenden MIDI Nachrichten lesen können, musst die Lautstäke Befehle rausholen können, musst mit diesen Werten (+ der Poti Stellung) neue Lautstärke Befehle generieren und diese dann in den laufenden MIDI Stream einflechten. Dazu musst du aber verstehen, was über den MIDI Kanal an Befehlen läuft und wie das funktioniert.
Erik Hansen schrieb: > nun wie bekomme ich den Wert des Potis (der sich ja ab und zu ändert) in > den MIDI Ausgang (PIN TXD bzw. PD1)? Aaaaargh! Tu Dir einen großen Gefallen und lern erst mal eine Led zum Blinken zu bringen, dann liest Du deinen Poti ein und versuchst damit eine LED zu dimmen (hell und dunkel zu regeln). Und wenn Du das kannst dann lese mal WAS Midi IST? Und dann meldest Du Dich wieder hier.
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.