Hallo...... Ich habe demnächst vor in meinem nächsten Projekt den AT42QT1070 im Commsmode zu verwenden. Bei den Register hatte ich dann ein paar Fragezeichen über dem Kopf schweben. Adresse 3 - KeyStatus ist klar, und diesen werde ich wahrscheinlich auch nur verwenden (abgesehen von der initialisierung) Aber was genau soll "KeySignal" und "ReferenceData" sein? Und warum haben die pro Key 16bit? Über I2C mach ich mir weniger Gedanken, da ich den Bus schon bei anderen Bauteilen erfolgreich verwende. Obwohl ich im Forum schon gelesen habe daß die 400kHz, wie im Datenblatt beschrieben, nicht so richtig funktionieren. btw.: Ich programmiere in Assembler und wäre froh wenn ich für den qt1070 Beispiele finden würde..... (die Kristallgoogle wirft nichts brauchbares raus) Danke im Vorraus. Andre
Hat denn niemand bis jetzt damit gearbeitet/entwickelt ?
Hallo Andre hast du was passendes gefunden zum AT42QT1070? Leider ist im Nez nicht viel zu finden. achim
Gast
#4521146
Ich han jetzt erst mal welche bestellt.... Dann heisst es eben...learning by doing...... Naja.... jetzt über Ostern plane ich erst mal die Platine...
Platine ist fertig und bestückt Das mit leaning by doing klappt nicht so richtig. Finde kein Punkt um zu beginnen achim
Hallo, schau dir mal Kapitel 4.2 aus diesem Dokument an, vielleicht wird es dann klarer: www.atmel.com/images/qtan0062.pdf Es ist die Application Note QTAN0062 von Atmel zum Thema Q-Touch: "QTouch and QMatrix Sensitivity Tuning for Keys, Slider and Wheels" Gruß, Alex
Gast
#4521164
also ist schon was her wo ich damit rumgespielt habe. In Adresse 3 kann man nur 1 oder 0, also ob das Pad berührt wird oder nicht, auslesen. In dem Register Keysignal kann man noch die aktuelle "Kapazität" ablesen. Sprich man kann entweder den Fingerprint über Register 3 auslesen oder man ließt das Keysignal aus und setzt selber Schwellen in dem Mikrokontroller-Programm. In dem Register "Referencedate" wurde soweit ich weiß die gemessene Kapazität, die nach dem Reset/Start vorhanden war, abgelegt. Damit hat der QT ein Vergleichswert zum aktuellen Ergebnis und kann entscheiden wann die Schwelle von einer 0 zur 1 überschritten wird.
Hallo Alex habe mir das genannte Teil angesehen. Dabei geht es ja um das Prinzip, wie so ein Sensor funktioniert. Auf meinem Brett hatte ich aufgebaut und probiert. Selbsz bei diesen fliegenden Aufbau ging es ohne Probleme (mal mehr, mal weniger). Mich interessiert aber besonders der AT42QT1070 mit I2C Bus. Der eignet sich besonders zum Einsatz in mein System. Habe mir auch Teile des Datenblatts durchgelesn und übersetzt und bin jetz am probiern wie es geht. Leider ohne jeden Erfolg bisher. Suche deshalb nach Info dazu achim
Gast
#4521281
was geht denn nicht? die busverbindung? der zugriff auf die register?
Würde sagen fast alles geht nicht. Was für Register habe ich und welche Werte kann ich damit setzen? kann ich die Empfindlichkeit durch andere Angaben im register verändern? Wie lese ich sie aus? Habe versucht wie bei den anderen über I2C start usw. es zu machen, klappt nicht. In welchen Registern lese ich aus? Da ich 7 Pads habe, habe ich 7 Werte auszulesen. Kann ich diese so weiter verarbeiten wie bei den PCF .. ? Sorry für die vielen Fragen. Lieber eine frage mehr als zu wenig achim
Habe es bei dem PCF 8591 so gemacht:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
- Starte damit den Bus - übertrage die Schreib Adresse - Sop den Bus - Starte den Bus - Sende lesen - lese die 4 Register aus und schreibe sie in results [..] (Adresse muss geändert werden) Damit kann ich die Werte weiter verarbeiten achim
Muss noch mal fragen. Nach den Datenblatt vom AT42QT1070, Seite 15 Tabelle 5-1, in den Adresse 4 bis 17, sind die Werte von Key Signal 0 bis 6 drin. Jeder Wert besteht aus einem oberen und einem unteren Byte (msb/lsb)
1 | |
2 | |
Beide Daten zusammen
1 | |
2 | |
Ist das so richtig? achim
Eine Kontrolle ob der IC QT da ist:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
Im Datenblatt des QT wird die Adresse 0x1B angegeben. Von Spess stammt der Hinweis, das das falsch ist. Verwende ich 0x36, bekomme ich keine Fehlermeldung. Wie kann ich die Adressen auslesen? achim
Hat keiner eine Idee dazu?
Habe es gelöst. Steht in einem anderen Teil achim
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.