JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix...

52
3 JoyPi

Transcript of JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix...

Page 1: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

3

JoyPi

Page 2: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 2

JoyPi

1. Übersicht

2. Details

3. Modulwechsel und Verwendung der GPIOs

4. Verwendung von Python und Linux

5. Lektionen 5.1 Lektion 1: Verwenden des Buzzers für Warntöne 5.2 Lektion 2: Buzzer steuern mit Eingaben der Taste 5.3 Lektion 3: Wie ein Relais funktioniert und wie man es steuert 5.4 Lektion 4: Senden Sie ein Vibrationssignals 5.5 Lektion 5: Geräusche mit dem Schallsensor erkennen 5.6 Lektion 6: Erkennen der Helligkeit mit dem Lichtsensor 5.7 Lektion 7: Erkennen der Temperatur und der Luftfeuchtigkeit 5.8 Lektion 8: Bewegungen erkennen 5.9 Lektion 9: Entfernungen mit dem Ultraschallsensor messen 5.10 Lektion 10: Steuern des LCD-Displays 5.11 Lektion 11: Lesen und Schreiben von RFID-Karten 5.12 Lektion 12: Schrittmotoren verwenden 5.13 Lektion 13: Steuerung von Servomotoren 5.14 Lektion 14: Steuern der 8x8 LED-Matrix 5.15 Lektion 15: Steuern des 7-Segment-Displays 5.16 Lektion 16: Berührungen erkennen 5.17 Lektion 17: Neigungen mit dem Neigungssensor erkennen 5.18 Lektion 18: Verwenden der Schaltflächenmatrix 5.19 Lektion 19: Steuern und Verwenden des IR-Sensors 5.20 Lektion 20: Eigene Schaltungen mit dem Breadboard 5.21 Lektion 21: Fotografieren mit der Raspberry Pi-Kamera 6. Informations- und Rücknahmepflichten 7. Support

INHALTSVERZEICHNIS

Page 3: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 3

JoyPi

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 kontaktieren. Die folgenden Lektionen sind so konzipiert, dass Sie, unabhängig davon wieviel Vorwissen Sie bereits haben, alle Lektionen ohne Probleme ausführen können. Für die verschiedenen Lektionen müssen sie Beispieldateien herunterladen und auf dem JoyPi 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

Page 4: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 4

JoyPi

1 Raspberry Pi

2 GPIO LED Anzeige

3 Breadboard - zum Erstellen benutzerdefinierter Schaltungen mit externen Modulen

4 16x2 LCD Modul (MCP23008)

5 Stromversorgung

6 8x8 LED Matrix (MAX7219)

7 7 Segment LED Anzeige (HT16K33)

8 Vibrationsmodul

9 Lichtsensor - zum messen der Lichtstärke (BH1750)

10 Buzzer - zur Erzeugung von Alarmtönen

11 Schallsensor

12 Bewegungssensor (LH1778)

13 Ultraschallsensor - Wird zur Abstandsmessung verwendet

14 / 15 Servo-Schnittstellen - Zum Anschluss von Servomotoren

16 Schrittmotor-Schnittstelle

17 Neigungssensor (SW-200D)

18 Infrarotsensor

19 Berührungssensor

20 DH11 Sensor - Zur Messung von Luftfeuchtigkeit und Temperatur

21 Relais - Zum öffnen und schließen von elektronischen Schaltkreisen

22 Tasten-Matrix

23 Unabhängige Tasten

24 RFID Modul - Zum lesen und schreiben von Daten über RFID/NFC (MFRC522)

25 Schalter - Zum umschalten zwischen den Sensoren und Modulen

Page 5: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 5

JoyPi

MODULWECHSEL

Die JoyPi-Platine enthält 2 Schalteinheiten. Jede Einheit enthält 8 Schalter. Die Schalter ermöglichen es , zwischen der Verwendung von Sensoren und Modulen zu wechseln. Da der Raspberry Pi nur eine begrenzte Anzahl von GPIO - Pins hat, benötigen wir die Schalter um mehr Sensoren verwenden zu können. Die Verwendung dieser Schalter ist ziemlich einfach und wird in einigen der folgenden Lektionen benötigt. Für die folgenden Sensoren müssen Schalter verwendet werden:

3. MODULWECHSEL UND VERWENDUNG DER GPIOS

Sensoren / Module Schalteinheit Schalter

Tastenarray Links 1 - 8

Unabhängige Tasten Links 1 - 8

Vibrationsmodul Rechts 1

Neigungssensor Rechts 2

Schrittmotor Rechts 3, 4, 5, 6

Servomotor Rechts 7, 8

Page 6: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 6

JoyPi

VERWENDUNG DER GPIOS Im folgenden werden wir Ihnen genauer erläutern, was GPIO‘s sind, wie sie funktionieren und wie sie gesteuert werden. GPIO steht für: “General-purpose input / output“ (Universal Eingang / Ausgang). GPIO-Pins haben keinen speziell Zweck. Sie können entweder als Eingang oder als Ausgang konfiguriert werden und haben einen allgemeinen Zweck. Dieser hängt davon ab, was Sie erreichen möchten. Beispiel für den Eingangs-Pin: Eine Schaltfläche würde als Eingabe betrachtet werden, da Sie darauf klicken. Beispiel für den Ausgangs-Pin: Ein Buzzer wird als Ausgang betrachtet, weil Sie das Signal über den Buzzer senden.

Die GPIO - Pins befinden sich auf der rechten Seite des Raspberry Pi - Boards, wenn Sie von der Joy-Pi Perspektive ausgehen.

Page 7: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 7

JoyPi

Es gibt 2 mögliche Raspberry Pi GPIO Schemata: GPIO-BOARD und GPIO-BCM Die GPIO-BOARD Option gibt an, dass Sie sich auf die Pins anhand der Nummer des Pins beziehen. D.h. es werden die unten voranstehenden Pin-Nummern verwendet. Die Option 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

Page 8: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 8

JoyPi

In unseren Beispielen verwenden wir Python-Sprache, um die GPIO-Pins zu steuern. In Python gibt es eine Bibliothek namens "RPi.GPIO". Dies ist eine Bibliothek, die dabei hilft, die Pins programmgesteuert mit Python zu steuern. Schauen Sie sich das folgende Beispiel und die Kommentare im Code an, um besser zu verstehen, wie es funktioniert. Der erste Schritt wird sein, die Bibliothek zu importieren, indem wir den Befehl "RPi.GPIO as GPIO" eingeben, danach kommt die "time" -Bibliothek mit dem Befehl "import time". Dann richten wir den GPIO-Modus auf GPIO.BOARD ein. Wir deklarieren den Eingangs-Pin als Pin Nummer 11 für unser Beispiel und den Ausgangs-Pin als Pin 12 (der Eingang ist der Berührungssensor und der Ausgang ist der Buzzer). Wir senden ein Signal an den Ausgangs-Pin, warten 1 Sekunde und schalten ihn dann aus. Dann, um die Eingabe zu bestätigen, durchlaufen wir eine Schleife, bis das GPIO.input Eingangssignal empfangen wurde. Wir drucken "Input Given", um sicherzustellen, dass der Klick bestätigt wurde, bereinigen den GPIO mit GPIO.cleanup () und beenden das Skript.

Um noch mehr über den Zweck und die Verwendung von GPIO zu erfahren, empfehlen wir Ihnen die offizielle Dokumentation über die RFID-GPIO-Module zu lesen. Folgen Sie diesem Link, um mehr über die offiziellen Raspberry Pi GPIO Dokumentation zu erfahren:

https://pythonhosted.org/RPIO/

import RPi.GPIO as GPIO import time #importieren der Bibliotheken GPIO.setmode(GPIO.BOARD) #GPIO-Modus auf GPIO.BOARD input_pin = 11 output_ = 12 GPIO.setup(input_pin, GPIO.IN) GPIO.setup(output_pin, GPIO.OUT) #Aus– und Eingänge definieren GPIO.output(output_pin, GPIO.HIGH) #Signal ausgeben Time.sleep (1) #1 Sekunde warten GPIO.output(output_pin, GPIO.LOW) #Signalausgabe stoppen try: while True: #schleife if (GPIO.input(touch_pin)): #überprüfen ob Eigangssignal vorhanden ist print(“Input given!“) time.sleep(0.1) Except KeyoardInterrupt: #strg+c beendet das Programm GPIO.cleanup()

Page 9: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 9

JoyPi

Dieser Schritt ist optional, macht es jedoch einfacher, Skripts auszuführen, ohne sie einzeln erstellen zu müssen. Die in dieser Anleitung verwendeten Skripte können direkt in einem Paket heruntergeladen werden. Folgen Sie dazu einfach den folgenden Anweisungen: 1. Öffnen Sie das "Terminal". Dies benutzen wir, um die meisten unserer Python Skripte auszuführen und Erweiterungen und Skripte herunterzuladen.

4. VERWENDUNG VON PYTHON UND LINUX

Page 10: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 10

JoyPi

2. Nachdem wir das Terminal erfolgreich geöffnet haben, müssen wir nun das Skriptarchiv mit dem folgenden Befehl 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 richtige Verzeichnis, damit wir die Skripte verwenden können, die sich darin befinden:

wget http://anleitung.joy-it.net/wp-content/uploads/2018/10/JoyPi.zip

unzip JoyPi.zip

cd Joy-Pi

Achtung! Jedes Mal, wenn Sie Ihren Joy-Pi ausschalten, müssen Sie die Schritte des Verzeichniswechseln wiederholen.

Page 11: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 11

JoyPi

AUSFÜHREN VON PYTHON SKRIPTS Nachdem wir unser Skript erfolgreich von GitHub heruntergeladen haben, möchten wir es jetzt ausführen. Öffnen Sie erneut das Terminal und befolgen Sie die folgenden Anweisungen, um das Skript auszuführen: 1. Schreiben Sie den Befehl "sudo python <script name>", um ein Python-Skript auszuführen.

Zum Beispiel:

Der sudo-Befehl gibt uns root-Berechtigungen (Admin-Berechtigungen), die später von der GPIO-Bibliothek benötigt werden. Wir schreiben "python", um dem System mitzuteilen, dass wir den Befehl mit Python ausführen wollen. Am Ende schreiben wir den Skriptnamen, wie wir ihn auf den Desktop heruntergeladen haben. Sie haben das Python-Skript erfolgreich ausgeführt.

sudo python buzzer.py

Page 12: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 12

JoyPi

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 Lektion 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 befindet sich auf der rechten Seite des Joy-Pi-Boards und ist durch das laute Geräusch, dass es bei Aktivierung macht leicht zu erkennen. Wenn Sie Ihr Raspberry Pi zum ersten Mal verwenden, ist der Buzzer möglicherweise mit einem Schutzaufkleber versehen. Stellen Sie sicher, dass dieser Aufkleber vor Gebrauch des Buzzers entfernt wurde. Genau wie im vorherigen Beispiel haben wir ein spezielles Skript mit detaillierten Kommentaren vorbereitet, die erklären werden, wie der gesamte Buzzer-Prozess funktioniert, und wie wir den Buzzer mit den GPIOs steuern können. Zuerst importieren wir die RPi.GPIO-Bibliothek und die time-bibliothek. Dann konfigurieren 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

Page 13: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 13

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

#!/usr/bin/python #importieren der benötigten Bibliotheken import RPi.GPIO as GPIO import time #buzzer_pin wird definiert buzzer_pin = 12 GPIO.setmode(GPIO.BOARD) GPIO.setup(buzzer_pin, GPIO.OUT) #Gebe Geräusch aus GPIO.output(buzzer_pin, GPIO.HIGH) #warte eine halbe Sekunde time.sleep(0.5) #Stoppe Geräuschausgabe GPIO.output(buzzer_pin, GPIO.LOW) GPIO.cleanup()

sudo python buzzer.py

cd /home/pi/Desktop/Joy-Pi/

Page 14: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 14

JoyPi

5.2 LEKTION 2: BUZZER STEUERN MIT EINGABEN DER TASTEN Nach dem erfolgreichen Demonstrieren, wie man den Buzzer ein- und ausschaltet, ist es Zeit, die Dinge ein wenig aufregender zu gestalten. In dieser Lektion kombinieren wir eine Schaltfläche mit dem Buzzer, sodass der Buzzer nur durch Drücken der Taste eingeschaltet wird. Dieses Mal werden wir 2 GPIO-Setups verwenden. Einer wird der GPIO.INPUT sein, das die Schaltfläche als Eingabemöglichkeit übernimmt, ein anderes wird der GPIO.OUTPUT sein, der ein Signal an den Buzzer sendet, um ein Geräusch auszugeben.

In unserem Beispiel verwenden wir die obere der 4 Tasten auf der unteren linken Seite. Theoretisch kann jedoch jede der 4 Tasten verwendet werden. Wenn Sie trotzdem eine andere Taste verwenden möchten, müssen sie auch die Pinbelegung dementsprechend ändern.

Achtung! Für diese Beispiel müssen sie zwischen den Modulen wechseln.

GPIO37 Obere Taste

GPIO27 Untere Taste

GPIO22 Linke Taste

GPIO35 Rechte Taste

Page 15: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 15

JoyPi

Für diesen Teil unseres Tutorials müssen wir 2 GPIO-Einstellungen verwenden. Eine Eingabe und eine Ausgabe. Der GPIO-Eingang wird verwendet, um zu bestimmen, wann eine Taste gedrückt wurde und die GPIO-Ausgabe wird verwendet, um den Buzzer zu aktivieren, sobald diese Taste gedrückt wird. Wie Sie in dem Beispiel unten sehen können, haben wir 2 Pins definiert, die buzzer_pin und button_pin genannt wurden. Das Programm läuft solange bis STRG + C gedrückt wird. Wenn Sie die Taste auf Ihrem Joy-Pi drücken, ertönt der Buzzer! Lassen Sie die Taste los und der Buzzer verstummt.

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: #überprüfe ob Knopf gedrückt wird if (GPIO.input(button_pin)): #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/

Page 16: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 16

JoyPi

5.3 LEKTION 3: WIE EIN RELAIS FUNKTIONIERT UND WIE MAN ES STEUERT Nachdem wir jetzt alles nötige über den Buzzer wissen, ist es Zeit für die nächste Lektion. Nun lernen wir, wie das Relais zu verwenden ist, welche Funktion das Relais hat und wie man es steuert. 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 öffnen um eine benutzerdefinierte Schaltung zu aktivieren und wie man ein weiteres Signal sendet, um das Relais zu schließen und die Schaltung zu deaktivieren. Das Relais befindet sich im mittleren, unteren Teil der Platine, direkt neben der Tastenmatrix. Es hat 3 Eingänge von denen wir 2 in diesem Beispiel benutzen werden (positiv und negativ). Der Positive ist mit NC markiert und der negative mit NO. Der Dritte, den wir in diesem Beispiel nicht benutzen, ist mit COM markiert. Bevor wir uns dem Code widmen, ist es wichtig zu verstehen, wie ein Relais funktioniert und was seine Aufgabe ist.

