Arduino - LED blinking

From SPAD-it Wiki
Revision as of 21:05, 11 September 2017 by WikiAdmin (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Dit project draait het om het op de rails krijgen van de Arduino en de software. De eerste stap is om de software te installeren op je PC of laptop. Daarna kun je al de Arduino op je PC aansluiten met een USB kabel en moet je een paar dingen instellen. Het voorbeeldprogramma uit dit project kun je vervolgens kopieren naar de Arduino software en naar de Arduino over zetten. Dat laatste heet uploaden. Je zult merken dat dit (vrijwel altijd) heel gemakkelijk is. Het project heet "Hello World", maar dat betekent alleen dat je met dit project de eerste stappen hebt gezet. Waar wij spreken van een Arduino doelen we op een microcontrollerbordje volgens een van de Arduino ontwerpen. Dat hoeft dus helemaal geen orginele Arduino te zijn. Arduino klonen zijn vaak een stuk goedkoper en net zo goed.

Lessen:

  • Installeren van de Arduino software
  • Omgaan met een Arduino
  • Aansluiten van de Arduino op de PC
  • Een programma kopieren, uploaden en op de Arduino laten werken
  • De Arduino werkt nu ook zelfstandig!

Installeer en open de Arduino software

Om de software te installeren op een Windows PC kun je het gemakkelijkste de volgede link gebruiken: De Arduino installatie software (Windows) Hiermee download je de installatiesoftware van de Arduino site. Na het downloaden moet je de software starten waarna de installatie automatisch verloopt. Als je goed oplet zag je al het adres van de Arduino: www.arduino.cc. De site is wel in het Engels, maar onder het hoofdje Learning staan behulpzame links om je op weg te helpen als je meer wilt weten dan we in deze introductiecursus aanbieden. Maar wellicht heb je liever informatie in het Nederlands. In dat geval kan de site www.arduino.nu nuttig zijn voor je.

Koppel de Arduino via een USB kabel aan de computer

Je kunt nu je Arduino aansluiten door de de ene kant van een geschikte USB kabel in de Arduino te steken en de andere kant in de computer. Wat voor kabel je precies nodig hebt hangt een beetje van de Arduino af. De regel is eenvoudig: als het past is het goed. Maar let wel op: aan de onderkant van de Arduino zitten allemaal metalen uitsteekseltjes die goed stroom geleiden. Op sommige hiervan staat een positieve spanning en op andere de nul-spanning. Als deze met elkaar worden verbonden kan er een behoorlijk grote stroom gaan lopen en kan zelfs de USB poort van je computer kapot gaan. Ook kan de Arduino zelf kapot gaan. Je moet er dus op letten dat je de Arduino niet op een goed geleidende ondergrond legt, zoals een metalen omhulsel van een laptop. Een stuk papier ertussen beschermd voldoende, mits de scherpe puntjes daar niet doorheen prikken natuurlijk. Verder is een Arduino niet heel gevoelig, maar je moet het bordje niet proberen te buigen of zo en van te hoge spanningen kan het ook kapot gaan. In het volgende project zullen we nog iets meer zeggen over wat je wel en niet op een Arduino mag aansluiten.

Zodra de je Arduino aansluit op je computer zal Windows proberen de juiste driver te installeren. Soms lukt dit niet! Om te controleren of het goed is gegaan kun je met de rechtermuisknop op Deze Computer klikken en vervolgens eigenschappen uit het menu selecteren. Daarna moet je zoeken naar Apparaatbeheer. Als je daarop klikt krijgt je een lijst te zien met "apparaten". Als alles goed is, staat de Arduino onder Poorten. Door dat item uit te vouwen kun je dit zien en kun je tevens zien via welke poort de Arduino met jouw computer communiceert. Als Windows geen driver heeft kunnen vinden voor de Arduino, wordt de Arduino meestal getoond onder "Andere apparaten". Dit item is dan al uitgevouwen, waarbij het icoon bij de Arduino een geel driehoekje bevat met een uitroepteken. In dit geval kun je het recept volgen dat van de volgende link: uno driver installation. De driver download link heb je daarbij niet nodig want de drivers zijn al op je pc gezet bij de installatie van de Arduino software; Windows kan ze alleen niet vinden.

Als het goed is, is de Arduino software nu geinstalleerd. Als je de software start krijg je ongeveer het volgende scherm te zien:

Arduino software.png
De Arduino software omgeving

Let nu even op: rechts onder in het scherm van de Arduino software staat iets als Arduino/Genuino Uno on COM1. Dit betekent dat de software ervan uitgaat dat er een Arduino Uno is aangesloten en dat die via poort COM1 benaderd kan worden. Arduino Uno is het meest gebruikte type, en ook in deze cursus gaan we daar vanuit, maar er zijn ook andere types, elk met wat andere eigenschappen. Later kun je eens kijken in ons Overzicht Arduino's. Voor we verder gaan moeten we even controleren of de software met het juiste type en het juiste poort werkt. Als je later een andere Arduino zou aansluiten, zul je zien dat die ook via een andere COM poort zal werken.

Kies het juiste Arduino bord

In de Arduino software open je het menu Tools en kies je vervolgens Board: "...". Achter Board: staat al het type bord dat momenteel is geselecteerd. Als je een UNO hebt en er staat Arduino/Genuino Uno hoef je eigenlijk niks te doen, anders moet je het bord dat je daadwerkelijk hebt aangesloten uit de lijst selecteren. Wij gaan er vanuit dat het een Arduino UNO is, maar vrijwel alle code werkt ook op bijvoorbeeld een Arduino MEGA.

Stel de juiste poort in

Eveneens in het Tools menu vind je de poort instelling. Er staat bijvoorbeeld Port: "COM1". Doorgaans staat dit automatisch correct ingesteld omdat je computer, na installatie van de drivers, het bordje herkent. Het is in elk geval een goed idee om dit even te controleren, zeker als je op een dag een andere Arduino zou aansluiten.

Kopieer het programma

In onderstaand vernster staat een programma. Selecteer de hele tekst en kopieer het naar het clipboard. Dat kan door op de Control knop te drukken en dan tegelijk de C in te drukken (Ctrl+c). Vervolgens ga je naar de Arduino software, waarbij je in het venster klikt, alle tekst selecteerd (met Crtl+a) en vervolgens het programma over de nu geselecteerde tekst heen plakt (met Crtl+v). Het is niet erg als je nu nog niet begrijpt hoe het programma werkt; dat komt later wel. Het programma is bedoeld om een speciaal knipperpatroon te laten zien; het Arduino bord heeft meerdere LEDs die kunnen knipperen, maar het LEDje bij pin 13 zal een onmiskenbaar knipper-patroon laten zien.

int ledPin = 13; // pin 13 zit ook aan de on-board (gele) LED
float wait;
bool up;

void setup()
{
  pinMode(ledPin, OUTPUT); // define pin with LED connected as output
  wait = 250;
  up = true;
}

void loop()
{
  // laat de LED knipperen
  digitalWrite(ledPin, HIGH); // doe de LED aan
  delay(wait);                // wacht even
  digitalWrite(ledPin, LOW);  // doe de LED weer uit
  delay(wait);                // wacht weer even

  // maak dat de LED de volgende keer sneller of langzamer gaat knipperen
  if (up) {
    wait = wait*0.9; // steeds korter wachten => sneller
  } else {
    wait = wait/0.9; // steeds langer wachten => trager
  }

  // verander van richting als grenzen zijn bereikt
  if (wait>250) {
    up = true;       // vanaf nu gaan we weer sneller
  }
  if (wait<=10) {
    up = false;      // vanaf nu gaan we weer langzamer
  }
}

Na het kopieren zie je het programma in de Arduino software weergegeven met allerlei kleurtjes. De kleuren wijzen op de functie van stukjes van de code. Gewone code is in zwart, maar de namen van bekende opdrachten (=functies) staan in oranje. Bekende woorden zijn in blauw weergegeven. Stukken tekst achter // staat steevast in grijs. Dit is commentaar bij de code en geen echt onderdeel van de code. Hoewel commentaar geen rol speelt bij de werking van het programma, is goed commentaar erg belangrijk. Goed commentaar zorgt er namelijk voor dat de code gemakelijker is te begrijpen zodat je de code later, soms jaren later, gemakkelijker kunt begrijpen en aanpassen. Code met goed commentaar kun je ook gemakkelijker delen met een vriend die het dan ook kan begrijpen.

Upload het programma naar de Arduino

Natuurlijk wil je het programma op de Arduino laten draaien. Nu goed staat is dat heel gemakkelijk. Bovenin de Arduino software, net onder het menu, zie je een aantal knoppen. De meest linkse knop (met het check-teken) is voor het controleren (Verify) van de code, zonder die te uploaden. De knop daarnaast (met de pijl - Upload) doet hetzelfde, maar zal daarna de code uploaden naar de Arduino. De functie van de andere knoppen kun je zien door er met de muis even overheen te bewegen. Als alles goed is gegaan zie je onderin het scherm aan de witte letters dat het goed is. Tevens zie je hoeveel ruimte je programma inneemt op de aangesloten Arduino. Als de code fouten bevat zal de software geen upload doen. De tekst onderin het scherm is in dat geval oranje en laat een korte beschrijving zien van het probleem. Voor een beginner is dit niet altijd gemakkelijk, maar er is in elk geval reden om nog eens goed naar de code te kijken. Vaak ontbreekt er een haakje, of staat er juist een teveel. Soms is de Arduino niet of niet goed aangesloten. In dat geval kun je in de oranje tekst iets lezen als "Problem uploading to board" en "can't open device".

Als je bovenstaand programma correct hebt gekopieerd, zou het gewoon moeten werken. Je zult dan zien dat er op de Arduino een geel LED-lampje eerst langzaam knippert, waarna het steeds sneller gaat knipperen tot het zo snel knippert dat je het bijna niet meer kunt zien. Nadat dit punt is bereikt gaat het lampje weer steeds langzamer knipperen en daarna weer sneller, en zo voort. Als je patroon dit ziet is alles goed gegaan en werkt het programma naar behoren.

De Arduino werkt nu ook zonder PC

Je kunt je nu afvragen of het wel echt de chip op de Arduino is die het lampje aanstuurt en niet stiekum de computer via de USB kabel. Het is wel zeker de Arduino zelf! De Arduino heeft nu alleen nog stroom nodig en krijgt dat via de USB kabel van je computer. Maar je mag best de USB kabel losmaken en de Arduino aansluiten op een of andere USB lader. Zodra hij stroom krijgt uit de lader zal het programma weer beginnen, al zit hij nu niet meer vast aan de computer. In plaats van een USB lader die in het stopcontact zit, kun je een Arduino ook voeden (= stroom geven) vanuit een batterij. Gekoppeld aan motortjes en metertjes kan je Arduino een heel zelfstandig systeempje worden, bijvoorbeeld een robot of op afstand bestuurbaar speeltje. Meer gevordere gebruikers kunnen er een camera aan hangen en foto's live terugzien via een mobieltje.

Navigatie