Verslag Raspberry Pi.

 

* Inleiding.

In de afgelopen periode zijn we aan het werk gegaan met een nieuw concept en een nieuw apparaat: de Raspberry Pi (RPI). We maakten eerst kennis met het apparaat en de bijbehorende onderdelen, waarna we de door onze docent opgegeven opdrachten gingen maken. Bij deze opdrachten werkten wij in tweetallen, wat alles een stuk makkelijker maakte, en wat de druk en zorgen verminderde. In dit verslag zal ik jullie vertellen over wat we in deze periode hebben gedaan.

 

* Wat is Raspberry Pi?

Raspberry Pi is eigenlijk gewoon een klein portable computertje, dat gemaakt is door Cambridge Universiteit voor educatieve doeleinden. Met de RPI kun je veel leuke dingen doen, zoals je eigen programma programmeren, of communicatie mogelijk maken met andere elektrische apparaten zoals je TV. Het apparaat heeft dezelfde aansluitingen die je in een normale computer vindt, zoals USB-poorten en een HDMI-poort, daarnaast kan je er een SD-kaart indoen en zo kun je er meer dingen meedoen.

 

 

* Wat heb je nodig voor RPI:

-Computerscherm.

-Oplader & paar belangrijke kabels.

-Raspberry Pi geheugenkaart ( sd kaart).

-Raspberry Pi singleboardcomputer.

-Usb-muis.

-Toetsenbord. 

Image result for raspberry pi Raspberry Pi

 

* De belangrijkste onderdelen:

  • De RPI zelf, uiteraard.

 

  • Breadboard: Een soort plaatje waarop je elektrische schakelingen kunt construeren.

Image result for breadboard Breadboard

 

  • Draadjes: Deze gebruikten we om de breadboard te verbinden met de RPI, en om schakelingen op de breadboard te maken.

Image result for raspberry pi cables Draadjes

 

* Wat waren de opdrachten?

  1. Reactiespel: We moesten een knop zo snel mogelijk indrukken, waarna we werden toegejuicht door het apparaat!
  2. Stoplicht: Wij moesten een stoplicht maken en zó programmeren, dat het aan of uit ging bij het indrukken van een knop.
  3. Lichtgevoelige sensor: We moesten een condensator en een lichtgevoelige sensor (LDR) toevoegen aan onze opstelling, en een programma maken dat de gemeten waarden van de sensor op het beeldscherm toonde.

 

    

 

 

stoplicht zonder zoemer

from gpiozero import Button, TrafficLights

knop= Button(21)

lights= TrafficLights(25, 8, 7)

 

while True:

      Button.wait_for_press()

      lights.on()

      Button.wait_for_release()

      lights.off() 

 

stoplicht met zoemer

from gpiozero import Button, TrafficLights, Buzzer

knop= Button(21)

lights= TrafficLights(25, 8, 7)

zoemer= Buzzer(15)

 

while True:

      lights.on(0)

      zoemer.off()

      knop.wait_for_press()

      lights.off()

      zoemer.on()

      knop.wait_for_release()

     

 

 

from gpiozero import Button, LED

knop= Button(21)

led= LED(25)


while True:

      knop.wait_for_press()

      led.on()                                                                   LED gaat aan als je op de knop drukt

      knop.wait_for_release()

      led.off()


while True:

      led.on()

      knop,wait_for_press()                                              LED staat aan tot je op de knop drukt

      led.off()

      knop.wait_for_release()


while True:

      led.blink()

      knop.wait_for_press()                                            LED knippert tot je op de knop drukt

      led.off()

      knop.wait_for_release()


  de snelheid waarmee de lampjes knipperen kan je aanpassen door achter "led.blink" 2 getallen te plaatsen. die getallen geven aan hoelang het lampje aan moet blijven en hoelang het dedooft moet blijven.

bijvoorbeeld:

led.blink(2,2) 2 seconden aan, 2 seconden uit.

led.blink(0,5.0,5) halve seconde aan, halve seconde uit.

 

 

from gpiozero import Motionsensor, LED, Buzzer

import time

 

Passieve sensor=Motionsensor

led= LED(25)

zoemer= Buzzer(21)

print ("PIR instellen")

Pir.wait_for_no_motion()

 

print ("PIR module testen(CTRL-C om te stoppen)")

 

# variabelen om de huidige en laatste status op te slaan

huidige_status = False

vorige_status = Fasle

 

try: 

      # een loop todat de gebruiker op CTRL-C drukt

      while True:

            # de PIR status lezen

            huidige_status = Pir.motion_detected

 

           # als de pir een verandering ziet

           if huidige_status == True and vorige_status == False

                print ("       Beweging waargenomen!")

                lampjes en zoemer drie keer laten afgaan

                for X in range (0, 3):

                     zoemer.on()

                     time.sleep(0.2)

                     rood.off()

                     groen.on()

                     time.sleep(0.2)

                     groen.off()

                     zoemer.off()

                     time.sleep(0.2)

 

                     # record vorige_status

                     previousstate = True

           

           # als de PIR geen verandering ziet

           elif huidige_status == False and vorige_status == True

                print ("      geen beweging")

                vorige_status = False

 

           # wacht 10 milliseconden

           time.sleep(0.01)

 

      except KeyboardInterrupt

           print ("     gestopt")

 

* Hoe hebben wij de opdrachten uitgevoerd?

Ten eerste moesten we de breadboard schakelen met de RPI m.b.v. de draadjes. Vervolgens moesten we een bepaalde opstelling van LED’jes en een knop maken op de breadboard, zoals je hieronder ziet. Het enige wat we daarna moesten doen was een script schrijven in het programma Python 3 op de RPI. Het was ons gelukt om de lampjes aan en uit te zetten met behulp van de knop.

camjam1wiring

 Om te beginnen hebben wij de opstelling van opdracht 2 veranderd, waarbij we de LED’jes hebben verwijderd, en een condensator + LDR hebben toegevoegd. Vervolgen moesten we een nieuwe script schrijven in Python 3, waarna we gemeten waarden van de lichtintensiteit op he scherm konden zien. Ter controle gingen we onze hand over de sensor heen bewegen, waarbij de waarden varieerden.

 

* Reflectie.

We vonden het wel interessant om het te doen. het was grappig dat zo een klein ding een computer kan worden. Het was wel een moeilijke opdracht. Soms lukt iets wel en een ander keer  niet en dan moest je helemaal gaan uitzoeken wat er fout is gegaan. Je moest ook goed samenwerken, en we hadden leuke partners waar we mee goed konden werken en geen discussies mee hadden. Dat is ook belangrijk als je een opdracht samen doet. We kregen ook hulp van andere klas genoten als we niet meer wisten wat we moesten doen en daardoor konden we het wel afmaken ondanks dat het een lastig opdracht was, maar het was wel leerzaam!

 

Saynab Duaale, Sude Aydogan en Esma Hajranovic.