Internet of Things: Raspberry Pi


De raspberry Pi (kortweg Pi) is een volwaardige PC van nog geen €40. De Pi is nauwelijks groter dan een bankkaart en bevat diverse aansluitingen zoals een voeding, beeld, geluid, usb, netwerk en GPIO.

Het is net de GPIO die het toestelletje heel interessant maakt. GPIO zijn namelijk programmeerbare digitale in- en uitgangen. Doordat de Pi zo klein is en hij deze GPIO pins bevat, onstaan er tal van mogelijkheden. Zoek maar eens in Google wat er zoal reeds bestaat

Uiteraard konden we bij Progressive niet achter blijven en ontwikkelden we ons eigen project: een auto op afstandsbediening, maar dan via het web.

Wat hebben we hiervoor nodig?

  • een raspberry Pi (uiteraard)
  • een wagen op afstandsbediening, volledig uit elkaar te halen, die dienst doet als basis met enkel de wielen en motor
  • een breadboard met wat kabels
  • aparte voeding voor de wagen, aangezien de Pi zelf te weinig voeding biedt
  • een L293D IC

Hoe te beginnen?

 

Eerst en vooral moet de Pi up & running zijn. Aangezien de Pi op het moment van schrijven enkel Linux ondersteunt (er komt binnenkort ook een Windows 10 versie voor de Pi) beginnen we met een Linux operating system te kiezen en te installeren op de Pi. Wij hebben gekozen voor Raspbian, dit is de meest gebruikte distributie voor de Pi.

Vervolgens kan via een kort Python script geëxperimenteerd worden met de GPIO poorten. De raspberry Pi bevat 40 pins waarvan de meeste kunnen gebruikt worden als variabele digitale uitgang. Via een weerstand en een led kan hier snel mee getest worden.

Wanneer de led in- en uitgeschakeld kan worden, kan de fun beginnen. We gebruiken hiervoor onze motor en breadboard en sluiten deze aan elkaar aan via de L293D IC. Deze IC is ontwikkeld om maximaal 2 motoren mee aan te sturen. Door de combinatie van 2 input signalen kan de richting van de stroom worden omgewisseld, waardoor de wagen zowel vooruit als achteruit kan rijden.

Nadat de wagen in 2 richtingen kan rijden is het de moment om ook het links en rechts sturen te implementeren. Dit ligt iets moeilijker vanwege de servo. Een servo is een systeem waarbij men naar links en rechts kan sturen, maar met een bepaalde richting. Je hoeft de wagen daardoor niet steeds 45° te draaien, maar hierdoor kan hij ook minder scherp draaien.

Nu de wagen vooruit en achteruit kan rijden en zowel links als rechts draaien is het moment gekomen om deze te besturen via een webinterface. Hiervoor maakten we een kleine webpagina die 4 pijlen bevat om alle richtingen te kunnen in gaan. Via deze acties wordt de wagen gestuurd en kan men zowel van op het interne netwerk als van buitenaf de wagen helemaal besturen.

Een volgende stap is de camera aansturen, zodat men van op externe locaties kan zien waar de wagen zich bevindt. Hierover volg later meer info...
De ultieme stap vervolgens is een circuit maken waarbij via sensoren tijden kunnen worden opgemeten en er zo een online competitie kan volgen. Wie weet wordt dit ooit nog werkelijkheid...