• Keine Ergebnisse gefunden

Praktikum 3./4. Januar 2011

N/A
N/A
Protected

Academic year: 2021

Aktie "Praktikum 3./4. Januar 2011"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Praktikum 3./4. Januar 2011

Jörn Loviscach

Versionsstand: 29. Dezember 2010, 23:45

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/de/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

In diesem Praktikum soll eine Infrarot-Fernbedienung zu einem Eingabemedium umfunktioniert werden.

Aufgabe zu Hause als Vorbereitung: Angenommen, die Callback-Funktion zählt die Aufrufe mit. Wie kann sie dann auf jede Eingabe passend reagieren? Welcher Baum an Verzweigungen ist nötig?

Das C-Projekt basiert auf der kleinen Funktionsbibliothek, die aus ir_receiver.c und ir_receiver.h besteht. Der Funktion initialize übergibt man als zwei- ten Parameter eine „Callback“-Funktion, die vom System aufgerufen wird, in diesem Fall nach jedem erkannten Tastendruck auf der Infrarot-Fernbedienung.

Als ersten Parameter übergibt man der initialize-Funktion eine Zahl, die bestimmt, ab dem wievielten Lichtpuls sie die Zeitdifferenzen zwischen den Licht- pulsen mitschreibt. Das tut sie für maximal acht Zeitdifferenzen (Konstante maximumNumberOfLags).

Die Callback-Funktion erhält bei jedem Aufruf eine Liste der aufgezeichneten Zeitdifferenzen zwischen den Lichtpulsen. Der erste Parameter gibt deren Zahl an (Kann null sein, wenn es zu wenig Pulse waren!); der zweite Parameter ist ein Array dieser Länge. Dort stehen die Zeitdifferenzen. (Das volatilehier teilt dem Compiler mit, dass von mehreren Seiten auf diese Variablen zugegriffen wird.

Dadurch sind bestimmte Optimierungen verboten.)

Schließen Sie den Fototransistor mit dem Emitter (von vorne gesehen links) an P1.1 und mit dem Kollektor an VCC ein. Der Emitter soll mit dem 1-kΩ-Widerstand mit Masse verbunden sein, so dass sich ein Spannungsteiler ergibt.

Das Beispielprogrammmain.czeigt die Anwendung.

Stellen Sie damit zuerst fest, an welchen Stellen sich die Folgen der Lichtpulse der verschiedenen Tasten Ihrer jeweiligen Fernbedienung unterscheiden. Einige Fern- bedienungen lassen alle Tasten mit identischen Folgen von Lichtpulsen beginnen.

Um die Tasten zu unterscheiden, muss man also weiter hinten in diesen Folgen nachsehen. Dazu dient der erste Parameter voninitialize.

Programmieraufgabe (Link zum Demo-Video): Entwickeln Sie eine Callback- Funktion, die erst die Tasten 0, 1, 2, 3 und OK der Fernbedienung lernt. (Als

(2)

OK kann irgendeine der anderen Tasten dienen.) Nach diesem Lernen soll die Callback-Funktion Zahleneingaben annehmen, die aufsummiert werden. Mit den Zifferntasten von 0 bis 3 tippt man ein- oder mehrstellige (!) Zahlen wie beim Taschenrechner ein. Sie werden mit der in ir_receiver.h deklarierten Funktion writeangezeigt. Drückt man die OK-Taste, wird die aktuell angezeigte Zahl zur letzten Summe aufaddiert. Die Summe wird angezeigt, bis man eine Taste zur Eingabe der nächsten Zahl drückt.

Eigentlich sind die Signale von Fernbedienungen dazu gedacht, viel einfacher dekodiert zu werden, nämlich als Folge von Nullen und Einsen. Dafür gibt es aber je nach Produkt verschiedene Formate, die man dann berücksichtigen müsste.

Die in dieser Aufgabe praktizierte aufwendigere Lösung mit Zeitmessung ist eine Möglichkeit, eine Universal-Fernbedienung zu bauen.

Referenzen

ÄHNLICHE DOKUMENTE

1) Karten mit schwarzen Zahlen der Reihe nach auslegen. Jeder schwarzen Zahl eine passende rote Zahl zuordnen, so dass das Ergebnis immer 5 ist. 2) Karten an zwei Spieler

Stellen Sie sicher, dass der Drucker nicht an die Stromversorgung angeschlossen ist, bevor Sie die Farbbandkassette installieren.. Gehen Sie folgendermaßen vor, um die

(Nähere Informationen dazu erhalten Sie im Abschnitt ”Druckerbefehle” auf Seite A-21.) Möglicherweise ist die Farbbandkassette nicht korrekt installiert.. Nähere

[r]

Dann rufen Sie an unter 02831/98412 oder schreiben Sie an PVP-Petra, Viern- heimerstr. attraktive Witwe würde sich sehr freuen das neue Jahr als Paar erleben zu können. Sie ist

Wir, ein freundliches und dynamisches Pflegeteam, brauchen dringend Unter- stützung. Wir suchen für sofort oder spä- ter in Teilzeit 75% eine ex. Fühlen Sie sich angesprochen?

Außerdem fand er heraus, dass zappelige Kinder sich beruhigen, wenn sie Sandwesten tragen, da sich der Druck wie eine permanente Umarmung anfühlt. Derzeit forscht

Rechts neben der „Farbvorschau” befindet sich zudem eine Farbskala, über welche ein spezifischer Farbton für die Beleuchtung ausgewählt werden kann.. Wahlweise kann dieser