Joy-iT Joy-Pi User Manual [de]

3
Joy-Pi
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 2
Joy-Pi
2. Details
3. Modulwechsel und Verwendung der GPIOs
4. Verwendung von Python und Linux
5. Lekonen
5.1 Lekon 1: Verwenden des Buzzers für Warntöne
5.2 Lekon 2: Buzzer mit Taster steuern
5.3 Lekon 3: Wie ein Relais funkoniert und wie man es steuert
5.4 Lekon 4: Senden Sie ein Vibraonssignal
5.5 Lekon 5: Geräusche mit dem Schallsensor erkennen
5.6 Lekon 6: Erkennen der Helligkeit mit dem Lichtsensor
5.7 Lekon 7: Erkennen der Temperatur und der Lufeuchgkeit
5.8 Lekon 8: Bewegungen erkennen
5.9 Lekon 9: Enernungen mit dem Ultraschallsensor messen
5.10 Lekon 10: Steuern des LCD-Displays
5.11 Lekon 11: Lesen und Schreiben von RFID-Karten
5.12 Lekon 12: Schrimotoren verwenden
5.13 Lekon 13: Steuerung von Servomotoren
5.14 Lekon 14: Steuern der 8x8 LED-Matrix
5.15 Lekon 15: Steuern des 7-Segment-Displays
5.16 Lekon 16: Berührungen erkennen
5.17 Lekon 17: Neigungen mit dem Neigungssensor erkennen
5.18 Lekon 18: Verwenden der Taster-Matrix
5.19 Lekon 19: Steuern und verwenden des IR-Sensors
5.20 Lekon 20: Eigene Schaltungen mit dem Breadboard
5.21 Lekon 21: Fotograeren mit der Raspberry Pi-Kamera
6. Informaons- und Rücknahmepichten
7. Rechtliches
8. Support
INHALTSVERZEICHNIS
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 3
Joy-Pi
Sehr geehrter Kunde, vielen Dank, dass Sie sich für unser Produkt entschieden haben. Im Folgenden zeigen wir Ihnen, was bei der Inbetriebnahme und der Verwendung zu beachten ist. Sollten Sie während der Verwendung unerwartet auf Probleme stoßen, so können Sie uns selbstverständlich
gerne kontakeren.
Die folgenden Lekonen sind so konzipiert, dass Sie, unabhängig davon wie viel Vorwissen Sie bereits haben, alle Lekonen ohne Probleme ausführen können. Für die verschiedenen Lekonen müssen Sie Beispieldateien herunterladen und auf dem Joy-Pi ausführen. Wie Sie dies durchführen, können Sie ebenfalls dieser Anleitung entnehmen.
Doch diese Tutorials sind nur der Anfang. Wir freuen uns darauf zu sehen, was Sie mit unserem Joy-Pi machen werden.
1. ÜBERSICHT
2. DETAILS
Die Anmeldedaten sind: Username: pi Passwort: 12345
27
26
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 4
Joy-Pi
1 Raspberry Pi 2 GPIO LED Anzeige 3 Breadboard - zur Erstellung benutzerdenierter Schaltungen mit externen Modulen 4 16x2 LCD Modul (MCP23008) 5 Stromversorgung 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibraonsmodul
9 Lichtsensor (BH1750) 10 Buzzer - zur Erzeugung von Alarmtönen 11 Schallsensor 12 Bewegungssensor (LH1778) 13 Ultraschallabstandssensor
14 / 15 Servo-Schnistellen
16 Schrimotor-Schnistelle 17 Neigungssensor (SW-200D) 18 Infrarotsensor 19 Berührungssensor 20 DHT11 Temperatur– und Lufeuchgkeitssensor 21 Relais 22 Taster-Matrix 23 unabhängige Taster 24 RFID Modul(MFRC522) 25 Schalter - zum Umschalten zwischen Sensoren und Modulen 26 Lüeranschluss 27 Stromversorgung Micro-USB
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 5
Joy-Pi
MODULWECHSEL
Auf der Joy-Pi-Plane benden sich zwei Schaltereinheiten à 8 Schalter. Die Schalter ermöglichen es, zwischen verschiedenen Sensoren und Modulen zu wechseln. Da der Raspberry Pi nur eine begrenzte Anzahl an GPIO-Pins hat, werden diese Schalter benögt um mehr Sensoren und Module verwenden zu können als GPIO-Pins vorhanden sind.
Die Verwendung dieser Schalter ist ziemlich einfach und wird in einigen der folgenden Lekonen benögt.
In der Tabelle sehen Sie, welcher Schalter welchen Sensor bzw. welches Modul schaltet:
3. MODULWECHSEL UND VERWENDUNG DER GPIOS
Sensoren / Module Schalteinheit Schalter
Taster-Matrix Links 1 - 8
unabhängige Taster Links 5 - 8
Vibraonsmodul Rechts 1
Neigungssensor Rechts 2
Schrimotor Rechts 3, 4, 5, 6
Servomotor Rechts 7, 8
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 6
Joy-Pi
VERWENDUNG DER GPIOS
Im Folgenden werden wir Ihnen genauer erläutern, was GPIO-Pins sind, wie diese funkonieren und wie diese gesteuert werden.
GPIO steht für: General-purpose input / output(Universal Eingang / Ausgang). GPIO-Pins haben keine festgelegte Funkon. Es kann konguriert werden, ob die GPIO-Pins als digitaler Eingang oder als digitaler Ausgang dienen.
Beispiel Eingangs-Pin: Taster Wenn der Taster gedrückt wird, gelangt das Signal zur weiteren Verarbeitung über den Eingang-Pin zum
Raspberry Pi.
Beispiel Ausgangs-Pin: Buzzer Über den Ausgangs-Pin wird ein Signal in Richtung Buzzer gesendet, um diesen zu steuern.
Wenn Sie den geöneten Joy-Pi von vorne betrachten, benden sich die GPIO-Pins auf der rechten Seite des Raspberry Pis.
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 7
Joy-Pi
Es gibt 2 mögliche Raspberry Pi GPIO Schemata: GPIO-BOARD und GPIO-BCM Die GPIO-BOARD Opon gibt an, dass Sie sich auf die Pins anhand der Nummer des Pins beziehen. Das heißt es werden die unten voranstehenden Pin-Nummern verwendet.
Die Opon GPIO.BCM bedeutet, dass Sie sich auf die Pins des "Broadcom SOC Channel" beziehen. Dies sind die Zahlen nach "GPIO".
1 3.3V DC 3 GPIO 2 (SDA1, I2C) 5 GPIO 3 (SCL1, I2C) 7 GPIO 4
9 Ground 11 GPIO 17 13 GPIO 27 15 GPIO 22
17 3.3V
19 GPIO 10 (SPI, MOSI) 21 GPIO 9 (SPI, MISO) 23 GPIO 11 (SPI, CLK) 25 Ground 27 ID_SD (I2C, EEPROM) 29 GPIO 5 31 GPIO 6 33 GPIO 13
35 GPIO 19
37 GPIO 26 39 Ground
2 5V DC 4 5V DC 6 Ground
8 GPIO 14 (TXD0) 10 GPIO 15 (RXD0) 12 GPIO 18 14 Ground 16 GPIO 23
18 GPIO 24
20 Ground 22 GPIO 25 24 GPIO 8 (SPI) 26 GPIO 7 (SPI) 28 ID_SC 30 Ground 32 GPIO 12 34 Ground
36 GPIO 16
38 GPIO 20 40 GPIO 21
GPIO-Board
Nummer:
GPIO-Board
Nummer:
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 8
Joy-Pi
BELEGUNG NACH GPIO-BOARD-SCHEMA
GPIO-BOARD Nummer:
Sensoren und Module
1 3.3V 2 5.0V 3 I2C, SDA1 (Licht Sensor, LCD Display, 7 Segment Display) 4 5.0V 5 I2C, SCL1 (Licht Sensor, LCD Display, 7 Segment Display) 6 Ground 7 DHT11 Sensor 8 TXD0
9 Ground 10 RXD0 11 Touch Sensor 12 Buzzer 13 Schallächenmatrix (ROW1), Vibraonsmotor 14 Ground 15 Schallächenmatrix (ROW2), Neigungssensor 16 Bewegungssensor 17 3.3V 18 Schallsensor 19 SPI 20 Ground
21 SPI
22 Servo2, Schallächenmatrix (COL1), Le Buon 23 SPI 24 RFID Modul 25 Ground 26 LED-MATRIX 27 ID_SD (I2C, EEPROM(Electrically Erasable Programmable Read-only Memory)) 28 ID_SC 29 Schrimotor (STEP1), Schallächenmatrix (ROW3) 30 Ground 31 Schrimotor (STEP2), Schallächenmatrix (ROW4)
32 Ultraschallsensor (Echo)
33 Schrimotor (STEP3), Schallächenmatrix (COL4), Down Buon 34 Ground 35 Schrimotor (STEP4), Schallächenmatrix (COL3), Right Buon 36 Ultraschallsensor (TRIG) 37 Servo1, Schallächenmatrix (COL2), Up Buon 38 Infrarot Sensor 39 Ground 40 Relais
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 9
Joy-Pi
In unseren Beispielen verwenden wir die Programmiersprache Python“, um die GPIO-Pins zu steuern. In Python gibt es eine Bibliothek namens "RPi.GPIO". Dies ist eine Bibliothek, die dabei hil, die Pins mit Python zu steuern.
Das folgende Beispiel und die Kommentare im Code sollen Ihnen helfen das Programm zu verstehen.
Als Erstes müssen die benögten Bibliotheken mit Hilfe des „import“ Befehls imporert werden. Die Variablen „TOUCH“ und „BUZZER“ verweisen auf die Pins des Touchsensors und des Buzzers. Im Anschluss wird mit „GPIO.setmode(GPIO.BOARD)“ das verwendete GPIO Schema deniert. Als Nächstes werden die zuvor festgelegten Variablen mit Hilfe des Befehls „GPIO.setup()“ als Ein– bzw. Ausgang konguriert. Pin 11 (TOUCH) wird als Eingang und PIN 12 (BUZZER) wird als Ausgang festgelegt.
Die Funkon mainfragt ab ob es eine Berührung des Touchsensors gibt. Ist dies der Fall wird die
Funkon do_smtausgeführt. Die Funkon do_smtdruckt den Text Touch wurde erkannt“, setzt dann den Buzzer-Pin HIGHund eine Sekunde später wieder LOW(der Buzzer summt eine Sekunde).
Um noch mehr über den Zweck und die Verwendung von GPIO zu erfahren, empfehlen wir Ihnen sich die ozielle Dokumentaon der Raspberry Pi Foundaon zum Thema GPIO anzuschauen.
hps://www.raspberrypi.org/documentaon/usage/gpio/
import RPi.GPIO as GPIO import time #importieren der Bibliotheken import signal
TOUCH = 11 #Deklaration der Pinne BUZZER = 12
def setup_gpio(): #Definition der Ein- und Ausgaenge
GPIO.setmode(GPIO.BOARD) GPIO.setup(TOUCH, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(BUZZER, GPIO.OUT)
def do_smt(channel): #Funktion zur Ausgabe das Touch erkannt wurde
print("Touch wurde erkannt") #und Ausgabe ueber den Buzzer GPIO.output(BUZZER, GPIO.HIGH) #Signal ausgabe time.sleep (1) #1 Sekunde warten GPIO.output(BUZZER, GPIO.LOW) #Signalausgabe stoppen
def main():
setup_gpio() try: #Pruefung ob ein Touch erkannt wurde GPIO.add_event_detect(TOUCH, GPIO.FALLING, callback=do_smt, bouncetime=200) signal.pause() except KeyboardInterrupt: #strg+c beendet das Programm pass finally: GPIO.cleanup()
if __name__ == '__main__':
main()
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 10
Joy-Pi
SOFTWAREINSTALLATION FÜR DEN JOY-PI
Auf der mit gelieferten MicroSD Karte ist schon ein vorinstalliertes Betriebssystem aufgespielt. Wenn Sie die Karte neu beschreiben möchten, können Sie dies wie folgt durchführen:
Als erstes sollten Sie die aktuellste Image-Datei für den Joy-Pi, von unserer Website www.joy-pi.net herunterladen.
1. Laden Sie die Image-Datei (.zip Format) auf Ihren PC, nach dem Entpacken der Datei erhalten Sie eine Datei mit der Endung .img.
2. Schließen Sie eine MicroSD Karte an Ihren PC an und formaeren Sie diese mit dem Programm SD Formaer. Ein MicroSD Kartenlesegerät ist im Lieferumfang enthalten.
3. Starten Sie das Programm Win32 Disk Imagerund wählen Sie
1. die heruntergeladene Imagedatei aus
2. das zu beschreibende Laufwerk aus
danach klicken Sie auf die Schalläche Schreibenum das Image auf die Karte zu schreiben.
4. Nun ist die Karte mit dem Betriebssystem beschrieben und Sie können diese in den MicroSD-Kartenslot des Raspberry Pi Stecken.
5. Zum Schluss müssen Sie das Image noch auf die größe Ihrer SD-Karte anpassen.
Starten Sie dafür Ihren Raspberrry Pi, önen Sie das Terminal und geben sudo raspi-congein. Gehen Sie nun auf Advanced Oponsund dann auf Expand Filesystem“. Nach einem Neustart wurde die Image Größe auf Ihre SD-Karte angepasst.
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 11
Joy-Pi
Dieser Schri ist oponal, macht es jedoch einfacher, Skripts auszuführen, ohne sie einzeln erstellen zu müssen. Auf der mitgelieferten micro-SD Karte benden sich die Skripte auf dem Desktop.
Die in dieser Anleitung verwendeten Skripte können direkt in einem Paket heruntergeladen werden. Folgen Sie dazu einfach den folgenden Anweisungen:
1. Önen Sie das "Terminal". Dies benutzen wir, um die meisten unserer Python Skripte auszuführen und
Erweiterungen und Skripte herunterzuladen.
2. Nachdem wir das Terminal erfolgreich geönet haben, müssen wir nun das Skriptarchiv mit dem folgenden Befehl auf den Desktop herunterladen:
3. Drücken Sie "Enter" auf Ihrer Tastatur. Nun muss das Archiv nur noch entpackt werden:
4. Drücken Sie "Enter" und warten Sie, bis der Vorgang abgeschlossen ist.
5. Mit dem Befehl "cd" wechseln wir in das richge Verzeichnis, damit wir die Skripte verwenden können, die sich darin benden:
4. VERWENDUNG VON PYTHON UND LINUX
cd Desktop/ wget http://anleitung.joy-it.net/wp-content/uploads/2019/01/Joy-Pi.zip
unzip Joy-Pi.zip
cd Joy-Pi
Achtung! Jedes Mal, wenn Sie Ihren Joy-Pi ausschalten, müssen Sie die Schrie des Verzeichniswechseln wiederholen.
Die Anmeldedaten sind: Username: pi Passwort: 12345
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 12
Joy-Pi
AUSFÜHREN VON PYTHON SKRIPTS
Nachdem die Skripte erfolgreich von unserer Webseite heruntergeladen wurden, möchten wir es jetzt ausführen. Önen Sie erneut das Terminal und befolgen Sie die folgende Anweisung, um das Skript auszu­führen:
1. Geben Sie den Befehl "sudo python <script name>" ein, um ein Python-Skript auszuführen.
Zum Beispiel:
Der Befehl setzt sich aus 3 Teilen zusammen. Durch den Befehl sudowird der folgende Teil der Befehls­zeile mit root-Berechgungen (Admin-Berechgungen) ausgeführt. pythonist der Befehl der gleichna- migen Programmiersprache, in der die Skripte geschrieben sind. Am Ende steht der Name des Skripts. Hierbei ist zu beachten, dass man sich entweder in dem Ordner bendet, in dem das jeweilige Skript ge­speichert ist oder den Pfad (z. B. ~/Joy-Pi/buzzer.py“) angibt.
sudo python buzzer.py
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 13
Joy-Pi
5.1 LEKTION 1: VERWENDEN DES BUZZERS FÜR WARNTÖNE
In der vorherigen Erklärung haben wir gelernt, wie man den GPIO-Pin sowohl als Ausgabe als auch als Eingabe verwendet. Um dies nun zu testen, gehen wir mit einem realen Beispiel voran und wenden unser Wissen aus der vorherigen Lekon an. Das Modul, welches wir verwenden werden, ist der "Buzzer".
Wir werden den GPIO-Ausgang verwenden, um ein Signal an den Buzzer zu senden und die Schaltung zu schließen, um ein lautes Summen zu erzeugen dann werden wir ein anderes Signal senden, um es auszuschalten.
Der Buzzer bendet sich auf der rechten Seite des Joy-Pi-Boards und ist durch das laute Geräusch, dass es
bei Akvierung macht leicht zu erkennen. Wenn Sie Ihren Raspberry Pi zum ersten Mal verwenden, ist der Buzzer möglicherweise mit einem Schutzauleber versehen. Stellen Sie sicher, dass dieser Auleber vor Gebrauch des Buzzers enernt wurde.
Genau wie im vorherigen Beispiel haben wir ein spezielles Skript mit detaillierten Kommentaren vorbereitet, die erklären werden, wie der gesamte Buzzer-Prozess funkoniert, und wie wir den Buzzer mit den GPIOs steuern können.
Zuerst imporeren wir die RPi.GPIO-Bibliothek und die me-bibliothek. Dann kongurieren wir den Buzzer. An Pin 12 richten wir den GPIO-Modus auf GPIO BOARD und den Pin als OUTPUT ein.
Wir geben ein Signal für 0,5 Sekunden aus und schalten dieses dann aus.
5. LEKTIONEN
Achtung! Für dieses Beispiel müssen Sie alle Schalter der linken und rechten Schalteinheit auf OFF stellen.
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 14
Joy-Pi
Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:
#!/usr/bin/python
import RPi.GPIO as GPIO #importieren der benoetigten Bibliotheken import time
buzzer_pin = 12 #buzzer_pin wird definiert
GPIO.setmode(GPIO.BOARD) GPIO.setup(buzzer_pin, GPIO.OUT)
GPIO.output(buzzer_pin, GPIO.HIGH) #Gebe Geraeusch aus
time.sleep(0.5) #warte eine halbe Sekunde
GPIO.output(buzzer_pin, GPIO.LOW) #Stoppe Geraeuschausgabe
GPIO.cleanup()
sudo python buzzer.py
cd /home/pi/Desktop/Joy-Pi/
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 15
Joy-Pi
5.2 LEKTION 2: BUZZER MIT TASTER STEUERN
Nach dem Sie nun wissen, wie man den Buzzer ein- und ausschaltet, ist es Zeit, die Dinge ein wenig aufregender zu gestalten. In dieser Lekon ein Taster mit dem Buzzer kombiniert, sodass der Buzzer nur durch Drücken des Tasters eingeschaltet wird.
Dieses Mal werden 2 GPIO-Setups verwendet. Einer wird der GPIO.INPUT sein, der den Taster als Eingabemöglichkeit einstellt, ein anderer wird der GPIO.OUTPUT sein, der ein Signal an den Buzzer sendet, um ein Geräusch auszugeben.
In diesem Beispiel wird der Obere der 4 Taster auf der unteren linken Seite verwendet. Theoresch kann
jedoch jeder der 4 Taster verwendet werden. Wenn Sie trotzdem einen anderen Taster verwenden möchten, müssen Sie die Pinbelegung dementsprechend ändern.
Achtung! Für dieses Beispiel müssen Sie zwischen den Modulen wechseln. Stellen Sie die Schalter Nummer 5, 6, 7 und 8 der linken Schalteinheit auf ON. Alle anderen Schalter sollten auf OFF stehen.
GPIO37 Oberer Taster GPIO33 Unterer Taster GPIO22 Linker Taster GPIO35 Rechter Taster
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 16
Joy-Pi
Für diesen Teil des Tutorials müssen 2 GPIO-Einstellungen verwendet werden. Eine Eingabe und eine Ausgabe. Der GPIO-Eingang wird verwendet, um zu besmmen, wann ein Taster gedrückt wurde und die GPIO-Ausgabe wird verwendet, um den Buzzer zu akvieren, sobald dieser Taster gedrückt wird.
Wenn Sie den Taster auf Ihrem Joy-Pi drücken, ertönt der Buzzer! Lassen Sie den Taster los und der Buzzer verstummt. Das Programm läu solange bis STRG + C gedrückt wird.
Beispielcode:
Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
#definiere Pins
button_pin = 37 buzzer_pin = 12
#setze Board Modus zu GPIO.BOARD
GPIO.setmode(GPIO.BOARD)
#lege button_pin als Eingang und buzzer_pin als Ausgang fest
GPIO.setup(button_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(buzzer_pin, GPIO.OUT)
try:
while True:
#ueberpruefe ob Knopf gedrueckt wird
if(GPIO.input(button_pin) == 0): #Buzzer ein GPIO.output(buzzer_pin, GPIO.HIGH) else: #Buzzer aus GPIO.output(buzzer_pin, GPIO.LOW)
except KeyboardInterrupt:
GPIO.cleanup()
sudo python button_buzzer.py
cd /home/pi/Desktop/Joy-Pi/
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 17
Joy-Pi
5.3 LEKTION 3: WIE EIN RELAIS FUNKTIONIERT UND WIE MAN ES STEUERT
Nachdem wir jetzt alles Nöge über den Buzzer wissen, ist es Zeit für die nächste Lekon. Nun lernen wir, wie das Relais zu verwenden ist, welche Funkon das Relais hat und wie man es steuert.
Ein Relais ist vereinfacht ein Schalter, den (unteranderem) mit GPIO-Pins ein– und ausschalten kann. Relais werden verwendet, um eine Schaltung durch ein separates Niederleistungssignal zu steuern, oder wenn mehrere Schaltungen durch ein Signal gesteuert werden müssen. In unserem Beispiel zeigen wir, wie ein GPIO-Signal gesendet wird, um das Relais zu schließen, um eine benutzerdenierte Schaltung zu
akvieren und wie man ein weiteres Signal sendet, um das Relais zu önen und die Schaltung zu
deakvieren.
Das Relais bendet sich im mileren, unteren Teil der Plane, direkt neben der Taster-Matrix. Es hat drei Anschlüsse, von denen wir 2 in diesem Beispiel benutzen werden. NCsteht für normally closed“, „NO steht für normally openund comsteht für common“. „commonsteht in dem Fall für die
gemeinsame Masse.
Wenn ein Stromkreis an NCund COMangschlossen wird, ist der Stromkreis geschlossen, wenn der Steuerstromkreis spannungslos ist (GPIO.LOW). Wird der Steuerstromkreis unter Spannung gesetzt (GPIO.HIGH), önet das Relais die Verbindung im Arbeitsstromkreis und der Stromuss wird unterbrochen. Bei der Nutzung von NOund COMverhält es sich genau umgekehrt. Ist der Steuerstromkreis spannungslos (GPIO.LOW), ist das Relais geönet und der Arbeitsstromkreis unterbrochen. Wird der Steuerstrom mit Spannung versorgt (GPIO.HIGH), schließt das Relais den Arbeitsstromkreis und der Strom kann ießen.
Achtung! Es ist sehr wichg, nicht zu versuchen, Hochspannungsgeräte an das Relais anzu­schließen (z.B. Tischlampe, Kaeemaschine usw.). Dies könnte zu Stromschlägen und schweren Verletzungen führen.
Achtung! Für dieses Beispiel müssen Sie alle Schalter der linken und rechten Schalteinheit auf OFF stellen.
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 18
Joy-Pi
Jetzt, da wir wissen, was ein Relais ist und wie es funkoniert, werfen wir einen Blick auf den Code:
Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:
#!/usr/bin/python
import RPi.GPIO as GPIO import time
# definiere relais pin
relay_pin = 40
# Board Modus GPIO.BOARD
GPIO.setmode(GPIO.BOARD)
# relay_pin als Ausgang
GPIO.setup(relay_pin, GPIO.OUT)
# Oeffne Relais
GPIO.output(relay_pin, GPIO.LOW)
# warte eine halbe Sekunde
time.sleep(0.5)
# schliesse Relais
GPIO.output(relay_pin, GPIO.HIGH) GPIO.cleanup()
sudo python relay.py
cd /home/pi/Desktop/Joy-Pi/
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 19
Joy-Pi
5.4 LEKTION 4: SENDEN EINES VIBRATIONSSIGNALS
Haben Sie sich schon einmal gefragt, wie Ihr Telefon vibriert, wenn Sie jemand anru oder wenn Sie eine Nachricht erhalten? Wir haben genau das gleiche Modul in unserem Joy-Pi verbaut und nun werden Sie lernen, wie man es verwendet.
Das Vibraonsmodul bendet sich auf der rechten Seite der LED-Matrix und unterhalb der Segment-LED. Wenn es eingeschaltet ist, ist es schwierig zu erkennen, woher die Vibraon kommt, da es sich anfühlt, als vibriere das ganze Joy-Pi Board.
Das Vibraonsmodul verwendet ein GPIO.OUTPUT-Signal, genau wie der Buzzer und andere Module zuvor. Durch Senden eines Ausgangssignals vibriert das Vibraonsmodul, durch Stoppen des Signals mit GPIO.LOW hört die Vibraon auf.
Mit verschiedenen me.sleep() Intervallen kann man die Dauer der Vibraon regeln. Versuchen Sie es selbst und schauen Sie, wie Sie das Beispiel erweitern können.
Für dieses Beispiel müssen Sie zwischen den Modulen wechseln. Stellen Sie Schalter Nummer 1 der rechten Schalteinheit auf ON. Alle anderen Schalter sollten auf OFF stehen.
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 20
Joy-Pi
Beispielcode Vibraonsmodul:
Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:
#!/usr/bin/python
import RPi.GPIO as GPIO import time
# definieren des Vibrationspins
vibration_pin = 13
# setze Boardmodus zu GPIO.BOARD
GPIO.setmode(GPIO.BOARD)
# lege Vibrationspin als Ausgang fest
GPIO.setup(vibration_pin, GPIO.OUT)
# schalte Vibration ein
GPIO.output(vibration_pin, GPIO.HIGH)
# warte eine Sekunde
time.sleep(1)
# schalte Vibration aus
GPIO.output(vibration_pin, GPIO.LOW)
GPIO.cleanup()
sudo python vibration.py
cd /home/pi/Desktop/Joy-Pi/
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 21
Joy-Pi
5.5 LEKTION 5: GERÄUSCHE MIT DEM SCHALLSENSOR ERKENNEN
In dieser Lekon lernen wir, wie man über den Schallsensor Eingaben tägt, laute Geräusche erkennt und entsprechend reagiert. So können Sie Ihr eigenes Alarmsystem auauen, das laute Geräusche erkennt oder eine LED durch Klatschen einschalten!
Der aus 2 Teilen aufgebaute Schallsensor besteht aus einem blauen Potenometer, das für die Regulierung der Empndlichkeit zuständig ist, und dem Sensor selbst, der Geräusche erkennt. Der Schallsensor ist gut am blauen Potenometer zu erkennen und der Sensor selbst bendet sich rechts unter dem Buzzer.
Mit Hilfe des Potenometers können wir die Empndlichkeit des Sensors regulieren. Damit unser Skript funkoniert, müssen wir zuerst lernen, wie man die Empndlichkeit steuert. Um die Empndlichkeit zu regulieren, müssen Sie die kleine Schraube am Potenometer mit einem Schraubendreher nach links oder rechts drehen. Wenn sie gegen den Uhrzeigersinn drehen, steigt die Empndlichkeit mit dem Uhrzeigersinn verringert sich diese. Der beste Weg die Empndlichkeit zu testen
ist das Skript auszuführen. Klatschen Sie in die Hände und schauen Sie, ob das Gerät ein Signal empfängt.
Wenn kein Signal empfangen wird bedeutet dies, dass die Empndlichkeit des Sensors nicht hoch genug eingestellt ist. Dies können Sie durch drehen des Potenometers einfach beheben.
#!/usr/bin/python
import RPi.GPIO as GPIO import time
# sound_pin wird definiert
sound_pin = 18
# GPIO mode wird auf GPIO.BOARD gesetzt
GPIO.setmode(GPIO.BOARD)
# sound_pin wird als Eingang festgelegt
GPIO.setup(sound_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
try:
while True: # ueberpruefe ob ein Geraeusch erkannt wird if(GPIO.input(sound_pin)==GPIO.LOW): print('Sound erkannt') time.sleep(0.1)
except KeyboardInterrupt:
# Strg+c beendet das Programm GPIO.cleanup()
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 22
Joy-Pi
Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:
Wir denieren zuerst unseren Pin, GPIO18. Dann setzen wir eine while-Schleife, um dieses Skript
dauerha laufen zu lassen. Wir prüfen, ob wir vom Schallsensor eine Eingabe erhalten haben, die anzeigt,
dass laute Geräusche erkannt wurden und dann drucken wir "Sound Detected".
Wenn Strg + C gedrückt wird, wird das Programm beendet.
5.6 LEKTION 6: ERKENNEN DER HELLIGKEIT MIT DEM LICHTSENSOR
Der Lichtsensor ist einer unserer Lieblinge. Er ist in vielen Projekten und Situaonen äußerst nützlich, z. B. bei Lampen, die automasch angehen, sobald es dunkel wird. Mit dem Lichtsensor kann man erkennen, wie hell die Moduloberäche ist.
Der Lichtsensor ist schwer zu erkennen, da er aus sehr kleinen Teilen besteht. Der Sensor liegt links neben dem Buzzer. Wenn Sie ihn mit Ihrem Finger verdecken, sollte die Ausgabe des Lichtsensors nahe null gehen, da ihn kein Licht mehr erreichen kann.
sudo python sound.py
cd /home/pi/Desktop/Joy-Pi/
Achtung! Für dieses Beispiel müssen Sie alle Schalter der linken und rechten Schalteinheit auf OFF stellen.
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 23
Joy-Pi
Nun ist es Zeit, den Sensor zu testen und zu sehen, wie er funkoniert. Jedoch ist der Lichtsensor ein wenig anders, als andere Sensoren, da er mit I2C funkoniert und nicht mit den normalen GPIOs, wie Sie es in den Lekonen zuvor gelernt haben.
In diesem Skript wird eine Funkon verwendet, um mit dem Lichtsensor zu "kommunizieren" und die ge­wünschte Ausgabe mit der Helligkeit zu erhalten. Je höher die ausgegebene Zahl ist, desto heller ist die Umgebung.
Beispielcode:
#!/usr/bin/python # -*- coding: utf-8 -*- # Author: Matt Hawkins
# Author's Git: https://bitbucket.org/MattHawkinsUK/
# Author's website: https://www.raspberrypi-spy.co.uk
import RPi.GPIO as GPIO import smbus import time
if(GPIO.RPI_REVISION == 1):
bus = smbus.SMBus(0)
else:
bus = smbus.SMBus(1)
class LightSensor():
def __init__(self):
# Definiere Konstante vom Datenblatt
self.DEVICE = 0x5c # Standart I2C Geräteadresse
self.POWER_DOWN = 0x00 # Kein aktiver zustand self.POWER_ON = 0x01 # Betriebsbereit self.RESET = 0x07 # Reset des Data registers
# Starte Messungen ab 4 Lux. self.CONTINUOUS_LOW_RES_MODE = 0x13 # Starte Messungen ab 1 Lux. self.CONTINUOUS_HIGH_RES_MODE_1 = 0x10 # Starte Messungen ab 0.5 Lux. self.CONTINUOUS_HIGH_RES_MODE_2 = 0x11 # Starte Messungen ab 1 Lux.
# Nach messung wird Gerät in einen inaktiven Zustand gesetzt.
self.ONE_TIME_HIGH_RES_MODE_1 = 0x20 # Starte Messungen ab 0.5 Lux. # Nach messung wird Gerät in einen inaktiven Zustand gesetzt. self.ONE_TIME_HIGH_RES_MODE_2 = 0x21 # Starte Messungen ab 4 Lux. # Nach messung wird Gerät in einen inaktiven Zustand gesetzt. self.ONE_TIME_LOW_RES_MODE = 0x23
Veröffentlicht: 18.04.2019 Copyright by Joy-IT 24
Joy-Pi
Beispielcode fortgeführt:
Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:
sudo python light_sensor.py
cd /home/pi/Desktop/Joy-Pi/
def convertToNumber(self, data):
# Einfache Funktion um 2 Bytes Daten # in eine Dezimalzahl umzuwandeln return ((data[1] + (256 * data[0])) / 1.2)
def readLight(self):
data = bus.read_i2c_block_data(self.DEVICE,self.ONE_TIME_HIGH_RES_MODE_1) return self.convertToNumber(data)
def main():
sensor = LightSensor() try: while True: print "Light Level : " + str(sensor.readLight()) + " lx" time.sleep(0.5) except KeyboardInterrupt: pass
if __name__ == "__main__":
main()
Achtung! Für dieses Beispiel müssen Sie alle Schalter der linken und rechten Schalteinheit auf OFF stellen.
Loading...
+ 53 hidden pages