Forum: Projekte & Code Drehencoder Miniprojekt mit RC5-Empfang


von Christian S. (roehrenvorheizer)


Angehängte Dateien:

Lesenswert?

Hallo allerseits,


hier mal ein kleines Übungs-Projekt für fortgeschrittene Anfänger und 
solche, die es werden möchten oder es schon hinter sich haben. Ebenfalls 
gut geeignet, um älteren Controllertypen wie dem AT90S2313 noch zu 
nennenswerten Aufgaben zu verhelfen.

Inbetriebnahme und Auswertung eines Drehencoders.

Der Code stammt von Peter Dannegger von hier:

Beitrag "Re: Drehgeber auslesen"

Encode.c und Encodertest.c habe ich ins RC5-Empfangsprogramm eingebaut.

Der verwendete RC5-Code stammt ebenfalls von Peter und ich möchte an 
dieser Stelle mal ein herzliches Dankesschön für das zur Verfügung 
stellen seiner genial knappen Codebeispiele sowie seine Erklärungen dazu 
"ausprechen".


Versuchssschaltung mit AT90S2313, RC5-Sockel für IR-Empfänger, zwei 
grünen LEDs, LCD-Anschluß. Quarz 4 MHz.
grüne LEDs an PB2= Pin14 und PB3 = OC1 = Pin15
IR-Empfänger über 4,7 KOhm an PB4 = Pin16
LCD angeschlossen wie in LCD-Routines.h definiert:
LCD DB4-DB7 <-->  PORTD Bit PD0-PD3
LCD RS      <-->  PORTD Bit PD4     (RS: 1=Data, 0=Command)
LCD EN      <-->  PORTD Bit PD5     (EN: 1-Impuls für Daten)



Wer eine andere Taktfrequenz oder andere Mikrocontroller mit dem 
internen Oszillator verwendet, sollte die Zeile

"#define XTAL    4e6"

anpassen, sonst funktioniert RC5-Empfang nicht. Andere Mikrocontroller 
haben andere Namen für die Interrupts. Sollten ebenfalls angepaßt 
werden.

Interessanterweise funktioniert die Routine für den Drehencoder im 
selben Interrupt wie der RC5-IRQ ohne weitere Anpassungen!
Getestet mit Pollin Encoder PANASONIC EVEQDBRL416B.


Ins AVR-Studio-Projekt bindet man ein:

dreh.c, RC5.c, LCD-Routines_2313.c, LCD-Routines.h



AVR Memory Usage
----------------
Device: at90s2313

Program:     946 bytes (46.2% Full)
(.text + .data + .bootloader)

Data:         20 bytes (15.6% Full)
(.data + .bss + .noinit)
_____________________________________

mit Code von Peter Dannegger
Beitrag "Re: Drehgeber auslesen"

AVR Memory Usage
----------------
Device: at90s2313

Program:    1012 bytes (49.4% Full)
(.text + .data + .bootloader)

Data:         21 bytes (16.4% Full)
(.data + .bss + .noinit)
__________________________________


Viel Spaß beim Ausprobieren und nachbauen:-)
MFG

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.