22/5/2016

Arduino (IDE) in gebruik: Hello World?

Filed under: — cybrarian @ 11:33 pm

Zie ook Arduino Starterkit en Arduino IDE installatie

Eerste gebruik

Eens de software geïnstalleerd op Linux, zijn ze op het punt gekomen van http://www.arduino.org/learning/getting-started/getting-started-arduino-uno.

Als ik het goed begrijp is dit de volgorde:

  1. arduino software opstarten
  2. usb-kabel aansluiten
  3. software menu Tools, bord kiezen (arduino UNO)
  4. software menu Tools, poort kiezen (serieel)

Bij het aansluiten van de kabel gaat de groene “ON” led op het bord aan. Ook knippert een gele “L” led tijdelijk, maar die gaat weer uit.

In de software, bij Tools, bord UNO staat al geselecteerd, en bij Seriele poorten krijg ik keuze uit:

  • /dev/ttyACM0
  • /dev/ttyS1

Als je even kijkt wat het systeem ziet na aansluiting (terminal dmesg):

[ 6464.723055] usb 7-1: new full-speed USB device number 2 using uhci_hcd
[ 6464.905570] usb 7-1: New USB device found, idVendor=2a03, idProduct=0043
[ 6464.905583] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 6464.905591] usb 7-1: Product: Arduino Uno
[ 6464.905598] usb 7-1: Manufacturer: Arduino Srl
[ 6464.905604] usb 7-1: SerialNumber: 7543536303835191B1A2
[ 6465.198641] cdc_acm 7-1:1.0: ttyACM0: USB ACM device

Is het duidelijk dat we ttyACM0 moeten kiezen.

(Check of EasyDFU draait als je ACM0 niet vindt; start net als de IDE op de commandolijn “EasyDFU”)

Programma
We kunnen het eerste programma laden, waarvoor niets op de Arduino moet aangesloten zijn (behalve de usb kabel):

File, examples, 01.Basics, Blink

Er komt een broncode programma op het scherm in de IDE (meer nog, bij mij kwam er een tweede IDE venster naar boven met de code, het eerste lege bleef ook staan, misschien omdat ik daar per vergissing een spatie of zo getikt heb, en het als gewijzigd wordt beschouwd).

Eigenlijk had ik nu de leds van TX en RX moeten zien reageren (Transmit en Receive herinner ik me nog van de modems). Maar ik zag niets, misschien omdat het te snel ging? De led “L” knippert wel, en blijft knipperen, maar deed die dat daarvoor ook al niet?

Beste test is de broncode van het programma aanpassen en kijken of de led anders knippertl; dit wordt de “hello world” voor mijn Arduino.

De tijdsinstelling zit in delay(1000);. Ik vervang de “loop” door:

digitalWrite(13, HIGH);
delay(2000); // short on, longer out
digitalWrite(13, LOW);
delay(4000);

en ik druk terug op de upload knop in de IDE. Nu zie ik de leds TX en RX inderdaad reageren, en het ritme van knipperen verandert zoals ik verwachtte.

Met dit eenvoudig programma kan je waarden veranderen en stukjes code kopiëren; (bv een tijd van 10 is nog zichtbaar, zelfs 1 nog als je geen te fel omgevingslicht hebt). Na elke verandering moet je de code terug naar het Arduino bord sturen, je programmeert immers niet direkt het bord, maar “upload” het programma.

De IDE software afsluiten heeft dus helemaal geen invloed op de werking van Arduino. Wijzigingen aan voorbeeldprojecten kan je bewaren in een eigen gekozen map (de voorbeelden zijn tegen overschrijven beschermd); een nieuwe map met de projectnaam bevat een bestand met de uitgang .ino.

Ok, nu mijn knipperend apparaat uitschakelen. Daarover niets in het begin van het projectenboek, maar de oplossing is eenvoudig: voedingskabel uittrekken (usb kabel indien die de voeding geeft).

Dit bord is geen computer. Het heeft geen operating system dat op een correcte manier een bestandssysteem moet afsluiten. Je kan dus gewoon de voedingskabel uittrekken.

Wel belangrijk is om het bord altijd zonder stroom te zetten op het moment dat je bezig bent met componenten installeren.

Reacties zijn gesloten.

Powered by WordPress