Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0
Sehr geehrter Kunde,
vielen Dank, dass Sie sich für unser Produkt entschieden haben.
Dieses hochwertige Sensor Kit wurde speziell für die gängigsten Open-Source Plattformen in
Deutschland entwickelt. Es ist zu folgenden Einplatinen Computern kompatibel:
Raspberry Pi (alle Modelle), Arduino, Banana PI, Cubieboard, Cubietruck, Beaglebone, pcDuino
und vielen weiteren Mikrocontroller-Systemen (Atmega, MicroChip PIC, STM32 usw.).
Die folgende Anleitung beinhaltet nicht nur die technische Beschreibung der einzelnen Sensoren,
wie z.B. die Pin-Belegung oder den jeweils verwendeten Chipsatz, sondern gibt auch einen Einblick in die Funktionsweise der jeweiligen Sensormodule.
Um Sie bei Ihren eigenen Projekten zu unterstützen, haben wir im Zuge dieser Anleitung jeweils
ein Code-Beispiel für die meistgenutzten Systeme Raspberry Pi (geschrieben in Python) und
Arduino (geschrieben in C++) für jeden einzelnen Sensor bereitgestellt, um die Vorgehensweise
der Programmierung mit den Sensoren am leichtesten zu verdeutlichen. Sie finden diese direkt
als Code integriert in dieser Anleitung oder direkt unter den jeweiligen Beispiel als Download. Sie
finden zudem die immer aktuellste Fassung der Beispiele unter unserem SensorKit X40 Wiki:
http://sensorkit.joy-it.net/
Hierdurch können auch Programmieranfänger ganz leicht eigene Versuche, Projekte und Experi-
mente entwickeln und durchführen.
So haben Sie im Handumdrehen die Möglichkeit Ihren Herzschlag zu prüfen oder die Raumtem-
peratur und Luftfeuchtigkeit in Ihrer Umgebung zu messen.
Speziell für den Raspberry Pi liegen dem Set ein Analog-Digital Konverter [KY-053] und ein
Voltage Translator [KY-051] bei - durch diese werden zwei große Einschränkungen des
Raspberry Pi (kein ADC / 3,3V Spannungslevel), wenn es um Interaktion mit analogen Signalen
und Sensoren allgemein geht, beseitigt.
Sie können die Sensoren entweder fest verlöten oder auf ein Breadboard stecken, um an verschiedenen Schaltungen oder Experimenten zu arbeiten.
Wir wünschen Ihnen viel Freude mit dem Sensorkit X40
Ihr Joy-IT Team
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 2 von 227
Index
Temperatur Sensor ModulKY-001
Erschütterungs-Schalter ModulKY-002
Hall Magnetfeld-Sensor ModulKY-003
Taster-ModulKY-004
Index
Klicken Sie auf die Beschreibung des jeweiligen Sensors, um auf die entsprechende Unterseite zu gelangen
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0Seite 3 von 227
Index
Infrarot Transmitter ModulKY-005
Passives Piezo-Buzzer ModulKY-006
RGB LED SMD ModulKY-009
Lichtschranken-ModulKY-010
2-Farben [Rot+Grün] 5mm LED ModulKY-011
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0Seite 4 von 227
Index
Aktives Piezo-Buzzer ModulKY-012
Temperatur-Sensor ModulKY-013
Kombi-Sensor Temperatur+FeuchtigkeitKY-015
RGB 5mm LED ModulKY-016
Neigungsschalter ModulKY-017
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0Seite 5 von 227
Index
Fotowiderstand ModulKY-018
5V Relais ModulKY-019
Neigungs-Schalter ModulKY-020
Mini Magnet Reed ModulKY-021
Infrarot Receiver ModulKY-022
Joystick Modul (XY-Achsen)KY-023
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0Seite 6 von 227
Index
Linear magnetic Hall SensorKY-024
Reed ModulKY-025
Flamen-Sensor ModulKY-026
Magic Light Cup ModulKY-027
Temperatur Sensor Modul (Thermistor)KY-028
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0Seite 7 von 227
Index
2-Farben [Rot+Grün] 3mm LED ModulKY-029
Klopf-Sensor ModulKY-031
Hindernis Detektor ModulKY-032
Tracking Sensor ModulKY-033
7 Farben LED Flash-ModulKY-034
Bihor Magnet Sensor ModulKY-035
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0Seite 8 von 227
Index
Metall-Touchsensor ModulKY-036
Mikrofon Sensor Modul [hohe Empfindlichkeit]KY-037
Mikrofon Sound Sensor ModulKY-038
Herzschlag Sensor ModulKY-039
Kodierter Drehschalter (Rotary Encoder)KY-040
UltraschallabstandssensorKY-050
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0Seite 9 von 227
Index
Voltage Translator / Level ShifterKY-051
Drucksensor / Temperatursensor [BMP180]KY-052
Analog Digital ConverterKY-053
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0Seite 10 von 227
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0Seite 12 von 227
KY-001 Temperatur Sensor Modul
}
//Hauptprogrammschleife
void loop()
{
// Temperaturmessung wird gestartet...
sensors.requestTemperatures();
// ... und gemessene Temperatur ausgeben
Serial.print("Temperatur: ");
Serial.print(sensors.getTempCByIndex(0));
Serial.write(176); // UniCode-Angabe eines char-Symbols für das "°-Symbol"
Serial.println("C");
delay(1000); // 5s Pause bis zur nächsten Messung
}
Anschlussbelegung Arduino:
Sensor Signal= [Pin 4]
Sensor+V= [Pin 5V]
Sensor -= [Pin GND]
Beispielprogramm Download
KY-001-TemperaturSensor.zip
One-Wire Konfiguration Raspberry Pi
Damit der Raspberry Pi mit dem One-Wire Bus, mit der Sensor DS18B20 seine Messdaten digital sendet,
kommunizieren kann, muss dieser vorerst aktiviert werden. Hierbei muss die Datei "/boot/config.txt" editiert
und um folgende Zeile ergänzt werden:
dtoverlay=w1-gpio,gpiopin=4
Die Datei können Sie editieren, indem Sie den Befehl...
sudo nano /boot/config.txt
... in die Konsole eingeben. Mit der Tastenkombination [STRG+X] können Sie das Editieren beenden und mit
[STRG+Y] abspeichern.
Nachdem Sie den Raspberry Pi mittels...
sudo reboot
... neugestartet haben, können Sie das untenstehende Beispiel anwenden.
Codebeispiel Raspberry Pi
Programmierbeispiel in der Programmiersprache Python
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 13 von 227
KY-001 Temperatur Sensor Modul
# coding=utf-8
# Benoetigte Module werden importiert und eingerichtet
import glob
import time
from time import sleep
import RPi.GPIO as GPIO
# An dieser Stelle kann die Pause zwischen den einzelnen Messungen eingestellt werden
sleeptime = 1
# Der One-Wire EingangsPin wird deklariert und der integrierte
#PullUp-Widerstand aktiviert GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# Nach Aktivierung des Pull-UP Widerstandes wird gewartet,
# bis die Kommunikation mit dem DS18B20 Sensor aufgebaut ist
print 'Warte auf Initialisierung...'
# Funktion wird definiert, mit dem der aktuelle Messwert am Sensor
# ausgelesen werden kann
def TemperaturMessung():
f = open(device_file, 'r')
lines = f.readlines()
f.close()
return lines
# Zur Initialisierung, wird der Sensor einmal "blind" ausgelesen
TemperaturMessung()
# Die Temperaturauswertung: Beim Raspberry Pi werden erkennte one-Wire Slaves im Ordner
# /sys/bus/w1/devices/ einem eigenen Unterordner zugeordnet. In diesem Ordner befindet
# sich die Datei w1-slave # in dem Die Daten, die über dem One-Wire Bus gesendet wurden gespeichert.
# In dieser Funktion werden diese Daten analysiert und die Temperatur herausgelesen und ausgegeben
# Hauptprogrammschleife
# Die gemessene Temperatur wird in die Konsole ausgegeben - zwischen den einzelnen Messungen
# ist eine Pause, deren Länge mit der Variable "sleeptime" eingestellt werden kann
try:
while True:
print '---------------------------------------'
print "Temperatur:", TemperaturAuswertung(), "°C"
time.sleep(sleeptime)
except KeyboardInterrupt:
GPIO.cleanup()
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 14 von 227
KY-001 Temperatur Sensor Modul
Anschlussbelegung Raspberry Pi:
Signal= GPIO4[Pin 7]
+V= 3,3V[Pin 1]
GND= Masse[Pin 6]
Beispielprogramm Download
KY-001_RPi_TemperaturSensor.zip
Zu starten mit dem Befehl:
sudo python KY-001_RPi_TemperaturSensor.py
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 15 von 227
5 Codebeispiel Raspberry Pi ................................................................................................................................... 3
Bild
Technische Daten / Kurzbeschreibung
Bei Erschütterung wird der Kontakt zwischen den zwei Eingangspins geschlossen
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 16 von 227
KY-002 Erschütterungs-Schalter Modul
Pin-Belegung
Codebeispiel Arduino
Hier bei handelt es sich um ein Beispielprogramm, welches eine LED zum Leuchten bringt, wenn am Sensor
ein Signal detektiert wurde. Als LED können z.B. auch unter anderem die Module KY-011, KY-016 oder KY029 verwendet werden.
int Led = 13 ;// Deklaration des LED-Ausgangspin
int Sensor = 10; // Deklaration des Sensor-Eingangspin
int val; // Temporaere Variable
void loop ()
{
val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
{
digitalWrite (Led, LOW);
}
else
{
digitalWrite (Led, HIGH);
}
}
Anschlussbelegung Arduino:
LED += [Pin 13]
LED -= [Pin GND]
Sensor Signal= [Pin 10]
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 17 von 227
KY-002 Erschütterungs-Schalter Modul
Sensor+V= [Pin 5V]
Sensor -= [Pin GND]
Beispielprogramm Download
SensorTest_Arduino.zip
Codebeispiel Raspberry Pi
Programmierbeispiel in der Programmiersprache Python
Anschlussbelegung Raspberry Pi:
Signal= GPIO24[Pin 18]
+V= 3,3V[Pin 1]
GND= Masse[Pin 6]
Beispielprogramm Download
SensorTest_RPi.zip
Zu starten mit dem Befehl:
sudo python SensorTest_RPi.py
# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist.
# Zusaetzlich wird auch der PullUP Widerstand am Eingang aktiviert GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)
print "Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]"
# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt
def ausgabeFunktion(null):
print("Signal erkannt")
# Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgeloest
5 Codebeispiel Raspberry Pi ................................................................................................................................... 3
Bild
Technische Daten / Kurzbeschreibung
Chipsatz: A3141
Sensortyp: Hall Effect Transistor/Schalter
Der Transistor schaltet durch, falls das Modul in ein Magnetfeld gehalten wird. Dies kann dann am
Signalausgang als analoger Spannungswert ausgelesen werden.
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 19 von 227
KY-003 Hall Magnetfeld-Sensor Modul
Pin-Belegung
Codebeispiel Arduino
Hier bei handelt es sich um ein Beispielprogramm, welches eine LED zum Leuchten bringt, wenn am Sensor
ein Signal detektiert wurde. Als LED können z.B. auch unter anderem die Module KY-011, KY-016 oder KY029 verwendet werden.
int Led = 13 ;// Deklaration des LED-Ausgangspin
int Sensor = 10; // Deklaration des Sensor-Eingangspin
int val; // Temporaere Variable
void loop ()
{
val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
{
digitalWrite (Led, LOW);
}
else
{
digitalWrite (Led, HIGH);
}
}
Anschlussbelegung Arduino:
LED += [Pin 13]
LED -= [Pin GND]
Sensor Signal= [Pin 10]
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 20 von 227
KY-003 Hall Magnetfeld-Sensor Modul
Sensor+V= [Pin 5V]
Sensor -= [Pin GND]
Beispielprogramm Download
SensorTest_Arduino.zip
Codebeispiel Raspberry Pi
Programmierbeispiel in der Programmiersprache Python
Anschlussbelegung Raspberry Pi:
Signal= GPIO24[Pin 18]
+V= 3,3V[Pin 1]
GND= Masse[Pin 6]
Beispielprogramm Download
SensorTest_RPi.zip
Zu starten mit dem Befehl:
sudo python SensorTest_RPi.py
# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist.
# Zusaetzlich wird auch der PullUP Widerstand am Eingang aktiviert GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)
print "Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]"
# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt
def ausgabeFunktion(null):
print("Signal erkannt")
# Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgeloest
5 Codebeispiel Raspberry Pi ................................................................................................................................... 3
Bild
Technische Daten / Kurzbeschreibung
Beim Drücken des Tasters, werden zwei Signalausgänge miteinander kurzgeschlossen.
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 22 von 227
KY-004 Taster-Modul
Pin-Belegung
Codebeispiel Arduino
Hier bei handelt es sich um ein Beispielprogramm, welches eine LED zum Leuchten bringt, wenn am Sensor
ein Signal detektiert wurde. Als LED können z.B. auch unter anderem die Module KY-011, KY-016 oder KY029 verwendet werden.
int Led = 13 ;// Deklaration des LED-Ausgangspin
int Sensor = 10; // Deklaration des Sensor-Eingangspin
int val; // Temporaere Variable
void loop ()
{
val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
{
digitalWrite (Led, LOW);
}
else
{
digitalWrite (Led, HIGH);
}
}
Anschlussbelegung Arduino:
LED += [Pin 13]
LED -= [Pin GND]
Sensor Signal= [Pin 10]
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 23 von 227
KY-004 Taster-Modul
Sensor+V= [Pin 5V]
Sensor -= [Pin GND]
Beispielprogramm Download
SensorTest_Arduino.zip
Codebeispiel Raspberry Pi
Programmierbeispiel in der Programmiersprache Python
Anschlussbelegung Raspberry Pi:
Signal= GPIO24[Pin 18]
+V= 3,3V[Pin 1]
GND= Masse[Pin 6]
Beispielprogramm Download
SensorTest_RPi.zip
Zu starten mit dem Befehl:
sudo python SensorTest_RPi.py
# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist.
#Zusaetzlich wird auch der PullUP Widerstand am Eingang aktiviert GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)
print "Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]"
# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt
def ausgabeFunktion(null):
print("Signal erkannt")
# Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgeloest
5.4 IR-Receiver Test ......................................................................................................................................... 8
5.6 Befehle senden mit dem Infrarot Transmitter .......................................................................................... 10
Bild
Technische Daten / Kurzbeschreibung
Eine Leuchtdiode, die im infraroten Bereich ausstrahlt. Je nach Eingangsspannung, werden Vorwiderstände
benötigt
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 25 von 227
Vf= 1,1V
If= 20mA
emittierende Wellenlänge: 940nm
(nicht sichtbares Licht)
Vorwiderstände:
Rf (3,3V) = 120Ω
[z.B. beim Einsatz mit ARM CPU-Kern basierten Mikrokontrollern wie ]Raspberry-Pi
Rf (5V) = 220Ω
[z.B. beim Einsatz mit Atmel Atmega basierten Mikrokontrollern wie ]Arduino
Pin-Belegung
*Auf der Platine gibt es die Möglichkeit den jeweils benötigten Widerstand direkt aufzulöten. In dem Falle
kann dann der mittlere Pin genutz werden, der dann den Widerstand beihnaltet.
Codebeispiel Arduino
Codebeispiel ON/OFF
Diese Codebeispiel zeigt auf, wie eine LED mittels eines definierbaren Ausgangspins abwechselnd für
VierSekunden ein- und danach zwei Sekunden ausgeschaltet werden kann.
KY-005 Infrarot Transmitter Modul
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 26 von 227
KY-005 Infrarot Transmitter Modul
Beispielprogramm Download:
LedTestArduino_4On_2Off.zip
Codebeispiel Fernbedienung
Mithilfe der beiden Sensormodule KY-005 und KY-022 lässt sich ein Infrarot-Fernbedienung + Infrarot
Receiver System aufbauen. Hierzu werden neben den zwei Modulen auch zwei einzelne Arduinos benötigt.
Der eine fungiert hierbei dann als Sender und der andere empfängt die Signale und gibt diese dann in der
seriellen Konsole aus.
Für das folgende Codebeispiel wirdeine zusätzliche Library benötigt:
- [Arduino-IRremote] von | veröffentlicht unter LGPLKen Shirriff
Die Library istim Paket enthalten und muss vor dem Start der Arduino IDE in den "library"-Ordner kopiert
werden.
Diesen finden Sie standardmäßig unter dem folgenden Pfad Ihrer Windows-Installation:
Bei Infrarot-Sendesystemen, gibt es verschiedene Protokolle, in denen die Daten versendet werden können.
In dem folgenden Beispiel wird für das versenden das RC5 Protokoll verwendet - die verwendete Library
"Arduino-IRremote" kümmert sich eigenständig um die Konvertierung in die richtige Datenfolge. Es gibt
innerhalb der Library jedoch auch andere Protokolle/Kodierungen - diese sind in der Dokumentation/Code
der Library gekennzeichnet.
Code für den Empfänger:
// Arduino-IRremote Iibrary wird hinzugefuegt
#include <IRremote.h>
// Hier kann der entsprechende Eingangspin für den Signalausgang
// des KY-022 deklariert werden
int Led = 13;
void setup ()
{
pinMode (Led, OUTPUT); // Initialisierung Ausgangspin für die LED
}
void loop () //Hauptprogrammschleife
{
digitalWrite (Led, HIGH); // LED wird eingeschaltet
delay (4000); // Wartemodus für 4 Sekunden
digitalWrite (Led, LOW); // LED wird ausgeschaltet
delay (2000); // Wartemodus für weitere zwei Sekunden in denen die LED dann ausgeschaltet ist
}
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 27 von 227
KY-005 Infrarot Transmitter Modul
Code für den Sender:
Beispielprogramm Download:
Arduino_Fernbedienung.zip
Anschlussbelegung Arduino 1 [Empfänger]:
KY-022
Signal= [Pin 11]
int RECV_PIN = 11;
// Arduino-IRremote Library wird initialisiert
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Infrarot-Receiver wird gestartet
}
// Hauptprogrammschleife
void loop() {
// Es wird geprüft ob am Recveiver ein Signal eingegangen ist
if (irrecv.decode(&results)) {
// Bei Signaleingang wird das empfangene und dekodierte Signal
// in der serriellen Konsole ausgegeben
Serial.println(results.value, HEX);
irrecv.resume();
}
}
//Arduino-IRremote Library wird hinzugefügt...
#include <IRremote.h>
//...und hier initialisiert
IRsend irsend;
// Die Einstellungen für den Ausgang werden von der Library übernommen
// Die entsprechenden Ausgänge unterscheiden sich je nach verwendeten Arduino
// Arduino UNO: Ausgang = D3
// Arduino MEGA: Ausgang = D9
// Eine komplette Auflistung der entsprechenden Ausgänge finden Sie unter
// http://z3t0.github.io/Arduino-IRremote/
void setup()
{
}
// Hauptprogrammschleife
void loop() {
// Der Sender verschickt in diesem Beispiel das Signal A90 (in hexdezimaler Form) in der Kodierung "RC5"
// Dieses wird dreimal hintereinander gesendet und danach eine Pause für 5 Sekunden eingelegt
for (int i = 0; i < 3; i++) {
// [0xA90] zu versendetes Signal | [12] Bit-Länge des zu versendeten Signals (hex A90=1010 1001 0000)
irsend.sendRC5(0xA90, 12);
delay(40);
}
delay(5000); //Zwischen den Sendeimpulsen gibt es eine Pause von 5 Sekunden
}
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 28 von 227
*Nur wenn Vorwiderstand auf dem Modul verlötet wurde und nicht vor dem Modul geschaltet ist
Codebeispiel Raspberry Pi
Es sind zwei Anwendungsbeispiele für dieses Sensormodul hier vorgestellt. Eines, welches die InfrarotTransmitter Diode kurz ein und wieder ausschaltet (emittierendes Licht nicht sichtbar - kann z.B. durch eine
Handykamera gesehen werden), sowie ein direktes Anwendungsbeispiel für den Raspberry Pi, wo er als
entweder Infrarot Receiver für Fernbedienungen zum Steuern von z.B. der Mediencenter-Software OpenElec
oder als Infrarot-Transmitter zur Software-gesteuerten Fernbedienung programmiert werden kann.
Codebeispiel ON/OFF
Programmierbeispiel in der Programmiersprache Python
Anschlussbelegung Raspberry Pi:
Sensor Signal= GPIO24 [Pin 18]
GND+Widerstand = GND*[Pin 9]
# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist.
#Zusaetzlich wird auch der PullUP Widerstand am Eingang aktiviert LED_PIN = 24
GPIO.setup(LED_PIN, GPIO.OUT, initial= GPIO.LOW)
print "LED-Test [druecken Sie STRG+C, um den Test zu beenden]"
# Hauptprogrammschleife
try:
while True:
print("LED 4 Sekunden an")
GPIO.output(LED_PIN,GPIO.HIGH) #LED wird eingeschaltet
time.sleep(4) #Wartemodus fuer 4 Sekunden
print("LED 2 Sekunden aus")
GPIO.output(LED_PIN,GPIO.LOW) #LED wird ausgeschaltet
time.sleep(2) #Wartemodus fuer weitere zwei Sekunden,
# in denen die LED Dann ausgeschaltet ist
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
GPIO.cleanup()
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 29 von 227
KY-005 Infrarot Transmitter Modul
Sensor GND= Masse [Pin 6]
*Nur wenn Vorwiderstand auf dem Modul verlötet wurde und nicht vor dem Modul geschaltet ist
Beispielprogramm Download
LedTest_RPi_4On_2Off.zip
Zu starten mit dem Befehl:
sudo python LedTest_RPi_4On_2Off.py
Codebeispiel Fernbedienung
Der Raspberry Pi besitzt mit seiner fortschrittlichen Prozessorarchitektur den Vorteil gegenüber dem
Arduino, dass dieser ein komplettes Linux-Betriebssystem betreiben kann. Mit Hilfe eines Infrarot-Receivers
können somit nicht nur einfache Datensignale ausgetaucht, sondern es können auch komplette SoftwareProgramme wie z.B. die Mediencenter Software OpenElec per Fernbedienung bedient werden.
Für die Einrichtung eines Infrarot-Steuerungssystem, bietet sich unter Linux bietet die Software "lirc" an
(veröffentlicht unter der LGPL - ). Im Folgenden zeigen wir auf, wie lirc eingerichtet, eine Website
Fernbedienung angelernt werden kann und per Infrarotdiode die erlernten Signale per Infrarot versendet
werden können (um z.B. aus dem Raspberry Pi eine per Software steuerbare Infrarot Fernbedienung zu
machen).
Zu diesem Zwecke werden die Module KY-005 als Infrarot-Transmitter und KY-022 als Infrarot Receiver
angewendet.
Anschlussbelegung Raspberry Pi:
KY-005
Signal= GPIO17 [Pin 11]
GND+Widerstand= GND*[Pin 9]
GND= GND[Pin 6]
*Nur wenn Vorwiderstand auf dem Modul verlötet wurde und nicht vor dem Modul geschaltet ist
KY-022
Signal= GPI18[Pin 12]
+V= 3,3V[Pin 17]
GND= GND[Pin 25]
Lirc Installation
Als erstes öffnen wir auf dem Desktop ein Terminal oder verbinden wir uns per SSH mit dem Raspberry Pi.
Dort geben Sie den folgenden Befehl ein, um lirc auf den Raspberry Pi zu installieren:
Ausgabe: 29.04.2016Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 30 von 227
Loading...
+ 197 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.