Forum: Compiler & IDEs Schiebepotentiometer programmieren?


von Erik H. (asator)


Lesenswert?

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

von tsag (Gast)


Lesenswert?

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

von Erik H. (asator)


Lesenswert?

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...

von Stefan B. (stefan) Benutzerseite


Lesenswert?

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...

von möööp (Gast)


Lesenswert?

..soll ein analoges signal geregelt werden ..??
sollen MIDI protokolle erzeugt werden.. ??

von Erik H. (asator)


Lesenswert?

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?

von Karl H. (kbuchegg)


Lesenswert?

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.

von U.R. Schmitt (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.