# Aan de slag

# Inleiding

De Raspberry PI is een kleine single bord computer. De Raspberry Pi werd ontwikkeld aan de Universiteit van Cambridge en was bedoeld voor educatieve doeleinden. De productie van de eerste Raspberry Pi model B werd op 10 januari 2012 gestart. Sindsdien zijn er verschillende modellen en versies uitgebracht.

Raspberry PI model B januari 2012

De aanwezigheid van de General Purpose Input/output pinnen maakt het mogelijk om zelf sensoren en acutator aan te sluiten op de raspberry pi. Eveneens zijn er heel wat addon-board beschikbaar.

# Verschillende modellen

Na de introductie in 2012 zijn er nog verschillende modellen ontwikkeld.

Raspberry pi Model A uit 2012 zonder netwerkaansluiting.

raspberry pi Model A uit 2012 zonder netwerkaansluiting

Raspberry pi B+ uit 2014 met o.a. micro SD-kaart in plaats van SD kaart.

raspberry pi B+ uit 2014 met o.a. micro SD-kaart in plaats van SD kaart

Raspberry pi 3B uit 2018 met o.a. snellere 1,4 GHz processor, gigiabit ethernet aansluiting en dual band wifi.

raspberry pi 3B uit 2018

Raspberry pi 4B uit 2019 met o.a. snellere 1,5 GHz processor, USB 3.0. De Raspberry pi 4B is beschikbaar in versies met 2, 4 of 8 GB RAM-geheugen.

raspberry pi 4B uit 2019

De recentste versies van de raspberry pi beschikken onder andere over:

  • Voldoende USB poorten voor toetsenbord, muis en extra randapparaten.
  • 40 pins connector voor General Purpose Input/output (GPIO)
  • 1 GB LAN aansluiting
  • WIFI
  • Bluetooth
  • ….

In deze cursus wordt gebruik gemaakt van de Raspberry pi 4B.

# Raspberry pi besturingssystemen

Er zijn verschillende besturingssystemen beschikbaar als image voor de raspberry pi. Momenteel is het meest gebruikte Raspbian, wat in deze cursus gebruikt wordt. Andere besturingssystemen zijn onder andere Ubuntu Mate, Windows 10 IOT core, Risc OS, …

# Aanmaken bootable SD-kaart en opstarten Raspberry Pi

Er moet een bootable micro SD-kaart aangemaakt worden waar het besturingssysteem op staat. Download hiervoor volgende software en installeer deze. https://www.raspberrypi.org/software/ (opens new window)

Start de software

img

Kies Raspberry Pi OS (32-bit) of een ander OS.

img

Kies als opslagapparaat de micro SD-card voor de raspberry pi.

img

Klik op SCHRIJF en vervolgens op JA

img

Plaats de micro SD-card in de raspberry pi en start op.

# Opstarten

Na het aansluiten van een toetsenbord, muis, voeding en een scherm via HDMI of micro HDMI aansluiting (Rapsberry Pi 4) krijg je een grafische omgeving. img

Vervolgens moet het land, de taal en de tijdszone ingesteld worden. De standaard gebruiker is pi en het paswoord raspberry. Het is echter aan te raden dit paswoord aan te passen. Eveneens kan er een verbinding gemaakt worden met het wifi netwerk. Als laatste stap wordt gevraagd om de software te updaten. Dit zal even duren. Neem gerust terug een kop koffie.

# Raspberry pi vanop afstand bedienen

Om de raspberry pi vanop afstand via de grafische interface te bedienen kan gebruikt gemaakt worden van VNC. VNC moet gedownload worden op de computer die gebruikt wordt voor de externe toegang. VNC Viewer (opens new window)

Op de raspberry pi moet de toegang via VNC ingesteld worden.

configuratie

Schakel vervolgens VNC in.

VNC

Start de Raspberry Pi opnieuw op en zoek het IP-adres op via LXTernminal.

LxTerminal

Type de instructie ifconfig in de LXTerminal

Ifconfig

Het IP-adres wordt weergegeven. Noteer of onthoud het IP-adres van de raspberry pi.

Geef het IP-adres in VNC-Viewer.

Ifconfig

De Raspberry Pi kan nu vanop afstand bediend worden. Indien je een zwart scherm krijgt in VNC-Viewer moet je de resolutie van de raspberry pi aanpassen.

# GPIO Zero

GPIO Zero is een Python-bibliotheek die het relatief eenvoudig maakt sensoren en actuatoren aan te sluiten op de raspberry pi via de GPIO pinnen.

# Inschakelen GPIO pinnen

Kies “Voorkeuren” en vervolgens “Raspberry pi Configuratie programma”

img

Schakel in het “Raspberry pi Configuratie programma” op het tabblad “Interfaces” de nodige GPIO-communicatie in.

img

# Pin lay-out GPIO raspberry pi

De GPIO pinnen van de raspberry pi

img

# Python 3

Zorg dat je gebruik maakt van python 3. Dit kan je controleren via volgende commando in een terminal venster.

python --version
1

img