Page 17: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 17

JoyPi

Wenn wir auf die rechte Seite des Bildes schauen, können wir sehen, dass es zwei schwarze Linien gibt. Die obere ist die negative Linie und die untere ist die positive Linie. Indem positive und negative Linien in das Relais verbunden werden, sind wir in der Lage, eine benutzerdefinierte elektronische Schaltung zu erstellen, um z.B. eine LED zu steuern. Indem wir das Relais öffnen, lassen wir die Schaltung "fließen", und die LED sollte aufleuchten. Indem wir das Relais schließen, blockieren wir unsere Schaltung und dadurch würde unsere LED nicht weiter aufleuchten.

Jetzt, da wir verstanden haben was ein Relais ist und wie es funktionier, werfen wir einen Blick auf den Code:

Achtung! Es ist sehr wichtig, nicht zu versuchen, Hochspannungsgeräte an das Relais anzu-schließen (z.B. Tischlampe, Kaffeemaschine usw.). Dies könnte zu Stromschlägen und schweren Verletzungen führen.

#!/usr/bin/python import RPi.GPIO as GPIO import time #definiere relay_pin relay_pin = 40 #Board Modus GPIO.BOARD GPIO.setmode(GPIO.BOARD) #relay_pin als Ausgang GPIO.setup(relay_pin, GPIO.OUT) #öffne Relais GPIO.output(relay_pin, GPIO.LOW) #warte halbe Sekunde time.sleep(0.5) #schließe Relais GPIO.output(relay_pin, GPIO.HIGH) GPIO.cleanup()

Page 18: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 18

JoyPi

Wenn Sie genau hinsehen, werden Sie vielleicht etwas ungewöhnliches im obigen Code bemerken. Das Öffnen des Relais wird durch GPIO.LOW und das Schließen wird durch GPIO.HIGH ausgelöst. In unserem vorherigen Beispiel haben wir GPIO.HIGH verwendet, um etwas zu öffnen und GPIO.LOW, um etwas zu schließen. Auf unserer JoyPi-Platine verwenden wir zu Ihrer Sicherheit einen Widerstand. Dieser Widerstand schaltet die Richtungen des Relais um, sodass GPIO.HIGH bedeutet, das Relais zu schließen und GPIO.LOW bedeutet es zu öffnen. Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

5.4 LEKTION 4: SENDEN EINES VIBRATIONSSIGNALS

Haben Sie sich schon immer gefragt, wie Ihr Telefon vibriert, wenn Sie jemand anruft oder wenn Sie eine Nachricht erhalten? Wir haben genau das gleiche Modul in unserem JoyPi verbaut und nun werden wir lernen wie man es verwendet. Das Vibrationsmodul befindet sich auf der rechten Seite der LED-Matrix und unterhalb der Segment-LED. Wenn es eingeschaltet ist, ist es schwierig zu erkennen, woher die Vibration kommt, da es sich anfühlt, als vibriere das ganze JoyPi Board.

sudo python relay.py

cd /home/pi/Desktop/Joy-Pi/

Für diese Beispiel müssen sie zwischen den Modulen wechseln. Stellen Sie Schalter Nummer 1 der rechten Schalteinheit auf ON.

Page 19: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 19

JoyPi

Das Vibrationsmodul verwendet ein GPIO.OUTPUT-Signal, genau wie der Buzzer und andere Module zuvor. Durch Senden eines Ausgangssignals vibriert das Vibrationsmodul, durch Stoppen des Signals mit GPIO.LOW hört die Vibration auf. Mit verschiedenen time.sleep() Intervallen kann man die Geschwindigkeit der Vibration regeln. Versuchen Sie es selbst und schauen sie welche Geschwindigkeit Sie erreichen.

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 halbe Sekunde Time.sleep(0.5) #schalte Vibration aus GPIO.output(vibration_pin, GPIO.LOW) GPIO.cleanup()

sudo python vibration.py

cd /home/pi/Desktop/Joy-Pi/

Page 20: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 20

JoyPi

5.5 LEKTION 5: GERÄUSCHE MIT DEM SCHALLSENSOR ERKENNEN In dieser Lektion lernen wir, wie man über den Schallsensor Eingaben tätigt, laute Geräusche erkennt und entsprechend reagiert. So können Sie Ihr eigenes Alarmsystem aufbauen, das laute Geräusche erkennt oder eine LED durch Klatschen einschalten! Der aus 2 Teilen aufgebaute Schallsensor, besteht aus einem blauen Potentiometer, dass für die Regulierung der Empfindlichkeit zuständig ist, und dem Sensor selbst, der die Eingabe von Geräuschen erkennt. Der Schallsensor ist gut am blauen Potentiometer zu erkennen und der Sensor selbst befindet sich rechts unter dem Buzzer. Mit Hilfe des Potentiometers können wir die Empfindlichkeit des Sensors regulieren. Damit unser Skript funktioniert, müssen wir zuerst lernen, wie man die Empfindlichkeit steuert. Um die Empfindlichkeit zu regulieren müssen Sie die kleine Schraube am Potentiometer mit einem Schraubendreher nach links oder rechts drehen. Der beste Weg die Empfindlichkeit 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 Empfindlichkeit des Sensors nicht hoch genug eingestellt ist. Dies können sie durch drehen des Potentiometers 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: # überprüfe ob ein Geräusch erkannt wird if(GPIO.input(sound_pin)): print(‘Sound detectet‘) Except KeyboardInterrupt # Strg+c beendet das Programm GPIO.cleanup()

Page 21: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 21

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

Wir definieren zuerst unseren Pin, GPIO18. Dann setzen wir eine while-Schleife, um dieses Skript dauerhaft 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.

6.6 LEKTION 6: ERKENNEN DER HELLIGKEIT MIT DEM LICHTSENSOR

Der Lichtsensor ist einer unserer Lieblinge. Er ist in vielen Projekten und Situationen äußerst nützlich, z.B. bei Lampen, die automatisch angehen, sobald es dunkel wird. Mit dem Lichtsensor können wir erkennen, wie hell die Moduloberfläche ist. Da jeder Fall anders ist, müssen wir ausprobieren, um herauszufinden, welche Konfiguration für uns am besten geeignet 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/

Page 22: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 22

JoyPi

Nachdem wir gelernt haben, wie man die Sensorempfindlichkeit steuert, ist es Zeit, ihn in Echtzeit zu tes-ten und zu sehen, wie er funktioniert. Jedoch ist der Lichtsensor ein wenig anders, als andere Sensoren, da er mit I2C funktioniert und nicht mit den normale GPIOs, wie wir es in den Lektionen zuvor gelernt haben. In diesem Skript benutzen wir binäre Daten, um den Lichtsensor zu steuern, wie zum Beispiel Ein- und Ausschalten, hohe Eingabe und niedrige Eingabe. Danach verwenden wir diese Funktionen, um mit dem Lichtsensor zu "sprechen" und die gewünschte Ausgabe in Bezug auf die Lichtempfindlichkeit zu erhalten. Dann verwenden wir die Funktion "sensor = LightSensor ()", um die Helligkeit zu messen, und "sensor.readLight ()", um die Binärdaten in lesbare Helligkeitszahlen umzuwandeln (je höher die Zahl, desto heller).

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

