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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.