Ethernut Entwicklungen
Mit Ethernut gibt es ein freies RTOS das bei uns auf den Atmel SAM7 Prozessoren eingesetzt wird. Die Stabilität ist sehr gut und es sind viele Beispiele erhalten, die z.B die Entwicklung eines netz-basierten Gerätes unterstützen.
Erkennen von Infrarot Fernbedienungen
Für ein Projekt war eine Bedienung durch eine Infrarot Ferbedienung erforderlich. Es gibt hierzu diverse Projekte. Eines ist mir besonders aufgefallen: IRMP
Dieses ist weitestgehend plattformunabhängig in C geschrieben, wird aktiv weiterentwickelt und kann viele verschiedene IR-Codes interpretieren.
Die Verwendung ist einfach. Mit der Funktion irmp_ISR(), die 10000 - 20000 mal pro Sekunde aufgerufen werden muss, wird dort ein eintreffendes Signal abgetastet. Bei den empfohlenen 15000 Aufrufen pro Sekunde ergibt sich ein Aufruf alle 66,7us.
Der einfache Anschluss der Hardware ist aus dem Datenblatt des TSOP1736 zu entnehmen.
Die Versorgungsspannung muss beim TSOP1736 zwischen 4,5V und 5,5V liegen. Modernere Familienmitglieder wie die TSOP3xxx kommen auch mit 2,5V Versorgungspannung aus. Der Ausgang der Sensors kann direkt mit einem Portpin des SAM7 (der mit 3,3V läuft) verbunden werden.
Die Ethernut-Timer bieten nur Zeiten im ms Bereich. Deshalb wird ein IRQ-Timer eingerichtet. Ich habe mir dies aus der Button-Auswertung aus dem Elektor Webradio-Projekt geholt. Es gibt auch eine eigene Seite zu diesem Thema.
IR-Botschaften die in diesem IRQ erkannt werden, kommen in eine Queue. Ein Thread prüft regelmässig die Queue und reagiert dann auf die eingetroffenen Botschaften.
Hier ist der dazugehörige Quellcode V1.0. Eine leicht angepasste Version von IRMP ist dort auch enthalten.
Sie haben ein ähnliches Projekt oder Fragen? Bitte kontaktieren Sie uns.