Qtouch mit ADC Rotor

OP #2839843
Lesenswert?

Hi Leute,
da es hier im Forum nicht sehr viel bezüglich Qtouch mittels ADC gibt, 
dachte ich mir ich poste hier vielleicht einfach mal, zumindest bei mir, 
funktionierenden Code. Außerdem habe ich eine Platine mit einem Rotor 
geätzt (nur mit Edding per Hand schnell :) ) um das auch mal 
auszuprobieren.
Da ich zur Qtouch Lib auch nicht viel gefunden habe, möchte ich hier 
gerne auch meinen Code zum Rotor posten und würde mich freuen wenn mir 
jemand Tipps geben kann/will wie man den Code eventuell vereinfacht oder 
verkürzt.

Vielleicht hätte auch jemand Lust eine kleine Lib/Framework zu erstellen 
für Qtouch mit ADC...

Hier der Code für reines Auslesen des ADC Wertes eines Qtouch Button. 
Ich habe 1K als Widerstand in Reihe zum Button...
1
for (int i=0; i<16; i++){       //16 Messungen für Mittelwertbildung
2
    DDRF = 0xFF;                //PortF auf Ausgang setzten
3
    PORTF = 0b00000001;          // PINF0 auf High um CS zu laden und PINF1 auf LOW um Sample & Hold Kondensator(Cs&h) entladen zu können
4
    delayMicroseconds(5);        // kurz warten bis geladen
5
    ADMUX = (ADMUX & 0b11100001) | (1<<MUX0); //ADC Kanal ändern um Cs&h zu entladen
6
    ADCSRA |= (1<<ADSC);          // ADC Cs&h entladen
7
    while(ADCSRA & (1<<ADSC)){  }
8
    adc0 = ADC;                  //speichern um nachher zu überprüfen
9
    DDRF = 0x00;                  //Port auf Eingang
10
    PORTF = 0x00;                  //Tristate
11
    ADMUX = (ADMUX & 0b11100000);  //Wieder ADC0 Kanal wählen
12
    delayMicroseconds(5);          //warten?! geht auch ohne...
13
    ADCSRA |= (1<<ADSC);            //Messung
14
    while(ADCSRA & (1<<ADSC)){  }
15
    adc1 = ADC;
16
    adc2 += adc1;                  //Mittelwertbildung
17
  }
18
  adc2 /=16;
Wie man an der delayMicroseconds erkennt, habe ich das alles in der 
Arduino IDE ausprobiert, funktioniert eindwandfrei...
Im Anhang eine C-Datei mit dem Code um einen Rotor (wie auf dem Bild im 
Anhang) auszuwerten...

Vielleicht kann ja jemand was mit dem Code für seine Projekte anfangen.

MfG Waldemar
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren