Raspberry Pi Lüftersteuerung

Ähnliche Dokumente
Raspberry Pi Projekt LED Matrix Spiele Programmieren

SBC ButtonMatrix Bedienungsanleitung. Verwendung mit einem Arduino Schritt 1 Anschließen der Matrix

RASPBERRY PI. Physical Computing

Raspberry Pi 3B Advanced-Set

Jugend Programmiert Die. Schlaue Pflanze.

DC 5V Stepper Motor 28BYJ-48. Verwendung mit einem Arduino

Moto1. 28BYJ-48 Stepper Motor. Ausgabe Copyright by Joy-IT 1

Moto1. 28BYJ-48 Stepper Motor. Ausgabe Copyright by Joy-IT 1

Raspberry Pi RFID KIT

I2C Serial 2.6 LCD Modul

Raspberry Pi meets Pocket Code. Tutorial: Ampelschaltung

LCD Display 20x4 mit Buttons

I2C Serial 2.6 LCD Modul. Verwendung mit einem Arduino

LCD Display 20x4 mit Buttons

Joy-IT Ultraschall Abstandssensor

< UNTERRICHTSMATERIAL /> Calliope mini. Blumenpflegestation

Workshop 4: Raspberry Pi

Willkommen! Verdrahten des Panels mit dem Raspberry Pi:

RFID RC522. Ausgabe Copyright by Joy-IT 1

Infrator Kit Der schlaue Schalter

Möge das Abenteuer beginnen!

Was so passieren wird:

Minecraft. Starte anschließend die Programmiersprache Python, indem du folgenden Befehl in das Terminalfenster eingibst:

M15 - Physical Computing mit dem Raspberry Pi I

RFID RC522. Ausgabe Copyright by Joy-IT 1

Dokumentation Raspberry USV+ E

KY-001 Temperatur Sensor Modul

Die Sonne spielt Musik

Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt:

INHALTSVERZEICHNIS. 1. Übersicht. 2. Wechsel zwischen den Modulen. 3. Scratch. 4. Scratch mit GPIOs. 5. Lektionen. Lektion 1: Buzzer ansteuern

Der CodeBug. B) Physical Computing. 1) Einleitung

Einbindung der RasPiLC in die CODESYS-Umgebung

Benötigte Teile für die Statusanzeige, Kosten und Beschaffungslinks:

Informatik Enlightened. Station 0 - Einstieg

LinkerKit LK-Temp2 Raspberry Pi und Arduino

Eine tastergesteuerte LED

LK-RB-Shield Ausgabe Copyright by Joy-IT

Arbeitsblatt Nr.19: RFID Kit

ArduBlock Station 4 - Farbthermometer

Den Websurfer absichern

Der BBC Micro:Bit. B) Physical Computing. 1) Experimente mit LEDs a) Grundlagen

Hall Magnetfeld Sensor KY-003

LK-Baseboard für Raspberry Pi B+ / Pi 2

Projektworkshop Digitales Haustier. Digitales Haustier. Bau dir ein Digitales Haustier, das schnurrt, wenn du es streichelst. 1/8

- Der heisse Draht - Physical Computing. Workshop Oktober 2015 Olav Schettler

Raspberry Sonden-Image von

Wunderst du dich auch manchmal, wo die ganzen Kekse hin sind? Mit diesem Projekt kommst du dem Dieb schnell auf die Schliche.

Übungszettel 2a - Python

Willkommen!

Mit PuTTY und WinSCP an der Pi

MotoPi. Ausgabe Copyright by Joy-IT 1

< UNTERRICHTSMATERIAL /> Calliope mini. Maulwurfspiel

Einrichten und Verwenden der Solutio Charly PA-Konzepte Schnittstelle

Versuch 5: Linux embedded

1. Python Interpreter installieren (WinPython)

RFID Modul basierend auf NXP MFRC-522

EleLa - Elektronik Lagerverwaltung. Hilfe. Installation auf einem Raspberry Pi

System-Programmierung 10: Weitere Arten von I/O. CC BY-SA, Thomas Amberg, FHNW (soweit nicht anders vermerkt)

BASIC-Tiger Starter Kit. Tel: +49 (241) Fax: +49 (241)

< UNTERRICHTSMATERIAL /> Calliope mini. Maulwurfspiel

ARDUINO KENNENLERNEN WAS IST EIN ARDUINO?

Startup, Shutdown und Reboot eines Raspberry Pi über die HomeMatic CCU

Bei jedem Arduino-Projekt muss man ein Grundgerüst "bauen". Das sieht dann so aus:

JOY-iT TFT-Display 1.8

1 Gestatten: Raspberry Pi! Schnellstart: Die erste Inbetriebnahme Den Desktop kennenlernen Wichtige Konsolenbefehle im Griff 69

Automation-Letter Nr Prof. Dr. S. Zacher TUTORIAL. In Tutorial sind die Ergebnisse der Seminararbeit von

FÜR KIDS RASPBERRY PI. Für Scratch 2. Rasperry Pi nicht enthalten

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten

GTP444. GSM-SMS-Fernschaltund Alarmmodul 4-Kanal. Programmierbar am PC mit Software. Kurzanleitung 1/2017. Seite 1 von 7

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

Versuch 2, LPC11U24 - GPIO

Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein:

Jan Monsch. Donnerstag, 2. Mai 13

Inhaltsverzeichnis. 52 Weitere Publikationen. 54 Eigene Notizen. XLogo Programmieren

C-52 Raspberry PI Herzlich Willkommen

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Ein Array ist eine Liste mit Einträgen, fast wie eine Einkaufsliste. Man kann darin also mehr als einen Eintrag in eine einzige Variable speichern.

foexlab-materialien Arduino-Schaltungen First Steps Gottfried Wilhelm Leibniz Universität Hannover

Bedienungsanleitung. Abb. 1 Abb. 2

Praktischer Einstieg in Linux

Talking-Pi. Ausgabe Copyright by Joy-IT 1

Anzeige 1 - Teil 1. by AS. Anzeige 1 mit dem HT16K33, 2 x LED Matrix Anzeigen (8x8), 2 x I 2 C Bus = Teil 1 Hardware =

MotoPi. Ausgabe Copyright by Joy-IT 1

Arduino für FunkAmateure

Gamecontroller Der Bewegungssensor - Links-Rechts-Steuerung

PKS-Team. Installationsanleitung LAN-Relais 2-Fach und 8-Fach

Linkerkit OLED Raspberry Pi und Arduino

USB > I2C- Bus Modul. Startet den I2C-Bus. Daten einlesen NACK senden

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?

In diesem Beispiel verwende ich einen Raspberry Pi 3 (wg. Ethernetanschluss) mit einem MMDVM Hat Klon.

Transkript:

Raspberry Pi Lüftersteuerung Jugend Programmiert

Vorwort Alle Schaltungen, Programme und Bauteile wurden vorher von uns Geprüft. Trotzdem können wir leider Fehler im Buch, den Schaltungen oder Programmen nicht ausschließen. Bei Fragen oder Problemen gibt es unten die Kontaktmöglichkeiten. Mehr Informationen findest du auch auf der Internetadresse der Seitenzahl. LEDs sollten nicht aus naher Entfernung direkt angesehen werden, ein direkter Blick kann zu Schäden an den Netzhäuten führen. Diese kann gefährlich sein, auch wenn sie nicht sofort klar erkennbar sind. Die LEDs dürfen nur wie in den Anleitungen beschrieben verwendet werden, höhere Ströme oder Stromspannungen sind zu vermeiden. Dieses Produkt entspricht den geltenden Europäischen Richtlinien und trägt ein CE-Kennzeichen. Der richtige Gebrauch ist in dem Beiliegenden Buch erklärt. Bauen sie Schaltungen immer wie beschrieben auch, achten sie auf die Verschiedenen GPIO Pins vom Raspberry Pi. Herausgeber Jugend Programmiert Coding World UG (haftungsbeschränkt) Homwer.com Obdrupstraße A, 4986 Mittelangeln www.codingworld.io Support: support@cw4.de Feedback: feedback@cw4.de cw4.de/luefter/

Raspberry Pi Lüfter steuern Wir freuen uns das du dich für ein Jugend Programmiert Kit entschieden hast. Programme sind überall, sichtbar und unsichtbar. Als Programmierer verstehst du die moderne Welt und hast die Macht diese etwas besser zu machen. Viel Spaß mit diesem praxisorientierten Hardware programmieren Tutorial, wünscht die das Team von Jugend Programmiert. In dieser Anleitung zeigen wir dir wie man die einen Lüfter und drei Status LEDs an den Pi anschließt und steuert. Mit den LEDs zeigen wir wie warm dein Pi ist. Wird er zu heiß, schalten wir den Lüfter an. Wenn der Pi kalt ist schalten wir den Lüfter wieder aus. Wir benutzen Pyrthon als Programmiersprache. Einen Einstieg in bekommst du in unserem Starterkit. Vor dem Start: Du brauchst einen Raspberry Pi mit installiertem Raspbian. Alle Informationen zum Installieren, Updaten, Upgraden und einrichten deines Systems bekommst du im Raspberry Pi Starter Guide aus dem Pi Starter Set (link) Was wir machen: In dieser Anleitung zeigen wir die die Grundlagen von beim steuern von GPIO Pins. In dem Raspberry Pi Temperatursteuerungs Kit, findest du die Hardware die du benötigst. Schritt für Schritt erklären wir dir, wir du deine Steuerung programmierst und aufbaust. Am Anfang programmieren wir das Auslesen der CPU Temperatur deines Raspberry Pi. Dann legen wir drei Temperaturbereiche fest. Mit LEDs zeigen wir an in welchem Temperatur-Bereich dein Pi gerade ist. Falls der Pi zu warm wird, schalten wir den Lüfter ein. : Temperatur auslesen In diesem Teil lesen wir die Temperatur des Pi aus und vergleichen diese mit drei Werten für normal, warm und heiß. Wir geben eine Meldung aus wie warm der Pi gerade ist und welcher Temperaturbereich das ist. Hardware brauchst du dafür nicht, die nutzen wir im zweiten Teil. Öffne ein Terminal oder logge dich über SSH auf der Konsole deines Pi ein. cw4.de/luefter/

Als erstes wollen wir die Temperatur auslesen. Die Temperatur deiner CPU steht in der Datei /sys/class/thermal/thermal_zone0/temp. Auslesen und ausgeben der Temperatur geht z.b. mit dem Befehl cat /sys/class/thermal/thermal_zone0/temp Das Ergebnis wird ohne, dargestellt aber mit dezimalen. Zum Beispiel; 456 das sind 45,6 Grad Celsius. Jetzt wir wissen in welcher Datei die CPU Temperatur gespeichert ist. Diese Datei wollen wir mit auslesen. Unser Programm heißt Temperatur.py und sollte im Verzeichnis /home/pi liegen. Erstelle oder öffne eine neue Datei mit dem Befehl nano Temperatur.py Falls es Datei schon gibt, wird diese geöffnet, falls nicht, erstellt der Pi eine neue leere Datei. Mit ctrl+o speicherst du die Datei. ctrl+x schließt du die Datei. Du kannst auch einen anderen Editor verwenden falls du nano nicht magst. In die erste Zeile schreiben wir einen Kommentar. Kommentare fangen immer mit # an und werden beim ausführen des Programms ignoriert. Schreibe in die erste Zeile: #Lüftersteuerung Version. #Geschrieben von Dein Name - Es ist eine gute Idee Kommentare in dein Programm zu schreiben. Dann weist du später was dein Programm an dieser stelle macht. Wir fangen mit dem ersten Teil an, dem einlesen der Temperatur und der Ausgabe in der Konsole. 4 5 tempdata = "/sys/class/thermal/thermal_zone0/temp" dateilesen = open(tempdata, "r") temperatur = dateilesen.readline() dateilesen.close() print("deine CPU hat " + temperatur + " Grad") Erst speichern wir den Pfad der zu öffnenden Datei in einer Variable. Dann öffnen wir die Datei mit. Das geschieht in Zeile. dateilesen = cw4.de/luefter/

open( Pfad zu der Datei die du lesen willst, r ) das, r steht für das englische Wort Read. Wir wollen die Datei ja nur lesen. In der dritten Zeile lesen wir die erste Zeile unserer Datei und speichern den Wert in eine variable mit dem Namen temperatur. Die () ist die Anzahl der Zeichen dir wir einlesen wollen. Ohne die wird die ganze Zeile eingelesen, auch der nicht sichtbare Zeilenumbruch am Ende. Das kannst du einfach mal ausprobieren. Mit dateilesen.close() schließen wir die Datei, wir brauchen Sie nicht mehr. Der Wert, die Temperatur, haben wir ja gerade in die Variable temperatur geschrieben. Die 5. Zeile gibt unsere Temperatur aus. Damit es schöner aussieht haben wir vor und hinter der Temperatur noch etwas Text geschrieben. Damit dich dieser erste Teil nicht überfordert fassen wir das ganze noch mal zusammen. Wir öffnen eine Datei. Lesen aus dieser die erste Zeile aus und schreiben den Inhalt dieser Zeile in eine Variable. Wir schließen die Datei. Dann geben wir einen Text in der Konsole aus, dann die Variable und noch mehr Text. Jetzt starten wir dein Programm. Das machst du mit dem Befehl python Temperatur.py Es sollte dir diesen Satz ausgeben: Deine CPU hat 45 Grad Lüftersteuerung Raspberry Pi. Temperaturen festlegen Jetzt wissen wir wir warm der Pi ist. Abhängig von der Temperatur wollen wir den Lüfter ein oder aus machen und eine oder mehr LEDs zum leuchten bringen. Wir müssen unserem Programm sagen welche Temperatur normal, warm oder heiß ist. Dafür öffnest du wieder dein Programm mit nano und schreibst folgende Zeilen rein. normal = 0 warm = 50 heiss = 60 cw4.de/luefter/4

Diese Werte könnt Ihr frei anpassen, achtet darauf, dass normal kälter als warm ist und warm kälter als heiss. In werden Werte in Variablen gespeichert. Diese unterscheiden zwischen Text (String) und Nummern (Integer). Es gibt Variablen in denen stehen Sachen wie Ich bin ein Text und andere in denen stehen Nummern zum Beispiel 5. Unsere Temperaturen sind Nummern, also Integer. Aus der CPU Temperatur Datei bekommen wir einen Text. (String). Zum Glück ist der String eine Nummer. Wir wandeln den String in einen Integer um mit den Zeilen: temperatur = int(temperatur) Jetzt vergleichen wir die Temperatur mit unseren Werten: 4 5 6 7 if temperatur <= normal: print ("Die CPU ist normal, grüne LED an.") if temperatur <= warm: print ("Die CPU ist warm, gelbe LED an") if temperatur >= heiss: print ("Die CPU heiss! Rote LED an!") print ("Den Lüfter schalten wir auch an.") Eine If abfrage vergleicht zwei Werte und führt Befehle aus falls diese zutreffen oder nicht. In der ersten Zeile sagen wir if temperatur <= normal geben die folgende Zeile aus. Falls die Temperatur nicht kleiner ist, wird der Befehl nicht ausgeführt. In der nächsten Zeile fragen wir ob die Temperatur > (größer) als warm ist und falls das zutrifft führen wir den nächsten Befehl aus. Die letzte Abfrage schaut ob die Temperatur größer oder gleich heiss ist und führt einen Befehl aus, oder auch nicht. Achtet darauf dass der Code der ausgeführt werden soll mit SPACE (Leertaste) oder Tab eingerückt werden muss. Wir listen dir noch mal alle Vergleichsoperatoren auf. kann nicht nur kleiner, größer, usw. sonder auch == (ist gleich) und!= ist nicht gleich. cw4.de/luefter/5

