Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdFranciscus Lambrechts Laatst gewijzigd meer dan 10 jaar geleden
1
Les 5: Zaterdag 29 maart 2014 Wim Peeters (Wim.Peeters@acm.org)
Raspberry Pi Les 5: Zaterdag 29 maart 2014 Wim Peeters
2
Raspberry-Pi
3
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
4
Vorige Les Eenvoudige schakelingen Knipper LED LED Dimmen
(8 segmenten display) Drukknop Analoog signaal meten Raspberry-Pi
5
GPIO: connector P1 Raspberry-Pi
6
LED en PI Pi: 5V pin 2 GND pin 6 3,3V elke IN/OUT 5V max 250mA
Advies: 3-5mA Raspberry-Pi
7
GPIO programmeren sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio Raspberry-Pi
8
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
9
Drukknop Naar GPIO 1 (3,3V) Naar GPIO 23 → pin 16 Naar GND pin 6
Raspberry-Pi
10
Meten van een spanning De PI heeft geen analoog digotaal convertor (ADC) Truuk: Vervang Spannings meting door tijdsmeting Raspberry-Pi
11
Condensator: C Kan elektrische lading opslagen
En vrijgeven. → maar dat duurt een tijd Symbool: Eenheid: Farad (F) Raspberry-Pi
12
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
13
Laden: opgeladen na 5RC t=RC Raspberry-Pi
14
Ontladen: na 5RC t=RC Raspberry-Pi
15
Met de PI Opgepast: kortsluiting! Pin1: 3,3V Pin6: GND GPIO 24
Raspberry-Pi
16
In onze Website duwen? Raspberry-Pi
17
meet.py: eenmalige meting
Raspberry-Pi
18
website-meeting.sh Raspberry-Pi
19
Uitvoeren + redirect naar webserver
Raspberry-Pi
20
Vandaag Eenvoudige schakelingen ... Temperatuur meten
Reageren op licht Servo motor Raspberry-Pi
21
Temperatuur meten NTC-thermistor M891 Raspberry-Pi
22
NTC: Negatieve Temperatuur Coëfficiënt (weerstand)
Weerstand neemt toe met dalende Temperatuur T25 = 10K NTC 10K Raspberry-Pi
23
Exponentieel verband ( )
BENADERENDE RECHTE Lineair benaderen temp = -(temp/20)+66 Raspberry-Pi
24
Raspberry-Pi
25
Temperatuur Raspberry-Pi
26
Reageren op Licht Fotoweerstand THT Perkin Elmer VT 93 N2 Raspberry-Pi
27
LDR: hoe meer licht hoe kleiner de weerstand
In onze schakeling < 500: veel licht >1000: weining licht Raspberry-Pi
28
Raspberry-Pi
29
Meting: <500 licht, >1000 donker
Raspberry-Pi
30
Oefening Als donker: LED aan Als Licht: LED uit Raspberry-Pi
31
Oplossing Raspberry-Pi GPIO.setup(18, GPIO.OUT) # LED op Pin6, GPIO 18
… zie vorige oefening.... # Hoofdprogramma while (True): licht = RCtime(24) # We meten op GPIO24 if licht < 500: print("Het is licht, zet de led uit") GPIO.output(18, False) # Led uit else: print("Het is donker, zet de led aan") GPIO.output(18, True) # Led aan Raspberry-Pi
32
Servo motor MC-1811 Technische specificaties Raspberry-Pi
Instelkoppel bij 4,8 V 15 Ncm Lagertype Glijlagers Stekkersysteem JR Servo-technologie Analoge servo Fabrikantnr. MC1811 Servo-type Micro-servo Raspberry-Pi
33
Breedte van de puls bepaalt positie
Raspberry-Pi
34
Aansluiting Voeding: – 5V: Pin2 – GND: Pin 6 – Control: pin22 GPIO25
Weerstand 1K Control Raspberry-Pi
35
Via Duty cycle op 100Hz 100Hz: 10ms per period Raspberry-Pi
Duty=10% geeft pulse 1ms = hoek 0 Duty=20% geeft pulse 2ms = hoek 180 Duty=15% geeft pulse 1ms = hoek 90 Raspberry-Pi
36
Run Raspberry-Pi pi@raspberrypi ~/LES5 $ sudo ./servo.py
Duty moet tussen 10 en 20 liggen, we starten op 15 Duty=10% geeft pulse 1ms = hoek 0 Duty=20% geeft pulse 2ms = hoek 180 Duty=15% geeft pulse 1ms = hoek 90 Duty: 10 Duty: 20 Duty: 15 Raspberry-Pi
37
Raspberry-Pi #!/usr/bin/python #
# pin1 3,3V --> 2K2,LDR 48k, pin18 (gpio24) --> GND (pin6) # pin2 5V --> Servo # pin6 (gpio18) --> R > LED --> GND (pin6) # pin22 (gpio25) --> R 1K --> signal servo # Wim Peeters import RPi.GPIO as GPIO import time GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) servopin = 25 GPIO.setup(servopin, GPIO.OUT) pwm = GPIO.PWM(servopin, 100) # pin en frequency, geeft 10ms/periode pwm.start(15) # start op 5% print "Duty moet tussen 10 en 20 liggen, we starten op 15" print " Duty=10% geeft pulse 1ms = hoek 0" print " Duty=20% geeft pulse 2ms = hoek 180" print " Duty=15% geeft pulse 1ms = hoek 90" while True: duty = int(input('Duty: ')) pwm.ChangeDutyCycle(duty) # Beweeg de Servo Raspberry-Pi
38
Oefening: servo sturen met LDR Zelfde hardware
… vb output Het is licht, zet de led uit en servo naar links Het is donker, zet de led aan en servo naar rechts Raspberry-Pi
39
Oplossing Raspberry-Pi …. zie vorige oefening # Hoofdprogramma
while (True): licht = RCtime(24) # We meten op GPIO24 if licht < 500: print("Het is licht, zet de led uit en servo naar links") GPIO.output(18, False) # Led uit pwm.ChangeDutyCycle(10) # Beweeg de Servo naar links else: print("Het is donker, zet de led aan en servo naar rechts") GPIO.output(18, True) # Led aan pwm.ChangeDutyCycle(20) # Beweeg de Servo naar rechts 2ms puls Raspberry-Pi
40
Raspberry pi als FM zender Star Wars
41
Pifm.tar.gz van icrobotics.ci.uk
wget ~/LES5/pifm $ sudo ./pifm sound.wav 103.2 Raspberry-Pi
42
Pi grafisch Remote: VNC server sudo apt-get tightvncserver
sudo tightvncserver Raspberry-Pi
43
Raspberry-Pi
44
Raspberry-Pi
45
sudo apt-get install pistore
Raspberry-Pi
46
PI als Mediacenter: RaspBMC
Raspberry-Pi
47
Raspberry-Pi
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.