Les 4: Zaterdag 22 maart 2014 Wim Peeters (Wim.Peeters@acm.org) Raspberry Pi Les 4: Zaterdag 22 maart 2014 Wim Peeters (Wim.Peeters@acm.org)
Raspberry-Pi
Programma Installatie Basis Linux en de commando's Pi als eenvoudig Linux servertje Raspberry PI als mediaspeler Aansturen en uitlezen motoren en LEDs Raspberry PI als fm zender Raspberry-Pi
Vorige les Shell scriptjes en webserver Aansturen en uitlezen van LEDs en motoren Basis elektronica Stroom, spanning, weerstand LEDs Analoog naar Digitaal Eenvoudig schakelingen Programeren in python Raspberry-Pi
Maak onze website dynamisch #!/bin/bash # Verander de website # Wim Peeters # echo " <html>" echo " <head>" echo " <title> Raspberry PI van Wim </title>" echo " <META HTTP-EQUIV=refresh CONTENT=5>" echo " </head>" echo " <body><h1>Raspberry Pi webserver van Wim</h1>" echo " <p>Dit is de aangemaakte pagina van de webserver op de Pi</p>" echo " <p>het is nu:`/bin/date`</p>" echo " </body>" echo " </html>" Raspberry-Pi
Cron: crontab -e S Raspberry-Pi
Resultaat S Raspberry-Pi
Vandaag Shell scriptjes en webserver Aansturen en uitlezen van LEDs en motoren Basis elektronica Stroom, spanning, weerstand LEDs Analoog naar Digitaal Eenvoudig schakelingen Programeren in python Raspberry-Pi
Vandaag Eenvoudige schakelingen Knipper LED LED Dimmen (8 segmenten display) Drukknop Analoog signaal meten Raspberry-Pi
Basis elektronica Spanning: Stroom Weerstand Eenheid: Volt (V) Spanning “staat over” een component Stroom Eenheid: Ampere (A) Stroom “stroomt door” een component Weerstand Eenheid: Ohm (Ω) Weerstand tegen stroom Raspberry-Pi
Wetten van Kirchhoff Som spanning in een lus = 0V Som v/d Stroom in – Som v/d Stroom uit een knoop = 0A Raspberry-Pi
Wet van Ohm Verband :Spanning, stroom en weerstand U= I x R Gegeven: U=10V, R=1000Ω Gevraagd: I? I=U/R 10V/1000Ω=0,01A=10mA Raspberry-Pi
Kleurcode weerstanden Waarde? Raspberry-Pi
Truuk Zin: zij → zwart → 0 bracht → bruin → 1 rozen → rood → 2 op → oranje → 3 Gerrits → geel → 4 graf → groen → 5 bij → blauw → 6 vies → violet → 7 grijs → grijs → 8 weer → wit → 9 Raspberry-Pi
Oefening Zin: Raspberry-Pi
LED: Light Emitting Diode Zin: Raspberry-Pi
LED en voorwaartse spanning Zin: Raspberry-Pi
Raspberry-Pi
GPIO: connector P1 Raspberry-Pi
GPIO 3,3V Opgepast: niet beschermd Hoog/laag → 1/0 Kortsluiting → stuk Spanning opzetten → stuk Raspberry-Pi
LED en PI Pi: 5V pin 2 GND pin 6 3,3V elke IN/OUT 5V max 250mA Advies: 3-5mA Raspberry-Pi
LED en PI Pi: Raspberry-Pi
Bereken de weerstand U: 5V Rode LED: Max 5mA R? 470Ω Raspberry-Pi
Oplossing Pin: 3,3 Volt → 3mA → rode led: 2V: R=(U-Uled)/I → 1,3V/3mA 433Ω → dus 470Ω Pin: 5 Volt → 3mA → rode led: 2V: R=(U-Uled)/I → 3V/3mA 1000Ω Stel 470Ω? Raspberry-Pi
GPIO programmeren sudo apt-get install python-dev sudo apt-get install python-rpi.gpio Raspberry-Pi
Programmeertaal python #!/usr/bin/python # # Voorbeeldje: Wim Peeters for i in range(1,10): print(i) Raspberry-Pi
Led aan, Led uit Raspberry-Pi pi@raspberrypi ~ $ sudo python Python 2.7.3 (default, Jan 13 2013, 11:20:46) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import RPi.GPIO as GPIO >>> GPIO.setmode(GPIO.BCM) >>> GPIO.setup(18, GPIO.OUT) >>> GPIO.output(18,True) >>> GPIO.output(18,False) Raspberry-Pi
Led aan, Led uit Raspberry-Pi pi@raspberrypi ~ $ sudo python Python 2.7.3 (default, Jan 13 2013, 11:20:46) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import RPi.GPIO as GPIO >>> GPIO.setmode(GPIO.BCM) >>> GPIO.setup(18, GPIO.OUT) >>> GPIO.output(18,True) >>> GPIO.output(18,False) Raspberry-Pi
Led aan, Led uit Raspberry-Pi pi@raspberrypi ~ $ sudo python Python 2.7.3 (default, Jan 13 2013, 11:20:46) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import RPi.GPIO as GPIO >>> GPIO.setmode(GPIO.BCM) >>> GPIO.setup(18, GPIO.OUT) >>> GPIO.output(18,True) >>> GPIO.output(18,False) Raspberry-Pi
Python program: pinker.py #!/usr/bin/python # Led tss pin 18 en GND # Wim Peeters import RPi.GPIO as GPIO import time GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) while (True): GPIO.output(18, True) time.sleep(0.5) GPIO.output(18, False) Raspberry-Pi
Programma: pinker.py sudo ./pinker.py Raspberry-Pi
Puls breedte: fader.py Raspberry-Pi
Oefening Zin: Raspberry-Pi
Programma: fader.py sudo ./fader.py Raspberry-Pi
Drukknop VCC: 3,3 V pin 1 GND: pin 6 Meeting: pin16 → GPIO 23 R=U/I 3,3V/0,3mA = 11000Ω → 10KΩ Raspberry-Pi
Drukknop Naar GPIO 1 (3,3V) Naar GPIO 23 → pin 16 Naar GND pin 6 Raspberry-Pi
Drukknop Raspberry-Pi
sudo ./drukknop.py Raspberry-Pi
Oefening Als je even op de knop drukt, knippert de LED 2 maal Raspberry-Pi
Raspberry-Pi
Meten van een spanning De PI heeft geen analoog digitaal convertor (ADC) Truk: Vervang Spannings meting door tijdsmeting Raspberry-Pi
Condensator: C Kan elektrische lading opslagen En vrijgeven. → maar dat duurt een tijd Symbool: Eenheid: Farad (F) Raspberry-Pi
Weerstand en Condensator in serie Vin -VR -VC=0 VR = wet van Ohm VR=IR VC =Vin(1-e-t/RC) Met τ=RC Raspberry-Pi
Laden: opgeladen na 5RC t=RC Raspberry-Pi
Ontladen: na 5RC t=RC Raspberry-Pi
Met de PI Opgepast: kortsluiting! Pin1: 3,3V Pin6: GND GPIO 24 Raspberry-Pi
Raspberry-Pi
Sudo ./AD.py Raspberry-Pi
In onze Website duwen? Raspberry-Pi
meet.py: eenmalige meting Raspberry-Pi
website-meeting.sh Raspberry-Pi
Uitvoeren + redirect naar webserver Raspberry-Pi