Vergleiche in kleiner als < größer als > kleiner oder gleich als <= größer oder kleiner als >= gleich == nicht gleich!= Jetzt haben wir schon eine funktionierende Temperatur Anzeige. Führe dein Programm aus mit python Temperatur.py. Im nächsten Teil bringen wir die GPIOs ins Spiel und lassen die LEDs leuchten. : LED Aufbau In diesem Teil zeigen wir dir wie man die GPIO Pins des Raspberry Pi benutzt. Mit diesen bringen wir unsere LEDs zum leuchten und steuern den Lüfter. Auf dem Bild siehst du den Aufbau. Schalte deinen Pi aus und baue den cw4.de/luefter/6

Aufbau mit den mitgelieferten Teilen nach. Anstatt des Lüfters verwenden wir erstmal eine LED. Die LEDs solltest du immer über Widerstand anschließen, ansonsten können sie kaputt gehen. Das lange Bein der LED ist die Anode (+) und das kurze Bein die Kathode (-). Der Aufbau ist immer Pin, Widerstand, LED, und dann zu GND (Ground oder Minus) Pin Widerstand 56 Ohm Grüne LED langes Bein Widerstand 56 Ohm Gelbe LED langes Bein 4 Widerstand 56 Ohm Rote LED langes Bein 7 Widerstand 56 Ohm LED langes Bein GND Verbindest du mit Minus auf dem Breadboard Die kurzen Beine der LED verbindest du direkt mit Ground (minus) auf dem Breadboard. Super jetzt wollen wir die LEDs zum leuchten bringen. Starte deinen Pi. 4: Lüfter und LEDs über Steuern Damit wir die GPIOs mit steuern, brauchen wir die GPIO Bibliothek. Diese binden wir am Anfang unseres Scripts ein. Außerdem importieren wir die Bibliothek time. Diese ermöglicht uns den Zugriff auf Befehle wie z.b. time.sleep(0) was unser Programm 0 Sekunden schlafen lässt. import RPi.GPIO as GPIO import time Jetzt definieren wir die Pins die wir belegen wollen. Für jedes Signal cw4.de/luefter/7

brauchen wir einen Pin. Wir benutzen LEDs. Grün, gelb, rot und den Lüfter wir brauchen also 4 Pins. Dazu kommen noch + und -. Die GPIO Pins können als Eingang oder Ausgang benutzt werden. Eingänge sind für Signale z.b.von Temperatursensoren. Mit Ausgängen kann man Dinge mit Energie versorgen. Für unsere LEDs und den Lüfter brauchen wir Ausgänge. Es gibt verschiedene Möglichkeiten um die 40. Pins auf dem Pi zu zählen. Wir benutzen BCM. Das ist die Belegung auf dem roten Referenzbord aus dem Starter Kit und auf der kleinen Karte die im Set liegt. Wie wir die Pins ansprechen definieren wir mit der Zeile GPIO.setmode(GPIO.BCM). Jetzt müssen wir noch festlegen welche Pins wir benutzen wollen. Jeden Pin müssen wir einzeln aktivieren. Wir nutzen,,4 und 7 als Ausgänge. 4 5 GPIO.setmode(GPIO.BCM) GPIO.setup(, GPIO.OUT) GPIO.setup(, GPIO.OUT) GPIO.setup(4, GPIO.OUT) GPIO.setup(7, GPIO.OUT) Das Programm weiß nun, dass wir diese Pins als Ausgang nutzen. Ein Ausgang kann zwei Zustände haben. An (high) oder aus (low). Wir machen erst mal alle Pins aus. 4 GPIO.output(, GPIO.LOW) GPIO.output(, GPIO.LOW) GPIO.output(4, GPIO.LOW) GPIO.output(7, GPIO.LOW) Mit diesen Zeilen schalten wir die GPIO.output Pins mit den Nummern,,4,7 auf LOW, also auf aus. Du kannst die Pins auch auf HIGH stellen, der Code sieht dann so aus: GPIO.output(5, GPIO.HIGH) Stelle sicher dass deine LEDs richtig angeschlossen sind und schalte sie an und aus. Zwischen dem an und aus kannst du Pausen einbauen, ohne pause schaltet die LED so schnell, dass du das nicht sehen kannst. cw4.de/luefter/8