#!/usr/bin/python import time def convertToNumber (self, data): #einfache funktion um 2 byte Daten in Dezimalnummer umzustellen return ((data[1] +(256 * data[0])) / 1.2) def redLight(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()

sudo python light_sensor.py

cd /home/pi/Desktop/Joy-Pi/

Page 23: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 23

JoyPi

5.7 LEKTION 7: ERKENNEN DER TEMPERATUR UND LUFTFEUCHTIGKEIT Der DH11 ist ein sehr interessanter Sensor, da er nicht nur eine Funktion hat, sondern zwei! Er enthält sowohl einen Feuchtigkeitssensor, als auch einen Temperatursensor, welche beide sehr genau sind. Ideal für jedes Wetterstationsprojekt, oder, wenn Sie die Temperatur und Luftfeuchtigkeit im Raum überprüfen möchten! Der DH11-Sensor ist sehr einfach zu erkennen. Ein kleiner blauer Sensor mit vielen kleinen Löchern. Er liegt rechts neben dem Relais und oberhalb des Berührungssensor. Die Arbeit mit dem DH11-Sensor ist, durch die Adafruit_DHT-Bibliothek sehr einfach. Die Bibliothek wird verwendet, um Temperatur und Feuchtigkeit als Werte auszugeben, ohne dabei komplizierte, mathematische Berechnungen durchführen zu müssen.

import sys import Adafruit_DHT #Sensor Typ (Hilfsvariable) Sensor = 11 # definiere Pin Pin = 4 #Lese Sensordaten humiditiy, temperature = Adafruit_DHT.read_retry(sensor, pin) #zeige Sensordaten an if humidity is not None and temperatur is not None: print(‘Temp={0:0.1f}* Humidity={1:0.1f}%‘ .format (temperature, humidi-ty)) else: print(‘Failed to get reading.Try again!‘)

sys.exit(1)

Page 24: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 24

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst::

6.8 LEKTION 8: BEWEGUNGEN ERKENNEN

Der Bewegungssensor ist einer der nützlichsten und am häufigsten benutzten Sensoren. Man kann mit ihm zum Beispiel eine Alarmanlage bauen. Wenn der Sensor eine Bewegung erkennt, kann er ein Signal an den Buzzer senden, der dann einen lauten Alarmton von sich gibt. Der Bewegungssensor befindet sich direkt unter dem Schallsensor und wird von einer kleinen, transparenten Kappe abgedeckt. Die Kappe hilft dem Sensor mehr Bewegungen zu erkennen, indem sie das Infrarotlicht der Umgebung bricht. Die Empfindlichkeit des Bewegungssensors wird, wie die des Schallsensors, mit einem Potentiometer geregelt. Dieser befindet sich unterhalb des Potentiometers des Schallsensors, ist jedoch deutlich kleiner. Mit Hilfe eines Kreuzschraubendrehers können sie einstellen, über welche Entfernungen der Bewegungssensor anspringen soll.

sudo python dh11.py

cd /home/pi/Desktop/Joy-Pi/

Page 25: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 25

JoyPi

Der Bewegungssensor wird durch die GPIO-Pins gesteuert. Wenn eine Bewegung erkannt wird, wird der Bewegungssensor ein Signal senden. Dies hält einige Zeit an und hört dann wieder auf, bis der Sensor die nächste Bewegung erkennt.

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

#!/usr/bin/python import RPi.GPIO as GPIO import time #definiere Pin motion_pin = 16 #GPIO Modus als GPIO.BOARD GPIO.setmode(GPIO.BOARD) #motion_pin als Eingang GPIO.setup(motion_pin, GPIO.IN) try: While True: if(GPIO.input(motion_pin) == 0): print (“Nothing moves…“) elif(GPIO.input(motion_pin) == 1): print (“Motion detected!“) time.sleep(0.1) Except Keyboardinterrupt:

GPIO.cleanup

sudo python motion.py

cd /home/pi/Desktop/Joy-Pi/

Page 26: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 26

JoyPi

6.9 LEKTION 9: ENTFERNUNGEN MIT DEM ULTRASCHALLSENSOR MESSEN Nun werden wir lernen, wie wir den Ultraschallsensor verwenden, um Entfernungen zu messen und auf dem JoyPi-Bildschirm auszugeben. Autos verwenden übrigens die gleiche Methode, um Abstände zu messen. Der Ultraschallsensor befindet sich rechts unten auf der JoyPi-Platine, direkt über der Schrittmotor– und der Servo-Schnittstelle. Er ist leicht an den zwei großen Kreisen zu erkennen. Wir werden unsere Hände über dem Entfernungssensor bewegen, um die Entfernung zwischen unseren Händen und dem JoyPi zu messen. Der Abstandssensor arbeitet mit GPIO INPUT, doch es ist etwas anders als das, was wir in unseren vorherigen Lektionen verwendet haben. Der Sensor benötigt ein gewisses Intervall, um in der Lage zu sein, die Entfernung auf genaue Art und Weise zu erfassen. Er sendet ein Ultraschallsignal und empfängt mit einem eingebauten Sensor das Echo, das von einem Hindernis zurückgeworfen wird. Aus dem zeitlichen Abstand zwischen dem Senden des Signals und dem Empfangen des Echos, wird die Distanz berechnet.

Page 27: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 27

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

#!/usr/bin/python import RPi.GPIO as GPIO import time # Bordmodus GPIO.BOARD GPIO.setmode(GPIO.BOARD) #Definiere pins TRIG = 36 ECHO = 32 #lege Ein- und Ausgänge fest GPIO.setup(TRIG, GPIO.OUT) GPIO.setup(ECHO, GPIO.IN) GPIO.output(TRIG, False) print (“Waiting for Sensor to settle“) time.sleep(2) #beginne Messung GPIO.output(TRIG, True) time.sleep(0.00001) GPIO.output(TRIG, False) while GPIO.input(ECHO)==0: pulse_start = time.time() #berechne Abstand pulse_duration = pulse_end - pulse_start distance = pulse_duration * 17150 distance = round(distance, 2) #gebe Abstand aus print(“Distance: “, distance, “cm“)

GPIO.cleanup()

sudo python distance.py

cd /home/pi/Desktop/Joy-Pi/

Page 28: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 28

JoyPi

6.10 LEKTION 10: STEUERN DES LCDS Mit dem Joy-Pi können Sie auf dem LCD Daten anzeigen, die Sie mit Ihren Sensoren sammeln und aktualisieren es in Echtzeit, abhängig von den Änderungen, die die Module durchlaufen. Zum Beispiel in Verbindung mit dem Temperatursensor - lassen Sie immer die aktuelle Temperatur und Luftfeuchtigkeit auf dem LCD anzeigen. Der LCD-Bildschirm nimmt einen großen Teil des JoyPi-Boards ein - Es befindet sich oben in der Mitte des JoyPi‘s, rechts von der GPIO LED-Anzeige. Sobald das Demo-Skript und die Beispiele ausgeführt werden, schaltet sich das Display ein. Dank der integrierten Hintergrundbeleuchtung kann man auch in völliger Dunkelheit Daten auf dem Display lesen. Wie bereits der Schall– und der Bewegungssensor hat auch das LCD ein zugehöriges Potentiometer. Mit diesem Potentiometer lässt sich die Helligkeit der Hintergrundbeleuchtung des Displays einstellen.

