AVR Keypad mit Widerstandsmatrix ADC AnyKey abfragen

OP #1661374
Lesenswert?
• ▲
▼
Hallo alle zusammen,

ich hab mal wieder eine Frage. Ich habe ein Keypad ein einem ATmega32 
angeschlossen, kann dieses auch über ADC auslesen. Funktioniert alles 
supi. Nun möchte ich aber noch den ATmega32 in den Sleep-Mode schicken. 
Und dieser soll dann aufwachen, wenn eine Taste Gedrückt wurde.

Ich dachte, dass man dafür einen NPN nehmen kann und dieser Schaltet 
dann die 5V auf den Int0 um den µC wieder zu wecken wenn eine Taste 
Gedrückt wurde. Die Basis des NPN hätte ich auch an ADC0 mit 
angeschlossen und einen 1,2k Widerstand davor gemacht. Dann dachte ich, 
dass die ersten Tasten vielleicht nicht den Interrupt auslösen, da die 
0,7V nicht überschritten sind, aber die späteren dann schon. Wäre nicht 
so schön aber dachte ich Funktioniert erst mal.

Dies ist aber nicht wirklich der Fall. Durch das anschließen verändern 
sich auch die Werte die am ADC anliegen.

Nun meine Frage, wie macht man das besser? Ich möchte ja nicht unbedingt 
die Werte von ADC anpassen, vor allem weil diese nun nicht mehr 
Aufsteigend sind, sondern ab und zu springen. (Ich denke weil der 
Transistor immer besser Leitet, oder?)
Angehängte Dateien:
OP #1661606
Lesenswert?
• ▲
▼
Hi,

ok, scheinbar habe ich eine Lösung...
ich habe einfach den ADC direkt mit dem INT0 verbunden, den Interrupt 
folgendermaßen aktiviert:

1
DDRD &= ~(1<<PD2);   //eingang (INT0), ohne Pullup-Widerstand
2
MCUCR = (1<<ISC11)|(1<<ISC10);
3
sei();

Der Interrupt reagiert auch bei meinem kleinsten ADC-Wert, also sogar so 
wie ich wollte...

ist daran irgendwas falsch oder anderes zu realisieren??
Vielen Dank schon mal...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.