www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Keypad mit Widerstandsmatrix ADC AnyKey abfragen


Autor: Kenji N. (shaitan)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?)

Autor: Kenji N. (shaitan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

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

DDRD &= ~(1<<PD2);   //eingang (INT0), ohne Pullup-Widerstand
MCUCR = (1<<ISC11)|(1<<ISC10);
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.