Page 29: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 29

JoyPi

Das LCD, sowie einige andere Sensoren funktionieren nicht mit der GPIO-Technologie. Deshalb verwenden wir "I2C". Wir verwenden für das LCD die Adresse 21, indem wir eine Verbindung zu dieser I2C-Adresse herstellen. So können wir Befehlen senden, wie z.B. schreiben von Text, Einschalten der Hin-tergrundbeleuchtung des LCDs, Aktivieren des Cursors usw.

Zur Steuerung des LCDs verwenden wir die Adafruit_CharLCDBackpack Bibliothek. Das macht uns die Arbeit mit einem derart komplizierten Produkt viel einfacher. Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

#!/usr/bin/python import time import Adafruit_CharLCD as LCD #eingeben der Spalten und Zeilen des Displays lcd_columns = 16 lcd_rows = 2 Lcd = LCD.Adafruit_CharLCDBackpack(adress=0x21) #schalte Hintergrundbeleuchtung ein lcd-set_backlight(0) #drucke eine 2 zeilige Nachricht

lcd.message(‘Hello\nworld!‘)

sudo python lcd.py

cd /home/pi/Desktop/Joy-Pi/

Page 30: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 30

JoyPi

6.11 LEKTION 11: LESEN UND SCHREIBEN VON RFID-KARTEN In dieser Lektion werden Sie lernen, wie man das RFID-Modul steuert. Das RFID-Modul ist ein sehr interessantes und nützliches Modul. Es wird weltweit in einer Vielzahl von Lösungen eingesetzt wie z.B.: Intelligente Türschlösser, Mitarbeiterausweise, Visitenkarten und sogar Hundehalsbänder. Das RFID-Modul befindet sich direkt unter dem Raspberry Pi und sieht wie ein kleines Wifi-Symbol aus. Dieses Symbol bedeutet drahtlose Konnektivität . Um es zu benutzen, müssen wir den Chip, oder die Kar-te, nehmen, die mit dem JoyPi geliefert wird und sie über den Joy-Pi RFID-Chip-Bereich halten. Es muss nah genug für unser Skript sein, damit es erkannt wird. 2-4cm sollten nah genug sein. Probieren sie es einfach aus! Wir haben 4 Funktionalitäten: Autorisieren, Lesen, Schreiben und Autorisierung aufheben. Zuerst wird das Skript versuchen die Karte zu autorisieren. Der Chip verwendet die Standard-Passwort-Konfiguration. Wenn die Autorisierung erfolgreich war, liest es die Daten und zeigt sie auf dem Bildschirm. Danach hebt es die Autorisierung auf es und beendet das Skript. In einem anderen Skriptbeispiel können wir die Daten autorisieren, lesen, neu schreiben und dann die Autorisierung aufheben.

Page 31: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 31

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

#!/usr/bin/python import time print(“Starting“) while run: rdr.wait_for_tag() #lesen und überprüfen der Karte (error, data) = rdr.request() if not error: print (“Card read UID: “+str(uid[1])+“,“+str(uid[2])+“,“+str(uid[3])) print (“Setting tag“) Util.set_tag(uid) print (“\nAuthorizing“) #util.auth(rdr.auth_a, [0x12, 0x34, 0x56, 0x78, 0x96, 0x92]) util.auth(rdr.auth_b, [0x74, 0x00, 0x52, 0x35, 0x00, 0xFF]) print (“\nReading“) Util.read_out(4) print (“\nDeauthorizing“) util.deauth()

sudo python RFID_Read.py

cd /home/pi/Desktop/Joy-Pi/

Page 32: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 32

JoyPi

6.12 LEKTION 12: SCHRITTMOTOREN VERWENDEN Der Schrittmotor ist ein unabhängiges Modul, dass Sie mit dem Board verbinden müssen. Wir müssen den Schrittmotor, der mit dem Kit geliefert wurde, nehmen und ihn mit unserem Joy-Pi verbinden. Verbinden Sie den Schrittmotor einfach am folgenden Anschluss des JoyPi-Boards: Das Modul kann sich während der Verwendung erwärmen. Dies ist technisch bedingt und nicht ungewöhnlich.

Für diese Beispiel müssen sie zwischen den Modulen wechseln. Stellen Sie die Schalter Nummer 3, 4, 5 und 6 der rechten Schalteinheit auf ON.

Page 33: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 33

JoyPi

Der Schrittmotor ist mit 4 GPIO-Pins verbunden, welche schnell hintereinander eingeschaltet werden. Dies bewirkt, dass der Schrittmotor vorwärts „schiebt“ und einen Schritt macht. Mit der Funktion turnSteps kann eine beliebige Anzahl von Schritten ausgeführt werden. Die Funktion turnDegrees lässt den Motor um einen bestimmten bestimmte Winkel drehen.

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

def main(): print (“moving started“) motor = Stepmotor() # mache 1 Schritt print (“One Step“) motor.turnSteps(1) sleep(0.5) #mache 20 Schritte print (“20 Steps“) motor.turnSteps(20) sleep(0.5) #mache eine viertel Drehung print (“quarter turn“) Motor.turnDegrees(90) #stoppe print (“movingstopped“) Motor.close() if _name_ == “_main_“:

main()

sudo python stepmotor.py

cd /home/pi/Desktop/Joy-Pi/

Page 34: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 34

JoyPi

6.13 LEKTION 13: STEUERUNG VON SERVOMOTOREN Mit Hilfe des Servomotors lassen sich Geräte mechanisch steuern und Teile bewegen. So können Beispielsweise intelligente Abfalleimer, eine Pralinenschachtel mit intelligenter, öffnender/schließender Tür und viele andere interessante Projekte erstellt werden. Der Joy-Pi besitzt zwei Servo-Schnittstellen, die beide zur Steuerung von Servomotoren genutzt werden können. In diesem Tutorial verwenden wir die Schnittstelle Nummer eins, die als "Servo1" markiert ist. Sie können natürlich auch die andere Servo-Schnittstelle verwenden, dazu müssen sie jedoch das Skript auf die Richtigen GPIO‘s anpassen. Der Servomotor benötigt drei Pins: Positiv, Negativ, und den Daten-Pin. Der positive Pin ist das rote Kabel, der negative Pin das schwarze Kabel (auch Masse genannt) und das Datenkabel ist bunt.

Für diese Beispiel müssen sie zwischen den Modulen wechseln. Stellen Sie die Schalter Nummer 7 und 8 der rechten Schalteinheit auf ON.

Page 35: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 35

JoyPi

Schauen wir uns unseren Beispielcode an, um ihn besser zu verstehen: Der Servo benutzt die GPIO.Board Pin Nummer 37. Jedes Mal wird das Skript die Richtung vom Servomotor festlegen, um zu drehen. Wir können positive Gradzahlen verwenden, um links herum zu dre-hen und negative, um rechts herum zu drehen. Verändern Sie einfach die Gradzahlen und schauen Sie, wie sich die Drehung des Motors verändert.

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

Kabel Pin

Rot Mittler Pin von Servo1

Schwarz Rechter Pin von Servo1

Bunt Linker Pin von Servo1

def main(): #definiere servo_pin servo_pin = 37 s = sg90(servo_pin, 0) Try: while True: print(“Turn left ...“) #links herum drehen s.setdirection( 100, 10 ) #halbe Sekunde warten time.sleep(0.5) print (“Turn right...“) #rechts herum drehen s.setdirection ( -100, -10 ) time.sleep(0.5) except KeyboartInterrupt: s.cleanup() if _name_ == “_main_“:

