Programmeren is een computer laten doen wat jij wil. Getallen optellen, geluidjes maken, vierkante mannetjes met een pikhouweel over je scherm laten rennen: allemaal geen probleem voor je gewone laptop. Met de programmeertaal Scratch kan je al deze dingen op een leuke manier zelf bouwen. Maar soms wil je meer... Wat als je met een motortje het deurtje van de kooi van je kanariepiet wil besturen, zodat hij elke dag om 13u27 een luchtje kan gaan scheppen? Of wat als je een echt lampje wil laten knipperen als er te veel lawaai in de klas is? Je kan niet zomaar een motortje aan je pc aansluiten, of een lampje in je computer stoppen... (Nu ja, je zal altijd wel een gaatje in je computer vinden waarin je een lampje kan proppen, maar de kans dat het lampje ook effectief gaat oplichten is eerder klein in dat geval ;-) ARDUINO Je hebt in dat geval een computer nodig waaraan je allerlei leuke spullen kan aansluiten. Een veel gebruikt mini-computertje is de Arduino (spreek uit: 'ardwienoo'). Er bestaan verschillende soorten Arduino computertjes, maar ze hebben allemaal een paar eigenschappen gemeen:
Als je start met Arduino dan zijn de types Arduino Uno of Arduino Leonardo ideaal. De Arduino Uno is een 'ouder' type en is waarschijnlijk het meest gebruikt, waardoor je ook veel compatible programma's en uitbreidingsbordjes vindt: De Arduino Leonardo is een nieuwer type en is vaak goedkoper te vinden. De Arduino Leonardo heeft als voordeel dat je hem kan programmeren als muis of toetsenbord voor een pc: leuk als je bijvoorbeeld zelf een MaKey MaKey wil maken ;-) Een Arduino is dus een mini-computertje zonder muis of toetsenbord. Hoe kan je hem dan programmeren? In Scratch bouw je een programma op je laptop, en voer je het uit op diezelfde laptop. Een Arduino kan wel programma's uitvoeren, maar op een Arduino zelf kan je dus geen programma's bouwen... Hiervoor heb je nog steeds een 'gewone' computer nodig: je bouwt een Arduino-programma op je gewone computer en je stuurt dit programma op naar je Arduino door een usb-kabel. ARDUINO IDE Om Arduino-programma's te bouwen heb je de Arduino ontwikkelomgeving nodig. Deze vind je terug op de Arduino website:
'IDE' staat voor 'Integrated Development Environment' of vertaald 'Geïntegreerde Ontwikkelomgeving'. Veel te moeilijke woorden om gewoon te zeggen 'Programma waar alles in zit om het ding geprogrammeerd te krijgen' ;-) Als je je Arduino aansluit op je computer dan zal hij een bepaald poortnummer toegewezen krijgen. Vergelijk het een beetje met het kanaalnummer van een walkie-talkie, of het kanaalnummer van een auto op afstandsbediening. Enkel als je computer naar het juiste 'kanaal' berichten stuurt dan zullen deze bij de Arduino aankomen. Het poortnummer van je Arduino vind je terug in het scherm 'Apparaatbeheer (Device Manager)' van Windows: In dit voorbeeld heeft de computer dus een Arduino Leonardo gevonden op poort 'COM7'. LET OP - Je computer zal pas Arduino's herkennen nadat je de Arduino software geïnstalleerd hebt. Naast de ontwikkelomgeving worden immers ook stuurprogramma's geïnstalleerd. Zonder deze stuurprogramma's herkent je computer niet wat je hebt aangesloten. EEN VOORBEELD ARDUINO-PROGRAMMA Volgende stap: een programma uploaden naar je Arduino! Dat doe je door de Arduino ontwikkelomgeving op te starten: Hmm, da's helemaal wat anders dan Scratch... Geen poes en geen leuke blokjes die je aan elkaar kan plakken... Haal je dactylo-boek maar alvast uit de kast, want Arduino programma's maken doe je door programmeertaal in te typen! Instructies geef je dus niet met blokjes maar door speciale woorden in te typen die de Arduino begrijpt. Gelukkig zitten in de Arduino IDE een aantal voorbeeldjes ingebakken:
Heel wat anders dan die leuke Scratch blokjes, maar op zich valt het allemaal nog wel te snappen:
Het programma naar de Arduino opsturen doe je als volgt:
De Arduino zal automatisch herstarten en het programma beginnen uitvoeren waardoor het ingebouwde ledje begint te knipperen. Cool, ons eerste 'echte ding' dat we aansturen! Om dit programma uit te voeren heeft je Arduino de computer niet meer nodig, ook als je hem aansluit aan een gsm-lader of aan batterijen zal hij opnieuw opstarten en het ledje laten knipperen! MAAR IK VIND BLOKJES PLAKKEN LEUKER... Allemaal leuk zo'n Arduino, maar betekent dit nu dat we die ingewikkelde Arduino-taal moeten leren om een kanariepietenkooiopener te maken? Neen! Je kan je Arduino ook aansturen vanuit Scratch! Hiervoor dien je wel een paar dingen te installeren, zowel op je Arduino als op je computer:Je Arduino voorbereiden
Java installeren
Het hulpprogramma 'scratch4arduino' installeren
Extra blokjes in Scratch laden Om vanuit Scratch instructies te sturen naar het hulpprogramma heb je speciale blokjes nodig. Deze tover je als volgt tevoorschijn (LET OP - Dit kan enkel in de offline versie van Scratch, en dus niet in de website-versie van Scratch):
Het groene 'lampje' geeft aan dat Scratch nu verbonden is met het hulpprogramma. Als het lampje rood zou zijn, dan is er iets mis... We zijn nu klaar om ons eerste Scratch-Arduino programma te bouwen. +++ Belangrijk +++ Belangrijk +++ Belangrijk +++ Het aansturen van externe hulpprogramma's en toestellen wordt nog niet officieel ondersteund, en wordt daarom nog experimenteel genoemd. Er zitten ook nog verschillende foutjes (bugs) in Scratch waardoor Scratch durft vast te lopen! Daarom deze tips:
Hopelijk lost het Scratch team snel deze fouten op, de fouten zitten zeker nog in de huidige versie v385. +++ Belangrijk 2+++ Belangrijk 2+++ Belangrijk 2+++ Door foute dingen of dingen fout aan te sluiten aan je Arduino kan je hem stukmaken. Zorg dat je steeds begeleid wordt door iemand met voldoende elektronica-kennis, of gebruik enkel het ingebouwde ledje van de Arduino. Je Scratch programma bouwen. Eindelijk is het zo ver: Scratch blokjes puzzelen om een ledje aan sturen! Dit is super-eenvoudig:
EXTRA LINKS Nederlandstalige info over Arduino, door een CoderDojo Belgium Coach http://s4a.cat/ - Een aangepaste 'oude' versie van scratch waarmee je ook je Arduino kan aansturen. De info op de website werkt enkel met de Arduino Uno, http://snap.berkeley.edu/ - Een ander Scratch-achtig programma waarin je eigen blokjes kan gebruiken. Er zijn op het internet ook blokjes voor Snap te vinden om een Arduino aan te sturen |
Projecten >