Indien je niet over versie 3 beschikt is een update mogelijk door de instellingen aan te passen in het bashrc bestand. In het voorbeeld wordt gebruik gemaakt van de editor nano.

nano ~/.bashrc
1

img

Voeg onderaan in het bashrc bestand volgende regels code toe zodat python 3 gebruikt wordt en pip3.

alias python='/usr/bin/python3'
alias pip=pip3
1
2

img

Bewaar de aanpassingen met de toetsencombinatie Ctrl + O. Sluit nano met de toestencombinatie Ctrl + X.

Voer de volgende instructie uit:

source ~/.bashrc
1

Controller terug de python versie met volgende commando in het terminal venster:

python --version
1

# gpiozero library

Installeer indien nodig de bibliotheek gpiozero door in een terminal venster volgend instructie in te geven:

sudo apt install python3-gpiozero
1

img

# Code editor

Een goede beginners editor voor python op raspberry pi in Thonny Python IDE.

img

# led oplichten

Test volgende python script op de raspberry pi

import gpiozero as io

led = io.LED(18)
led.on()
1
2
3
4

img In het voorbeeld maken we gebruik van de bibliotheek gpiozero. De functie LED zit in deze bibliotheek. Op de 2de regel wordt het object led aangemaakt en wordt de pin 18 toegewezen. Op de 3de regel wordt met de methode on() de led ingeschakeld.

Oefening:

  • Laat 2 leds oplichten. Kies zelf een GPIO pin voor de 2de led.

# Leds knipperen

Test volgende python script op de raspberry pi

from time import sleep
import gpiozero as io

led = io.LED(18)

while True:
    led.on()
    sleep(1)
    led.off()
    sleep(1)
1
2
3
4
5
6
7
8
9
10

Uitleg:

  • Importeer uit de library time de functie sleep.
  • Importeer de library gpiozero en wijs deze toe aan de klasse io.
  • Maak het object led aan en wijs de pin 18 toe.
  • Met de methode .on() wordt de led ingeschakeld en met .off() wordt de led uitgeschakeld.
  • Sleep (1) Pauzeer de uitvoering van het script gedurende 1 seconde.

Onderzoek: geef met de functie print de toestand van led weer voor het inschakelen en na het inschakelen.

Oefening:

  • Laat 2 externe leds afwisselend knipperen.

# Digitale ingang inlezen

Met volgende schakeling is het mogelijk een logische “1” en “0” te produceren aan een ingang van de raspberry pi.

Schakeling met drukknop Drukknopmodule

Test volgende programma uit.

# Button op GPIO04
import gpiozero as io
from time import sleep

knop = io.Button(4)

while True:
    sleep (0.1)
    if knop.value==1:
        print ("Knop niet ingedrukt")
    else:
        print ("Knop ingedrukt")
1
2
3
4
5
6
7
8
9
10
11
12

Onderzoek: geef met de functie print de toestand van knop.value weer. Wat stel je vast?

Oefeningen:

  • Laat een led oplichten wanneer een drukknop ingedrukt is.
  • Voorzie een drukknop voor de led in te schakelen en een drukknop om de led uit te schakelen.

# DHT 11 temperatuur- en luchtvochtigheidssensor

De DHT11 is een temperatuur- en luchtvochtigheidssensor.

img

De DHT11 is zowel in 3 pins aansluiting als 4 pins aansluiting beschikbaar. Daarnaast beschillen sommige bordjes al over een interne pull-up weerstand.

Doordat de uitgang van de DHT een opendrain of opencollector uitgang bezit is een pull-up weerstand nodig. Indien de pull-up weerstand niet aanwezig is zou een zwevend signaal ontstaan wanneer de transistor niet in geleiding is.

img

Installeer de bijhorende bibliotheek in cd command line.

sudo pip3 install Adafruit_DHT
1

Voorbeeldcode:

import Adafruit_DHT
import time

sensor = Adafruit_DHT.DHT11
pin =14
while True:
    humidity,temperature = Adafruit_DHT.read_retry(sensor,pin)
    print("Temp: " + str(temperature) + "°C")
    print("Tumidity: " + str(humidity) + "%")
    time.sleep(30)

1
2
3
4
5
6
7
8
9
10
11

Soms zijn er problemen met de Adafruit_DHT lib en de Raspberry pi 4. Dit kan opgelost worden via onderstaande link. Adafruit DHT Raspberry pi 4 (opens new window)

# Componentenlijst

Alle componenten zij normaal eenvoudig te verkrijgen bij verschillende leveranciers. In onderstaande lijst worden de link naar opencircuit.nl en bol.com opgenomen.

Aantal Omschrijving en link
1 Raspberry pi 4 2GB (opens new window)
1 Micro SD card 16 GB via Bol.com (opens new window)
1 Voeding voor Raspberry pi 4 (opens new window)
1 Micro HDMI kabel (opens new window)
1 Breadboard (opens new window)
1 DHT11 tempeatuur- en luchtvochtigheidssensor (opens new window)

Netlify Status (opens new window)

© 2024 Arteveldehogeschool Laatst bijgewerkt: 15/2/2024, 13:45:09