main()

sudo python servo.py

cd /home/pi/Desktop/Joy-Pi/

Page 36: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 36

JoyPi

6.14 LEKTION 14: STEUERN DER 8X8 LED-MATRIX Die LED-Matrix spielt in vielen blinkenden LED-Projekten eine wichtige Rolle. Selbst wenn Sie es auf den ersten Blick nicht sehen, kann die LED-Matrix viel mehr als nur rot blinken. Sie kann verwendet werden, um Informationen, Text, Emojis und sogar chinesische Schriftzeichen zu zeigen. Perfekt um Informationen auf lustige und einzigartige Weise anzuzeigen und vielleicht sogar ein Spiel wie Snake oder einen Count-down-Timer! Das LED-Matrixmodul ist ein großes quadratisches Modul, das sich auf der linken Seite der Segment-LED und direkt unter dem LCD befindet. Es kann leicht durch die kleinen weißen Punkte, welche die LEDs sind, erkannt werden. Lassen Sie sich nicht von der kleinen Größe der LEDs irreführen. Diese LED-Matrix kann einen dunklen Ort mit Leichtigkeit hell beleuchten! In diesem Beispiel lassen wir einen schnellen, langen Text und einen langsamen, kurzen Text anzeigen. Im Skript erstellen wir eine Zeichenfolge mit einer Nachricht und benutzen die Funktion show_message(), um die Nachricht auf dem Matrix Display anzuzeigen. Wir können Eigenschaften, wie z.B. Verzögerungen, steuern, die die Nachricht schneller oder langsamer machen. Zum Beispiel scroll_delay 0 wird ziemlich schnell sein, während eine Verzögerung von 0.1 den Nachrichtenfluss etwas verlangsamt. Die Matrix LED verwendet im Gegensatz zu anderen Modulen eine SPI-Schnittstelle, von der aus sie gesteuert werden kann. Probieren Sie mehrere Beispiele aus und ändern Sie den Code, um zu sehen, was passiert.

Page 37: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 37

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

def demo(n, block_orientation, rotate): serial = spi(port=0, device=1, gpio=noop()) device = max7219(serial, cascaded=n or 1, block_orientation=block_orientation, rotate=rotate or 0) print(“Created device“) #starte Demo msg = “MAX7219 LED Matrix Demo“ print(msg) show_message(device, msg, fill=“white“, font=proportional(CP437_FONT)) time.sleep(1) msg=“Fast scrolling:Lorem ipsum dolor sit amet, consetetur sadipscing\ elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,\ sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.\ Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum do-lor sit amet.\ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor\ invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam\ et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea ta-kimata sanctus est Lorem\ ipsum dolor sit amet“ msg= re.sub(“ +“, “ “,msg) print(msg) #Schneller Durchauf show_message(device, msg, fill=“white“, font=proportional(LCD_FONT), scroll_delay=0) Msg = “Slow scrolling: The quick brown fox jumps over the lazy dog“ print(msg) #langsamer Durchlauf

show_message(device, msg, fill=“white“, font=proportional(LCD_FONT), scroll_delay=0.1)

sudo python matrix_demo.py

cd /home/pi/Desktop/Joy-Pi/

Page 38: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 38

JoyPi

6.15 LEKTION 15: STEUERN DES 7-SEGMENT-DISPLAYS Die Segment-LED ist ein sehr nützliches Display, wenn es um Zahlen und Daten geht. Es kann uns die Zeit zeigen, zählen, wie oft wir bestimmte Dinge getan haben und sogar verwendet werden, um unsere Freunde mit einer gefälschter Zeitbombe zu erschrecken. Die Segment Anzeige wird außerdem in vielen industriellen Lösungen, wie z.B. in Aufzügen, verwendet. Die Segment-Anzeige befindet sich direkt über dem Vibrationssensor und neben der LED-Matrix. Wenn sie ausgeschaltet ist, sind 4 Achten zu erkennen. Sobald Sie das Segment-Display-Modul verwenden, wird die dunkle Farbe zu glänzendem, hellem Rot. In unserem Beispiel demonstrieren wir eine Uhr. Wir werden die Uhrzeit- und Datumsmodule verwenden, um die Raspberry Pi-Systemzeit zu erhalten, welche wir mit dem Befehl segment.write_display() auf der Anzeige ausgeben. Der Befehl set_digit(), in Kombination mit den Nummer 0,1,2 und 3, setzt die Position auf dem Display, an der die Nummer gezeigt werden soll. Da in diesem Beispiel die aktuelle Systemzeit abgerufen wird, ist es notwendig den Raspberry Pi zuerst auf die richtige Zeitzone zu konfigurieren. Öffnen Sie dazu ein Terminalfenster und geben Sie den folgenden Befehl ein:

Es öffnet sich ein Fenster, in welchem Sie Ihre aktuelle Zeitzone auswählen können. Nachdem Sie die richtige Zeitzone ausgewählt haben, bestätigen Sie mit der OK Schaltfläche und drücken noch einmal Enter zur Bestätigung.

sudo dpkg-reconfigure tzdata

Page 39: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 39

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

#!/usr/bin/python import time import datetime from Adafruit_LED_Backpack import SevenSegment segment = SevenSegment.SevenSegment(adress=0x70) #initialisieren des Displays segment.begin() print(“Press CRTL+Z to exit“) #aktualisiere durchgehend die Zeit while True: now = datetime.datetime.now() hour = now.hour minute = now.minute second = now.second segment.clear() #Stunden segment.set_digit(0, int(hour / 10)) segment.set_digit(1, hour % 10) #Minuten segment.set_digit(2,int(minute / 10)) segment.set_digit(3, minute % 10) #Sekunden segment.set_colon(second % 2) segment.write_display()

time.sleep(0.25)

sudo python segment.py

cd /home/pi/Desktop/Joy-Pi/

Page 40: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 40

JoyPi

6.16 LEKTION 16: BERÜHRUNGEN ERKENNEN Der Touch-Sensor ist sehr nützlich, wenn es um Tastenfunktionen geht. Viele Produkte auf dem Markt verwenden Touch anstelle eines Knopfdrucks, zum Beispiel Smartphones und Tablets. Der Berührungssensor befindet sich direkt unter dem DH11 Sensor und rechts neben dem Relais. Die leicht zugängliche Positionierung auf dem Joy-Pi ermöglicht eine einfache Bedienung. Der Berührungssensor funktioniert wie jedes andere Tastenmodul. Der einzige Unterschied besteht darin, dass es nur berührt, anstatt gedrückt werden muss. Durch Berühren des Berührungssensors schließt das Modul eine Schaltung, da der Computer erkennt, dass der Sensor berührt wurde. Der Berührungssensor benutz GPIO Board Pin 11.

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

#!/usr/bin/python import RPi.GPIO as GPIO import time #definiere touch_pin touch_pin = 11 #setze Board Modus zu GPIO.BOARD GPIO.setmode(GPIO.BOARD) #setze GPIO Pin als Eingang GPIO.setup(touch_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP) try: while True: #überprüfe ob Berührung erkannt wurde if (GPIO.input(touch_pin)): print(“Touch detected!“) time.sleep(0.1) Except KeyoardInterrupt: #strg+c beendet das Programm

GPIO.cleanup()

sudo python touch.py

cd /home/pi/Desktop/Joy-Pi/

Page 41: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 41

JoyPi

6.17 LEKTION 17: NEIGUNGEN MIT DEM NEIGUNGSSENSOR ERKENNEN Der Neigungssensor ermöglicht es uns, eine Neigung nach rechts oder links zu erkennen. Er wird in der

Robotik und anderen Industrien verwendet, um sicherzustellen, dass Dinge gerade gehalten werden. Er ist ein kleiner, länglicher, schwarzer Sensor der zwischen dem DH11-Sensor und dem Ultraschallsensor liegt und kann leicht an dem Klang erkannt werden, den er macht, wenn Sie das Board etwas schütteln. Man könnte bei diesem Geräusch leicht denken, dass etwas im inneren des Joy-Pi-Board beschädigt wurde, doch dieses Geräusch ist völlig normal. Wenn der Neigungssensor nach links geneigt ist, wird die Schaltung aktiviert und ein GPIO HIGH Signal wird gesendet. Bei einer Neigung nach rechts wird die Schal-tung deaktiviert und ein GPIO LOW Signal gesendet.

Für diese Beispiel müssen sie zwischen den Modulen wechseln. Stellen Sie den Schalter Nummer 2 der rechten Schalteinheit auf ON.

#!/usr/bin/python import time import RPi.GPIO as GPIO #tilt_pin wird definiert tilt_pin = 15 #GPIO Modus wird auf GPIO.BOARD gesetzt GPIO.setmode(GPIO.BOARD) # Pin wird als Eingang festgelegt GPIO.setup(tilt_pin, GPIO.IN) try: while True: #positiv ist nach rechts, negativ ist nach links geneigt if GPIO.input(tilt_pin): print (“[-] Left Tilt“) else: print (“[-] Right Tilt“) time.sleep(1) except KeyboartInterrupt #Strg+c beendet das Programm

GPIO.cleanup()

Page 42: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 42

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

6.18 LEKTION 18: VERWENDEN DER SCHALTFLÄCHENMATRIX Die Schaltflächenmatrix ist ein Modul mit 16 unabhängigen Tasten, die für viele Projekte benutzt werden können wie z. B. eine Tastatur oder ein Memory-Spiel. Die großen Möglichkeiten der Tasten ermöglichen es Ihnen, beinahe alles zu machen. Die Schaltflächenmatrix befindet sich unten in der Mitte des Joy-Pi-Boards, rechts neben dem Relais. Sie ist leicht an den 16 einzelnen Tasten zuerkennen. Die hervorragende Positionierung auf dem Board ermöglicht eine einfache Bedienung der Tasten, während man trotzdem noch einen guten Überblick über alle anderen Sensoren hat. Die Schaltflächenmatrix besteht aus vier Spalten und Zeilen. Wir konfigurieren die Matrixzeilen und Spalten mit ihren GPIO-Pins und initialisieren das Objekt ButtonMatrix() als Schaltflächenvariable. Danach können wir jede Taste der Matrix drücken und feststellen, ob sie gedrückt wurden. In unserem Beispiel aktivieren wir, nachdem ein Tastendruck erkannt wurde, die Funktion activateButton(), wodurch die Nummer der gedrückten Schaltfläche angezeigt wird. Sie können dieses Modul selbstverständlich bearbeiten, um alles zu tun, was Sie sich vorstellen können.

sudo python tilt.py

cd /home/pi/Desktop/Joy-Pi/

Für diese Beispiel müssen sie zwischen den Modulen wechseln. Stellen Sie ALLE Schalter der lin-ken Schalteinheit auf ON.

Page 43: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 43

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

def main(): #initialisieren der Buttonmatrix buttons = ButtonMatrix() try: while True: for j in range(len(buttons.columnPins)): #setze Ausgangspins auf LOW GPIO.output(buttons.columnPins[j], 0) for i in range(len(buttons.rowPins)): if GPIO.input(buttons.rowPins[i]) == 0: #knopf gedrückt, aktivieren buttons.activateButton(i, j) #mache nichts solange knopf gedrückt bleibt While(buttons.buttonHeldDown(i)): pass #setze Ausgangspins auf HIGH GPIO.output(buttons.columnPins[j], 1) except KeyboardInterrupt: GPIO.cleanup() if _name_ == “_main_“:

main()

sudo python button_matrix.py

cd /home/pi/Desktop/Joy-Pi/

Page 44: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 44

JoyPi

6.19 LEKTION 19: STEUERN UND VERWENDEN DES IR-SENSORS In dieser Lektion lernen wir, wie man den Infrarotempfänger benutzt und IR-Codes von einer Fernbedienung empfängt. Die Verwendung dieser Methode ist äußerst nützlich, da wir verschiedene Aktionen für verschiedene Schaltflächen festlegen können. Mit einer Fernbedienung können wir z.B. bei jedem Tastendruck verschiedene LEDs einschalten oder den Servomotor steuern. Der IR-Sensor befindet sich rechts neben dem DH11-Sensor und über dem Neigungssensor. Er sieht wie eine kleine LED mit 3 Pins aus. Wir benötigen zusätzlich die IR-Fernbedienung, die im Lieferumfang des Joy-Pi-Kits enthalten ist. Der IR-Empfänger verwendet eine Bibliothek namens LIRC und Python-LIRC, um die Codes, die wir mit der IR-Fernbedienung senden, zu empfangen und zu verstehen. Die Out-Variable enthält die Taste, die wir gedrückt haben. Mit Hilfe von if-Abfragen können wir überprüfen, ob bestimmte Tasten gedrückt wurden. Anhand dieser Informationen können wir entsprechende Befehle ausführen.

Page 45: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 45

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

import socket,signal import lirc, time, sys import RPi.GPIO as GPIO from array import array GPIO.setmode(11) GPIO.setup(17, 0) GPIO.setup(18, 0) PORT = 42001 HOST = “localhost“ Socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) Lirc = lirc.init(“keys“) #lirc.set_blocking(False, Lirc) def handler(signal.SigTSTP, handler): Socket.close GPIO.cleanup() exit(0) signal.signal(signal.SIGTSTP, handler) def sendCmd (cmd): n = len(cmd) a = array(‘c‘) a.append(chr((n >> 24) & 0xFF)) a.append(chr((n >> 16) & 0xFF)) a.append(chr((n >> 8) & 0xFF)) a.append(chr(n & 0xFF)) Socket.send(a.tostring() + cmd) while True: Out = lirc.nextcode ()

print (Out[0])

sudo python IR.py

cd /home/pi/Desktop/Joy-Pi/

Page 46: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 46

JoyPi

6.20 LEKTION 20: EIGENEN SCHALTUNGEN MIT DEM BREADBOARD Das Breadboard ist ein äußerst nützliches Teil im Joy-Pi, dass es uns ermöglicht, eigene Schaltungen und Funktionen zu erstellen. Nachdem wir gelernt haben wie man all die Sensoren benutzt, ist es nun an der Zeit unseren eigenen zu erstellen. In dieser Lektion erstellen Sie Ihre erste benutzerdefinierte Schaltung anhand eines blinkenden LED-Beispiels. Das Breadboard liegt in der Mitter des Joy-Pi-Boards. Es ist ein kleines, weißes, Board mit vielen kleinen Löchern. Wir werden eine benutzerdefinierte Schaltung erstellen, mit der Funktion, eine LED blinken zu lassen. Um dies zu tun, müssen wir GPIO als Ausgabe und GND verwenden, wie wir es bereits in früheren Lektionen getan haben. Wir werden die Servo-Schnittstelle (SERVO1-Schnittstelle) an GPIO 37 verwenden. Sie können sich an diesem Bild orientieren, um Ihre Schaltung auf dem Steckbrett zu erstellen. Vergessen Sie nicht, dass sich Pin Nummer 37 am GPIO-Port und GND am GND-Port der # SERVO1-Schnittstelle befinden.

Für diese Beispiel müssen sie zwischen den Modulen wechseln, da die Servo-Pins verwendet werden. Stellen Sie dafür die Schalter 7 und 8 der rechten Schalteinheit auf ON.

Page 47: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 47

JoyPi

Wir müssen einen Widerstand verwenden, der mit dem Joy-Pi - Paket geliefert wird, und ihn an die negative Seite der LED anschließen (die negative Seite der LED ist die mit dem kürzeren Bein). Die andere Seite des Widerstands werden wir direkt, mit dem Kabel, mit dem GND-Pin an der SERVO1-Schnittstelle verbinden. Die positive Seite der LED verbinden wir mit dem GPIO37 Pin der SERVO1-Schnittstelle. Nachdem wir die Schaltung erfolgreich aufgebaut haben, ist es Zeit den Code zu schreiben, um die LED zu kontrollieren. Wir werden GPIO.HIGH an unseren SERVO1 GPIO PIN senden, an dem die LED angeschossen ist, warten 0,2 Sekunden und schalten es mit GPIO.LOW wieder ab. Dies wiederholen wir. Dadurch wird die LED anfangen zu blinken, bis wir das Programm beenden.

Page 48: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 48

JoyPi

Führen Sie die folgenden Befehle aus und versuchen Sie es selbst:

#!/usr/bin/python import time import RPi.GIPO as GPIO #definiere LED Pin led_pin = 37 #setze GPIO Modus auf GPIO.BOARD GPIO.setmode(GPIO.BOARD) #lege Pin als Ausgang fest GPIO.setup(led_pin, GPIO.OUT) try: while True: #LED an GPIO.output(led_pin, GPIO.HIGH) #warte 0,2 Sekunden time.sleep(0.2) #LED aus GPIO.output(led_pin, GPIO.LOW) #warte 0,2 Sekunden time.sleep(0.2) except KeyboardInterrupt: #STRG+C zum Beenden des Programms

GPIO.cleanup()

sudo python blinking_led.py

cd /home/pi/Desktop/Joy-Pi/

Page 49: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 49

JoyPi

6.21 LEKTION 21: FOTOGRAFIEREN MIT DER RASPBERRY PI KAMERA Die Raspberry Pi Kamera ist äußerst nützlich und kann für eine Vielzahl von Projekten verwendet werden. Beispielsweise für Sicherheitskameras, Gesichtserkennung und vieles mehr. In der folgenden Lektion werden wir Ihnen die Grundlagen der Verwendung der Raspberry Pi Kamera näher bringen. Dadurch werden Sie lernen, wie man ein Foto macht. Die Kamera befindet sich mittig über dem Bildschirm des Joy-Pi‘s und ist mit einem dünnen Flachbandkabel direkt mit dem Raspberry Pi verbunden.

Page 50: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 50

JoyPi

Wenn Sie das Kabel anschließen, achten sie auf die Ausrichtung des Kabels. In dem folgenden Bild können sie sehen, wie die Kamera richtig angeschlossen wird. Durch langsames und sanftes anheben des schwar-zen Steckers können Sie das Kabel einfach hineinschieben. Schließen Sie den schwarzen Stecker wieder, damit er das Raspberry Pi Kamerakabel festhalten kann. Als nächstes, nachdem wir sichergestellt haben, dass die Kamera verbunden ist, ist es Zeit, ein Foto zu machen. Wir verwenden einen Befehl namens "raspistill", um das Bild aufzunehmen. Der Parameter -o gibt den Dateinamen an, unter dem wir das Bild speichern möchten und -t gibt an, wie lange die Kamera auf die Aufnahme wartet. Wir werden für -t einen Wert von 5000, was 5000 Millisekunden entspricht. Das ergibt 5 Sekunden, um sich richtig vorbereiten zu können und ein schönes Bild aufzunehmen. Vorher wechseln wir in das Desktopverzeichnis, um das Bild auf dem Desktop zu speichern. Probieren sie es und führen Sie die folgenden Befehle aus:

Nach dem Ausführen der Befehle sollte ein Video erscheinen und Sie sollten sich darin sehen können. Das Video bleibt etwa 5 Sekunden geöffnet und schließt sich dann. Dies bedeutet, dass das Bild aufgenommen wurde und zur Ansicht bereit steht. Auf Ihrem Desktop sollte nun eine Datei namens "picture.jpg" erscheinen, die Sie öffnen können.

raspistill –o picture.jpg –t 5000

cd Desktop

Page 51: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 51

JoyPi

Symbol auf Elektro- und Elektronikgeräten

Diese durchgestrichene Mülltonne bedeutet, dass Elektro- und Elektronikgeräte nicht in den Hausmüll gehören. Sie müssen die Altgeräte an einer Erfassungsstelle abgeben. Vor der Abgabe haben Sie Altbatterien und Altakkumulatoren, die nicht vom Altgerät umschlossen sind, von diesem zu trennen. Rückgabemöglichkeiten Als Endnutzer können Sie beim Kauf eines neuen Gerätes, Ihr Altgerät (das im Wesentlichen die gleiche Funktion wie das bei uns erworbene neue erfüllt) kostenlos zur Entsorgung abgeben. Kleingeräte bei denen keine äußere Abmessungen größer als 25 cm sind können unabhängig vom Kauf eines Neugerätes in Haushaltsüblichen Mengen abgeben werden. Möglichkeit Rückgabe an unserem Firmenstandort während der Öffnungszeiten Simac GmbH, Pascalstr. 8, D-47506 Neukirchen-Vluyn Möglichkeit Rückgabe in Ihrer Nähe Wir senden Ihnen eine Paketmarke zu mit der Sie das Gerät kostenlos an uns zurücksenden können. Hierzu wenden Sie sich bitte per E-Mail an [email protected] oder per Telefon an uns. Informationen zur Verpackung Verpacken Sie Ihr Altgerät bitte transportsicher, sollten Sie kein geeignetes Verpackungsmaterial haben oder kein eigenes nutzen möchten kontaktieren Sie uns, wir lassen Ihnen dann eine geeignete Verpackung zukommen.

6. INFORMATIONS- UND RÜCKNAHMEPFLICHTEN

Page 52: JoyPianleitung.joy-it.net/wp-content/uploads/2018/10/RB-JoyPi-Anleitung.pdf · 6 8x8 LED Matrix (MAX7219) 7 7 Segment LED Anzeige (HT16K33) 8 Vibrationsmodul 9 Lichtsensor - zum messen

Veröffentlicht: 04.10.2018 Copyright by Joy-IT 52

JoyPi

Wir sind auch nach dem Kauf für Sie da. Sollten noch Fragen offen bleiben oder Probleme auftauchen

stehen wir Ihnen auch per E-Mail, Telefon und Ticket-Supportsystem zur Seite.

E-Mail: [email protected]

Ticket-System: http://support.joy-it.net

Telefon: +49 (0)2845 98469 – 66 (11- 18 Uhr)

Für weitere Informationen besuchen Sie unsere Website:

www.joy-it.net

7. SUPPORT