Pagina1 van 1

Arduino – Aan de slag met jouw eerste Arduino project

Arduino – Aan de slag met jouw eerste Arduino project
   31

Ik heb kort geleden een Arduino UNO aangeschaft via Amazon, welke je kunt kopen voor zo’n $15 (ongeveer 11€) en voor een paar extra euro’s kun je zelfs setjes kopen compleet met opbergdoos, Breadboard, jumper draadjes en wat componenten om mee te beginnen.

Om mezelf bekend te maken met de Arduino, liep ik eerst door de stappen heen van het simpelste project: het aan- en uitschakelen van een LEDje. Het goede van dit eerste projectje is dat je jezelf beken maakt met de basis stappen voor ieder Arduino project zoals het aansluiten op de computer, het gebruik van de arduino software en een paar basis stappen in het programmeren (C/C++ gebaseerd).




Jouw Eerste Arduino Project – Wat hebben we nodig?

Voor we met ons eerst Arduino project aan de slag kunnen, hebben we het volgende nodig:

  • Arduino (UNO is een aanrader)
  • USB kabeltjes
  • Arduino software

 

Arduino Website is erg informatief! 

Merk op dat de Arduino website (op dit moment niet in het Nederlands beschikbaar) geweldig goede info heeft zoals programmeertaal referenties en studie materialen.
Ik kan sterk aanrader daar eens rond te snuffelen – het is echt de moeite waard.

Arduino (UNO)

Dit project heeft niet veel hardware of software eisen en zou in principe op de meeste standaard Arduino boards moeten werken, maar ik kan de Arduino UNO (r3 is de huidige versie) sterk aanraden. De Uno kun je als standaard versie (DIL microcontroller) or als SMD versie kopen.

Ik vond dit model op Amazon voor minder dan $15 (ongeveer 11€). Ik heb de voorkeur om een board van het Arduino merk te kopen (made in Italy) om ze te ondersteunen in hun pogingen Arduino verder te ontwikkelen. Maar je kunt natuurlijk ook een goedkope Chinese variant kopen welke vaak net zo goed werken en goedkoper zijn – maar soms laat de bouw kwaliteit wat te wensen over.

Het voordeel van de standaard (niet-SMD) versie is dat je de microcontroller van het board kunt verwijderen en in een uiteindelijke schakeling kunt plaatsen. Of als je per ongeluk de microcontroller opblaast, dan kun je deze eenvoudig vervangen. De SMD versie biedt deze opties niet.

Arduino UNO: Standaard (links) versus SMD (rechts)

Arduino UNO: Standaard (links) versus SMD (rechts)

Beide versies werken verder 100% identiek, maar zoals je in bovenstaande afbeelding kunt zien, is de microcontroller (een standaard Atmel ATMEGA328) in de SMD versie (rechts) stukken kleiner dan in de standaard (DIL) versie.

Plaatsen van het Arduino board 

Wanneer je aan de slag gaat met de Arduino, zeker als je er spanning op zet via de stroom stekker of via de USB aansluiting, is het zaak dat de Arduino op materiaal geplaatst staat welke niet stroom geleid.  Ik probeer zelf ook altijd om stroom geleidende objecten, zoals objecten van metaal en vloeistoffen, ver van de Arduino te houden om ongewenste kortsluitingen te veroorzaken.

USB Kabeltje

Voor een Arduino Uno hebben we een standaard USB kabel nodig met een type A connector (mannetje) aan de ene kant en een type B connector (mannetje) aan de andere kant. Dit is een typisch kabeltje wat gebruikt wordt om USB printers of scanner aan te sluiten op de PC en sommige Arduino setjes komen met het geschikte USB kabeltje.

USB Kabeltje met een Type-A en Type-B aansluiting

USB Kabeltje met een Type-A en Type-B aansluiting

Arduino Software

De benodigde Arduino software kun je gratis downloaden van de Arduino Website en is beschikbaar voor Windows, MacOS X en Linux (32- en 64-bit versies).

Download de gratis Arduino IDE 

Voorheen had ik hier versies staan die konden worden gedownload van Tweaking4All.
Omdat de versies nog weleens veranderen, heb ik deze oude versies weggehaald en vervangen door dit bericht.

Download de actuele Arduino IDE van de Arduino website.

 

Merk op dat Linux gebruikers ook apt-get kunnen gebruiken om de Arduino software te installeren:


sudo apt-get update
sudo apt-get install arduino arduino-core

Na download en installatie van de software, start de Arduino applicatie – onder elke besturingsysteem ziet het er een klein beetje anders uit, maar de verschillen zijn minimaal (complimenten aan het Arduino team!). Uiteraard zijn de menu balken op de standaard plaatsen te vinden: voor MacOS X boven in het scherm en voor Windows en Linux boven in het venster.

Verbind nu de Arduino via de USB kabel met jouw computer!

Merk op : Gedurende de software installatie worden de benodigde USB drivers geinstalleerd, welke meteen werken voor Linux en MacOS X – Windows heeft echter een beetje hulp nodig om de drivers aan de gang te krijgen (meer hierover later).

Arduino onder MacOS X, Linux en Windows

Arduino onder MacOS X, Linux en Windows

  Drivers voor Windows gebruikers

Helaas werken de drivers onder Windows niet meteen (en moet je ze eenmalig installeren) – automatische installatie blijkt niet goed te werken, wat je ook probeert.

Windows XP:
Ga naar de “Device manager” (klik rechts op “My Computer” of ga direct naar de Control Panel) en zoek naar de “Other devices Unknown Device” en klik deze met rechts aan en kies “Update Driver“.
In het volgende venster, selecteer “Install from a list or specific location” en klik op “Next“.
In het volgende venster verwijder het vinkje voor “Search removable mediaen vinkInclude this location in the searchaan.
Klik vervolgens op “Browse” en ha naar “C:\Program Files\Arduino\drivers“, klik “OK“, en klik “Next“.

Windows 7 en nieuwer:
Ga naar “Control Panel Device Manager” en kijk onder “Ports” of “Unkown Devices” en vindt het device met het gele uitroepteken. Klik het met rechts en kies “Update driver software“. In het nieuwe venster klik je nu “Browse my computer for driver software” en in het volgende venster klik je “Browse” en ga je naar “C:\Program Files (x86)\Arduino\drivers” (de ” (x86)” alleen voor 64 bit systemen) en klik “Next“.

Windows als Virtual Machine:
Ik schrijf mijn artikelen vaak op een Mac en draai Windows in een virtuele machine (Parallels of VMWare). Tijdens mijn experimenten in deze virtuele machines kwam ik al snel tot de conclusie (en Meneer Google bevestigde dat) dat de drivers vaak niet of niet correct werken.
Onder normale omstandigheden geen probleem natuurlijk omdat de Arduino software beschikbaar is voor de drie meest gangbare besturingssystemen.

Initiële Configuratie van de Arduino Software

Na installatie (en driver installatie voor Windows gebruikers), is het tijd om initiële instellingen te gaan doen voor de Arduino software.
(vergeet niet de Arduino op de computer aan te sluiten!)

 Windows gebruikers:

Als eerste moeten we de verbinding instellen.
Open het menu “Tools Serial Port” en kies de juiste “Com” poort (USB apparaat), dit hangt natuurlijk sterk af van jouw computer en de geschikte poort kan dus b.v. COM4 zijn. Omdat de meeste moderne computers geen COM poorten meer hebben, kan dit echter net zo goed COM1 zijn.

Vervolgens moeten we opgeven welk Arduino board we gebruiken.
Ga naar het menu “Tools Board” en selecteer jouw Arduino board, in mijn geval de “Arduino Uno“.

 Linux gebuikers:

We moeten eerst de verbinding instellen.
Open het menu “Tools Serial Port” en selecteer de USB verbinding naar de Arduino (onder Ubuntu had ik /dev/ttyMCA0 , maar ook dit is weer verschillend per computer).

Hierna moet je het Arduino board kiezen.
Ga naar het menu “Tools Board” en kies jouw Arduino board, wat in mijn geval de “Arduino Uno” was.

 MacOS X gebruikers:

Mac’s hebben geen com-poorten, dus net als onder Linux moeten we hier het juiste device voor de verbinding kiezen.
In het menu “Tools Port” kies je het juiste USB device. Zoek naar zoiets als (als je een Uno hebt): /dev/cu.usbmodem1421 (Arduino Uno) en selecteer het.

Ook onder MacOS X moeten we het board type kiezen in het “Tools Board” menu, in in mijn geval was dat dus de “Arduino Uno“.

Nu dat we dat allemaal hebben ingesteld, tijd voor ons eerste programma …

Mijn Eerste Arduino Project

Voor we beginnen: voor de Arduino noemt men een “programma” een Sketch en een Sketch is een programma geschreven in C/C++. Ik had hier liever een taal zoals Pascal gezien, maar ik vrees dat velen deze mening niet zullen delen,… waarschijnlijk door een gebrek aan Pascal kennis, maar laten we vooral niet die discussie gaan beginnen 

Snelkoppelingen …

Een paar snelkoppeling die handig zijn, zie je hieronder.

Arduino Software - Handige snelkoppelingen

Arduino Software – Handige snelkoppelingen

Handige Arduino Snelkoppelingen
 Snelkoppeling Doel
 A  Verify – Code verificatie (of: compileer code)
 B  Upload – Compileer en Upload het programma naar de Arduino
 C  New – Maak een nieuwe Sketch
 D  Open – Open een bestaande Sketch
 E  Save – Sketch opslaan

Na het invoeren of wijzigen van code, kun je de “Verify” (A) knop gebruiken om fouten te vinden. In principe compileert deze functie jouw code en laat je eventuele fouten zien.
Om het programma op de Arduino te draaien, moet de gecompileerde code naar de Arduino gestuurd worden. Hiervoor gebruiken we de “Upload” knop (B) welke de code compileert en als alles goed ging verstuurd naar de Arduino. Je kunt dat dus zien als op de “Verify” knop drukken en vervolgens het uploaden naar de Arduino als een enkele klik.

Basis onderdelen van een Sketch

In elke Sketch kunnen we een aantal basis onderdelen vinden …

Opmerkingen (Optioneel)

Het is een goede gewoonte om opmerkingen in jouw code te zetten. Het bespaard jou en anderen een hoop uitzoek werk als we de code willen lezen of veranderen.
Opmerkingen beginnen met twee schuine streepjes voorwaarts (//) en alles na deze twee karakters wordt als opmerking gezien.
Opmerkingen worden door de compiler genegeerd en maken het eind programma niet groter of kleiner, maar leesbaarheid wordt stukken beter.
Je kunt als alternatief een opemerking tussen ‘/*’ en ‘*/’ zetten – zelfs over meerdere regels.
Opmerking worden ook vaak gebruikt om snel even stukjes code uit te schakelen zonder dat je de code hoeft te verwijderen.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Enkele regel opmerking

int led = 13;  // opmerking aan het einde van de regel

// De volgende code doet niets omdat het een opmerking is
// int led = 14;

/* Dit is een opmerking blok */

/* Maar opmerking blokken
   kunnen over meerdere
   regels gaan      */


/* Opmerking blokken kunnen ook gebruikt worden om meerdere code regels tijdelijk uit te schakelen
int led = 13;  
int MyVariable = 8;
*/

Hekje statements (optioneel)

Hash (Hekje, “#” of “Pound” zoals Amerikanen het noemen) statements zijn zogenaamde compiler directives (specifieke opdrachten voor de compiler) – welke we in ons eerste project niet gebruiken maar welke je in veel andere projecten tegen zult komen. De compiler is het programma welke jouw tekst (code) omzet in binair formaat zodat de microcontroller er mee overweg kan.

Merk op : Compiler directives hebben geen punt-komma (;) aan het einde van de regel, dit in tegenstelling tot normale C code.

We hebben compiler directives niet altijd nodig, maar dit zijn de twee meest gebruikte …

LIBRARY INCLUDES


#include <MijnFile.h>

Deze directive vertelt de compiler dat het een bestand met de naam “MijnFile.h” moet toevoegen aan jouw code. Dit is een zogenaamde C include bestand of library. Een Library of Include file bevatten vaak code welke vaak hergebruikt kan worden in andere Sketches. Vaak zijn libraries (bibliotheken) een verzameling samenhangende functies gericht op een bepaalde toepassing. Bijvoorbeeld om een strip met LEDjes aan te sturen, speciale wiskundige functies of bijvoorbeeld om een LCD schermpje aan te sturen.

CONSTANTEN


#define MijnConstante 6

Deze directive definieert een constante met de naam “MijnConstante” als de waarde “6”, welke de compiler eigenlijk de opdracht geeft om elk voorkomen van “MijnConstante” te vervangen door het nummer “6”.
Het doel van dit soort constanten is dat jouw code veel beter leesbaar wordt (slechts een nummer zegt niet veel) en het zorgt ervoor dat als je dit nummer moet veranderen dat je dit maar op 1 plaats hoeft te doen i.p.v. door de hele code te zoeken waar je het allemaal moet veranderen. Constanten worden vaak in het begin van de code gedefinieerd.

Definitie van globale variabelen (optioneel)

Buiten de functies die we zo meteen gaan bespreken, kunnen we zogenaamde “globale variabelen” definiëren. Dat wil zeggen: variabelen die gelezen en veranderd kunnen worden op welke locatie in de Sketch dan ook. Zo’n variabele kan dus ook benaderd worden in de functies setup() en loop() – dit in tegenstelling to de eerder genoemde constanten (#define) tijdens de afloop van het programma NIET kunnen veranderen.

In onderstaand voorbeeld definiëren we de variabele “MijnVariable”, welke een geheel nummer is (int = Integer = geheel nummer), met een initiële waarde van 8.


int MijnVariable = 8;

Functie: Setup()

Deze functie is verplicht in iedere Sketch die je voor de Arduino schrijft – het is dat deel van het programma dat initiële initialisatie stappen uitvoert voor het werkelijk “programma” gaat draaien. Hier kun je bevoorbeeld definieren dat een bepaalde pin een OUTPUT (uitgang) is.
De term “void ” voor de functie naam is een standaard C kreet die aangeeft dat er geen waarde terug verwacht wordt.


1
2
3
void setup() {
  ...
}

Functie: Loop()

Ook deze functie is verplicht in iedere Sketch en is het deel dat blijft herhalen in de mircocontroller – in tegen stelling tot een PC, blijft een microcontroller het programma aflopen tot jet de stroom naar de microcontroller verwijdert.
In dit deel zul je zien dat we in ons eerste Arduino project een LEDje AAN en UIT schakelen.


1
2
3
void loop() {
  ...
}

Onze eerste Sketch

Merk op : dit voorbeeld kan in de Arduino software gevonden worden onder “Examples”.

In ons eerste Arduino projectje laten we een LEDje knipperen.
Simpel en misschien totaal zinloos, maar het doel is dat we bekend geraken met onze nieuwe Arduino en niet dat we de volgende Mars Rover gaan bouwen.

In ons voorbeeld kunnen we gebruik maken van een LED dat op de meeste Arduino boards gevonden kan worden: Het LEDje dat aan PIN 13 zit.
Je kunt er ook voor kiezen om een LED toe te voegen en dat laten we in de laatste stap zien.

De code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*
  Blink
  Schakelt een LED 1 seconde aan, en dan 1 seconde uit, en blijft dit herhalen.

  Dit voorbeeld is in de public domain.
 */


// Pin 13 heeft een LED op de meeste Arduino boards.
// Geef het een naam:
int led = 13;

// de setup routine draait 1x als we de Arduino aanzetten of op Reset drukken:
void setup() {
  // initialiseer de pin als digitale uitgang.
  pinMode(led, OUTPUT);
}

// de loop routine blijft zich onendig herhalen:
void loop() {
  digitalWrite(led, HIGH);   // schakel LED AAN (HIGH is het voltage level)
  delay(1000);               // wacht een seconde
  digitalWrite(led, LOW);    // schakel LED UIT door voltage op LOW te zetten
  delay(1000);               // wacht een seconde
}

Zoals je ziet, zowel setup() als loop() bestaan in deze Sketch.

Voor we een functie starten zien we de regel met int led = 13; welke een globale variabele definieert (zichtbaar in setup() en loop()) met de naam “led” en de initiële waard “13”. De waarde van deze variabele zou men later in setup() of loop() kunnen veranderen, maar in ons voorbeeld lezen we alleen maar de waarde uit en had een constante ook prima gewerkt (#define led 13).

In setup() zetten we pin 13 (de variable led) als OUTPUT (uitgang). Output hoeft niet alleen maar voor LEDs gebruikt te worden maar kan bijvoorbeeld gebruikt worden voor een zoemertje of bijvoorbeeld een servo motor, een LCD schermpje, etc. Dit in tegenstelling tot een INPUT (ingang) welke gebruikt kan worden voor een schakelaar, een licht sensor, etc.

Als de setup() functie is afgerond, zal de Arduino het “programma” in de loop() functie starten en blijven herhalen.

De volgende stappen vinden we in de loop:

Steps of our First Arduino Project
Code Actie
digitalWrite(led, HIGH); Zet pin 13 (led) op HIGH – zet +5V op de pin zodat de LED AAN gaat
delay(1000);  Wacht tijd in milliseconden, hier 1 seconde (1000 milliseconden = 1 seconde)
digitalWrite(led, LOW) Zet pin 13 (led) op LOW – de voltage wordt nu 0V en het LED gaat UIT
delay(1000); Wacht tijd in milliseconden, hier 1 seconde (1000 milliseconden = 1 seconde)

OK nu dat we weten wat we kunnen verwachten, kun je de code handmatig intypen (zie hieronder een versie zonder opmerkingen) of je kunt het inladen omdat het bij de Arduino software onder “Examples” zit (“Files Example 01.Basics Blink“):


1
2
3
4
5
6
7
8
9
10
11
12
int led = 13;

void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}

Als je even kijkt naar de eerder genoemde snelkoppelingen: na het invoeren van de code, klik op de “Upload” knopw.

Als je geen rode foutmeldingen ziet in het zwarte veld onderin het Arduino Software venstertje, dan zul jee zien dat het LEDje gaat knipperen …
(tijdens de upload knipperen twee ledjes kort, onder de LED die aan pin 13 zit)

Arduino Uno - Het LEDje dat aan pin 13 zit

Arduino Uno – Het LEDje dat aan pin 13 zit

Wat extra “Hardware” voor ons eerste Arduino Project

In onze eerste stap gebruiken we alleen maar een Arduino board. Het LEDje dat aan pin 13 zit was hierbij handig.

Nu kunnen we dit ook doen met een externe LED. De toepassing die ik hier laat zien is niet helemaal volgens de regels, maar het houdt alles eenvoudig en we hebben geen breadboard nodig.

Pas Op …! 

Onder normale omstandigheden gebruiken we een extra weerstand (ongeveer 330Ω) tussen het LEDje en de stroomvoorziening (pin 13), voor een kort testje kunnen we dat achterwege laten, maar neem dit zeker niet als een voorbeeld hoe het correct gedaan moet worden.
Zie het Hoe gebruik je een Breadboard artikel voor een correctere aansluiting van een LED.

Pak een LEDje en bestudeer het Arduino board. Vindt pin 13 (links bovenin in bovenstaande afbeelding) die als plus gaat functioneren. Je zult zien dat het pinnetje ernaast GND (Ground of the wel aarde) is. Simpel gezegd: de min.

Kijk vervolgens goed naar het LEDje dat je net gepakt hebt. Bepaalde de Kathode pin en plaats deze boven de GND pin. De andere pin, Anode, schuiven we vervolgens in het gaatje van pin 13.

LED pinout

LED pinout

Je kunt dit zelfs doen terwijl de microcontroller draait, maar het is een goede gewoonte om eerst de stroom uit te zetten (USB stekker uit de computer trekken).
Let er op dat we dit maar voor een korte tijd doen, we willen voorkomen dat het LEDje uitbrandt. Zoals je in onderstaande foto ziet: het LEDje brandt best fel.
Klik op de foto om een grotere afbeelding te zien zodat je de pinnetjes in detail kunt zien.

Arduino UNO met extra LED

Arduino UNO met extra LED

Dit is het einde van ons eerste experiment, en ik zal proberen in de toekomst wat meer Arduino artikelen te plaatsen …

Ondersteun ons ...


Jouw ondersteuning wordt zeer gewaardeerd, en hoeft zelfs niets te kosten. Bijvoorbeeld door links naar ons te delen op social media, of andere websites.

Andere vormen kunnen ook gratis zijn (b.v. shoppen op Amazon).
Alle opbrengsten worden gebruikt voor web-hosting kosten, project hardware en software, koffie, etc.

Hartelijk dank voor wie al heeft bijgedragen!
Het is altijd geweldig om te zien hoe men mijn artikeltjes en applicaties weet te waarderen.

Merk op dat het klikken op affiliate links een kleine commissie voor ons kunnen genereren - dit wordt zeer gewaardeerd.

Reacties


Er zijn 31 reacties welke je hieronder kunt lezen.
Je kunt jouw eigen opmerkingen plaatsen m.b.v. dit formulier, of een reactie op een bestaande opmerking plaatsen door op de "Beantwoorden" knop te klikken.

  • 26 okt 2014 - 12:46 - Erik Reactie Link

    Nou dit eerste programmaatje is nou niet wat ik zoek. 

    Direct na het aansluiten knipperde deze al volgens jou uitleg.

    En knippert nog steeds

    Beantwoorden

    Erik

    • 26 okt 2014 - 20:17 - hans - Auteur: Reactie Link

      Hallo Erik …

      Ja, erg spanned is het allemaal niet. Het is ook maar bedoelt als een eerste ervaring met de Arduino. 

      Beantwoorden

      hans

  • 14 nov 2014 - 11:06 - etgar Reactie Link

    Laat nooit een LED branden zonder weerstand..

    Beantwoorden

    etgar

    • 15 nov 2014 - 11:44 - hans - Auteur: Reactie Link

      Dank je wel Etgar,

      nogmaals benadrukken hiervan is zeker goed. Daarom staat er ook in het artikel “Let er op dat we dit maar voor een korte tijd doen, we willen voorkomen dat het LEDje uitbrandt.” 

      Beantwoorden

      hans

      • 20 nov 2014 - 12:50 - etgar Reactie Link

        Ja dat klopt, voor de duidelijkheid zou ik er een weerstand voor doen, dat neemt dan ook meteen alle onduidelijkheden weg…. maar de uitleg is PRIMA!!

        Beantwoorden

        etgar

  • 2 dec 2014 - 20:49 - Gerhard Reactie Link

    Hallo,

    Ik ben op zoek hoe ik een programma kan vinden voor een 6 bits getal aan de ingang waarbij ik de desbetreffende led aan de geadreseerde uitgang  binaer kan aansturen.

    Voorbeeld bit 6 is hoog dan moet led met nummer 64 gaan branden.

    Voorbeeld  bit 1 en bit 2 zijn hoog  dan moet led met nummer 10 gaan branden

     Kan ik hier een programma voor schrijven?

    6 bits getal in en decimal led 1-64 laten branden.

    M vr groet Gerhard

    Beantwoorden

    Gerhard

    • 3 dec 2014 - 9:37 - hans - Auteur: Reactie Link

      Hi Gerhard,

      dit is inderdaad goed mogelijk, kijk vooral ook eens naar de code van het Boblight project op deze website. Je ziet hier hoe RGB LED strips gebruikt worden – betaalbaar en vooral handig als je 64 LEDs wilt gaan gebruiken. Er zijn ook RGB LEDs beschikbaar die “los” zitten en iets weg hebben van kerstboomverlichting (qua bouw).

      In dit artikel kan men mbv de ingebouwde “controllers” in de LEDs, de LEDs individueel aanspreken met een van de gratis Arduino libraries (NeoFast, AdaFruit), en dan wordt het uitvoeren van jouw idee erg makkelijk.

      Maar als je individuele LEDs wilt gebruiken, dan kan dat ook mits er genoeg I/O pinnen beschikbaar zijn. Mocht dit niet het geval zijn dan zul je een klein beetje hardware voor de logica moeten toevoegen zodat de “bits” omgezet worden terwijl je maar een enkele uitgang nodig hebt. Helaas gaat dit laatste een beetje buiten de scope van dit artikel.

      Als je niet met LED strips wilt werken, kijk dan bijvoorbeeld eens naar dit Adruino artikel (helaas beperkt in het aantal poorten), of als je de I2C wilt gebruiken voor het uitbreiden van de poorten, dit Arduino artikel.

      Beantwoorden

      hans

  • 1 apr 2015 - 6:32 - guus Reactie Link

    hoi

    ik wil mijn eerste sketch gaan draaien

    maar nu vraagt hij

    void setup() {

      // put your setup code here, to run once:

    }

    void loop() {

      // put your main code here, to run repeatedly:

    }

    ik ben nu al een paar dagen bezig om mijn arduino uno op mijn macbook te laten draaien.

    heel veel topics gelezen maar niemand kan mij helpen

    misschien jullie wel ?

    dank

    gr guus

    Beantwoorden

    guus

    • 1 apr 2015 - 18:37 - hans - Auteur: Reactie Link

      Hi Guus!

      Ik neem even voorzichtig aan dat jouw Arduino al kan praten, en dat je de Arduino IDE ook al geïnstalleerd hebt op de Mac. (zo niet: vraag gerust)

      Normaal gesproken bestaat de Arduino code uit 2 blokken (zoals je al gezien hebt).

      Het “setup” gedeelte, waar men vaak eenmalige zaken instelt en afhandelt:

      void setup() {
        // put your setup code here, to run once:
      }

      En het stuk wat zich steeds herhaald, de “loop“:

      void loop() {
        // put your main code here, to run repeatedly:
      }

      Hieronder een klein voorbeeld – vervang de voorgekauwde code met:

      /*
        Blink
        Turns on an LED on for one second, then off for one second, repeatedly.
       
        This example code is in the public domain.
       */
       
      // Pin 13 has an LED connected on most Arduino boards.
      // give it a name:
      int led = 13;
      // the setup routine runs once when you press reset:
      void setup() {                
        // initialize the digital pin as an output.
        pinMode(led, OUTPUT);     
      }
      // the loop routine runs over and over again forever:
      void loop() {
        digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
        delay(1000); // wait for a second
        digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
        delay(1000); // wait for a second
      }

      Hier zien we dat men eerst een variable “led” definieert – in dit geval de “pin” waar de LED is aangesloten (standaard al aan boord van jouw Arduino Uno – dus je hoeft hiervoor niets te doen).

      In de “setup” stellen we deze pin (nummer 13) in als UITGANG (output) – een eenmalige actie dus.

      In de “loop” zetten we vervolgens het LEDje aan (digitalWrite(led, HIGH)), wachten een seconde (delay(1000)), het LEDje weer uit (digitalWrite(led, LOW)), en weer een seconde wachten (delay(1000)).

      Deze loop, blijft zich eindeloos herhalen en we hebben dus een knipperend LEDje.

      Dit zou dus jouw eerste Arduino programma (Sketch genoemd) kunnen zijn.

      Is dit wat je bedoelt?

      Beantwoorden

      hans

  • 15 mei 2015 - 11:52 - Suys S Reactie Link

    Geachte heer,

    Ik ben Suys Sören, ik ben een student van de Hogeschool Gent. En ik vroeg me af of u me kunt helpen met mijn probleem.

    Ik moet een opdracht van met arduino en visual basic, het is de bedoeling dat je iets simuleert met deze programma. Ik ga een  led simulatie van van de knight rider, hiervan maakt ik gebruik van 6 leds en een schakelaar.

    De leds moeten van links naar rechts gaan en die moet bedient worden via de 3 druknoppen van visual basic, 1 is trage snelheid, 2 is de snelle snelheid en de 3 is het alarm. En de schakelaar moet het volledige programma afsluiten.

    Kunt u me helpen met deze probleem

    Beantwoorden

    Suys S

    • 15 mei 2015 - 13:26 - hans - Auteur: Reactie Link

      Hi Sven,

      Misschien is dit een vraag die je beter in het Arduino forum kunt stellen, anders beginnen we hier een beetje veel opmerkingen zien die niet relevant zijn voor het artikel. 

      Beantwoorden

      hans

  • 9 jun 2015 - 17:03 - Lars Vink Reactie Link

    Hoi meneer, ik ben lars en ik ben 12 jaar alleen ik heb een probleem en kan de forum niet vinden, dus ik vraag het zo. ik hoop dat u dat niet erg vindt. mijn probleem is dat als ik het heb geupload alleen nu blijft mn arduino de hele tijd knipperen: behoorlijk irritant en ik kan geen andere dingen er meer op zetten.  Zou hierop aub willen reageren? Alvast bedankt

    Beantwoorden

    Lars Vink

    • 10 jun 2015 - 8:57 - hans - Auteur: Reactie Link

      Hoi Lars,

      Geen probleem hoor, het forum kan onder “Gemeenschap” (boven aan de pagina) gevonden worden.
      Er is zelfs een sectie specifiek voor Arduino.

      Ik weet niet precies wat je bedoelt met “ik kan er geen andere dingen meer op zetten”?
      Via de Arduino IDE (het Arduino programma op jouw computer) kun je weer andere programma’s (ook wel “sketch” genoemd) op de Arduino zetten. 

      Beantwoorden

      hans

  • 23 mrt 2016 - 13:13 - jan Reactie Link

    Ik  ga deze uitleg gebruiken . laat hem nog even een poos staan svp en veranderen is niet nodig. ik ga met de nano aan de slag. heb er een aantal wel met de ch40 chip (kloon).

    Gr Jan

    Beantwoorden

    jan

  • 25 aug 2016 - 14:09 - Jacco Eerland Reactie Link

    Hallo,

    Ik heb net een arduino starterset gekocht. Ik heb een sketch gemaakt en het button verifeer geklikt. Daarna wilde ik het versturen naar mijn arduino maar dat zegt hij:

    Arduino: 1.6.11 (Windows 8.1), Board:”Arduino/Genuino Uno”

    De schets gebruikt 1.058 bytes (3%) programma-opslagruimte. Maximum is 32.256 bytes.

    Globale variabelen gebruiken 9 bytes (0%) van het dynamisch geheugen. Resteren 2.039 bytes voor lokale variabelen. Maximum is 2.048 bytes.

    Ongeldige bibliotheek gevonden in C:\Users\Jacco\Documents\Arduino\libraries\stoplicht: C:\Users\Jacco\Documents\Arduino\libraries\stoplicht

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x83

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x83

    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x83

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x83

    Probleem bij het uploaden naar het board. Zie http://www.arduino.cc/en/Guide/Troubleshooting#upload voor suggesties.

    Ongeldige bibliotheek gevonden in C:\Users\Jacco\Documents\Arduino\libraries\stoplicht: C:\Users\Jacco\Documents\Arduino\libraries\stoplicht

    Ongeldige bibliotheek gevonden in C:\Users\Jacco\Documents\Arduino\libraries\stoplicht: C:\Users\Jacco\Documents\Arduino\libraries\stoplicht

    This report would have more information with

    “Show verbose output during compilation”

    option enabled in File -> Preferences.

    Wat moet ik doen?

    Jacco Eerland

    Beantwoorden

    Jacco Eerland

    • 25 aug 2016 - 15:32 - hans - Auteur: Reactie Link

      Hallo Jacco,

      welkom! 

      Als eerste; een vraag zoals deze is van harte welkom, maar als langere code gepost dient te worden dan is gebruik maken van het Arduino Forum misschien beter (ik heb jouw code daarom ook wat ingekort).

      Het ziet er naar uit dat de je de verkeerde COM poort (menu: Tools -> Port) hebt gekozen voor jouw Arduino, en/of je hebt het verkeerde Arduino model (menu: Tools -> Board) gekozen in het menu. 

      Het kiezen van de juiste poort is soms wat lastig, en in dat geval kun je het beste de Arduino applicatie starten zonder dat de Arduino is aangesloten, kijk welke poorten beschikbaar zijn en sluit de Arduino software weer. Sluit vervolgens de Arduino aan op de PC en start het Arduino programma weer en kijk welke poort er bij gekomen is – dit is dan de poort die je nodig hebt. Voor Mac, Linux en Windows werkt dit net allemaal even iets anders, en dan met name de namen van de poorten.

      Beantwoorden

      hans

    • 25 aug 2016 - 15:34 - hans - Auteur: Reactie Link

      p.s. als je een oudere Windows versie van de Arduino software gebruikt, dan kan het nodig zijn een driver voor de USB aansluiting te moeten installeren. Download daarom altijd de meest actuele Arduino software van de Arduino website.

      Beantwoorden

      hans

      • 26 aug 2016 - 14:29 - Jacco Eerland Reactie Link

        Hallo Hans,

        Nog bedankt voor de tips. Met dat poort is het gelukt, maar ik kan mijn board niet vinden in de lijst. Op het board staat funduino. Volgens mij is dat het type board, maar die staat niet in het lijstje. De site van funduino kan ik niet openen vanwege het filter. What can i do?

        Groeten,

        Jacco Eerland

        Beantwoorden

        Jacco Eerland

      • 26 aug 2016 - 14:36 - hans - Auteur: Reactie Link

        OK, dus je hebt geen originele Arduino, maar een clone.

        Ik heb even op hun website gekeken, en ze melden daar dat je het standaard Arduino model moet kiezen (“Arduino / Genuino Uno”).
        Ik kan je eventueel het PDF document mailen,… ik met het dan ook van Fundruino halen, en ik kan het eventueel in het forum plaatsen als je het nodig hebt.

        Beantwoorden

        hans

        • 26 aug 2016 - 15:02 - Jacco Eerland Reactie Link

          Hoi,

          Bedankt voor de tip maar hij meld nog steeds hetzelfde.

          Jacco Eerland

          Beantwoorden

          Jacco Eerland

        • 28 aug 2016 - 14:00 - hans - Auteur: Reactie Link

          Dan zeker maken dat de juiste COM poort gekozen is.
          Onder Windows vindt je er vaak een stuk of 4 (COM1 … COM4). Soms is het even gokken.

          Afhankelijk van het model, maar het kan nodig zijn dat je de USB driver daarvoor moet installeren (een van de nadelen van een Arduino “clone”).

          Voor die driver, volgens de Funduino beschrijving:

          ACHTUNG: An dieser Stelle nicht zu schnell! Der Treiber wird in den meisten Fällen nicht automatisch erkannt und installiert. Man sollte im Verlauf der Installation den Treiber selber auswählen. Er befindet sich in dem Arduino-Programmordner in dem Unterordner „Drivers“.

          Kontrolle: In der Systemsteuerung des Computers findet man den „Gerätemanager“. Nach einer erfolgreichen Installation ist das Arduino-Board hier aufgelistet. Wenn die Installation nicht erfolgreich war, ist hier entweder nichts besonderes zu entdecken oder es ist ein unbekanntes USB-Gerät mit einem gelben Ausrufezeichen vorhanden. Für diesen Fall: Das unbekannte Gerät anklicken und auf „Treiber aktualisieren“ klicken. Jetzt kann man den Ablauf der manuellen Installation erneut durchführen.

          Dus, niet te snel gaan. Arduino aansluiten op de USB en even wachten. Mocht het niet herkend worden, dan moet je de drivers installeren, die je vindt in de Arduino programma directory, in de directory “Drivers”.

          Onder Apparaten Beheer / Device Manager zou je de Arduino moeten zien verschijnen. Mocht er een geel waarschuwingsbordje of uitroepteken staan, dan moet je de driver updaten (Update Driver).

          Beantwoorden

          hans

  • 7 jul 2017 - 6:40 Reactie Link
    PingBack: www.devopsinfographics.com

    […] from tweaking4all.nl […]

  • 29 mei 2020 - 16:00 - luc vandermeeren Reactie Link

    het eerste deel van deze site is uitstekend, maar daar vindt ik niet de oplossing die ik zoek. Reeds bijna een jaar ben ik bezig met een CNC plotter te maken, het mechanisch gedeelte is geen probleem, maar de software is wel een probleem. de verschillende software is meestal niet uploadbaar voor veiligheids redenen. Kan U mij zeggen welke software ik moet gebruiken?

    actueel werk ik met : Arduino mega 2560 + l293d com4, een servo unit.

                                        Arduino 1.8.8 IDE

                                        verwerking IDE

                                         inkscape (verschillende versies geprobeerd) het probleem is G-code software

    Beantwoorden

    luc vandermeeren

    • 30 mei 2020 - 14:34 - Hans - Auteur: Reactie Link

      Hoi Luc,

      tof project, maar helaas is de keuze van de gewenste software erg afhankelijk van jouw hardware en gaat dit eigenlijk een beetje m’n pet te boven.
      Van m’n 3D-printer dagen kan ik me dit herinneren: je refereert naar de G-Code, is dat niet wat de slicer voor je aanmaakt?
      Ik gebruikte daarvoor een programma, Simplify3D, maar dat is gericht op 3D printen.

      De gebruikte aanstuur software hangt ook sterk samen met de software op de Arduino, dus ik ben bang dat je bent aangewezen 
      Misschien is dit artikel behulpzaam in het vinden van een antwoord op jouw vraag?

      Beantwoorden

      Hans

      • 1 jun 2020 - 16:07 - luc vandermeeren Reactie Link

        Beste

        Hartelijke dank voor uw reactie, maar ik kijk nog verder.

        Beantwoorden

        luc vandermeeren

  • 28 sep 2020 - 8:44 - John Reactie Link

    Hallo Hans, ik heb voor deze hobby,wat ik trouwens erg interessant en leuk vind ,een laptop  aangeschaft.

    Hartelijk dank dat deze site bestaat !

    Mijn vraag : als je op internet een leuk project vindt,in mijn geval een zgn watchwinder.

    Dan kan ik de code kopieren naar een klembord ,maar verder kom ik niet.

    Hoe krijg ik het zo dat ik het op de arduino krijg? zonder dat ik het hele gebeuren moet overtypen.

    windows 10

    met vriendelijke groet, John

    Beantwoorden

    John

    • 28 sep 2020 - 10:53 - Hans - Auteur: Reactie Link

      Hoi John,

      Dank je wel voor het compliment, en leuk om te zien dat ook jij plezier hebt aan het spelen met een Arduino 

      Er zijn een aantal opties voor het overnemen van code.

      1) Zoals je zelf beschreef: Kopieer de code naar het klembord, open daarna de Arduino IDE (het programma waarmee je verbinding maakt naar jouw Arduino), en Plak de code daarin. Je kunt vanuit de Arduino IDE dan de code naar de Arduino sturen.

      2) Open een tekstbewerkingsprogramma voor platte tekst (b.v. Notepad onder Windows) en plak de code daar in. Sla het bestand vervolgens op als een .ino bestand. Als je de Arduino IDE hebt geïnstalleerd staan, dan zal dubbel klikken van het .ino bestand, de Arduino IDE starten en de code openen.

      Merk op: Soms gaat het plakken van de code in de Arduino IDE (optie 1) niet helemaal zuiver, je merkt dat dan doordat de code faalt als je het naar de Arduino wilt sturen of wilt test-compilen, terwijl er geen duidelijke reden is waarom het zou falen. In zo’n geval, gebruik dan optie 2.

      Mocht ik jouw vraag niet goed hebben begrepen, of je meer vragen hebt, vraag dan gerust nog eens 

      Beantwoorden

      Hans

      • 28 sep 2020 - 21:14 - John Reactie Link

        Dank je Hans, het is gelukt  !

        Nog een vraagjes ,kan je een bestaande code( in dit geval SWEEP)  ergens tussen zetten of aan het begin of einde.

        van een andere code ? Zou niet verkeerd zijn voor mijn watchwinder projekt

        En dat IDE Arduino? is dat nou die kant en klare codes met o.a blink,voorbeelden enz .Of is dat weer wat een andere site?

        groet, John

        Beantwoorden

        John

      • 29 sep 2020 - 11:55 - Hans - Auteur: Reactie Link

        Hoi John,

        De Arduino IDE is een programma dat je op jouw PC draait en eigenlijk een combinatie is van een tekst-editor (zodat je code, dus een zogenaamde sketch, kunt invoeren en bewerken), een compiler (welke deze code omzet in “machine taal” voor de Arduino) en de mogelijkheid heeft om het resultaat (de “machine code”) naar de Arduino te sturen. Er zitten wat voorbeeldjes bij, maar in principe moet je zelf de code invoeren.

        Als je dus code op het Internet vindt, dan plaats je dat in zijn geheel in de Arduino IDE (niet combineren met andere code).

        Het samenvoegen van code kan een uitdaging worden. Twee sketches (programma’s/code) kun je niet zo maar bij elkaar plakken – dat gaat problemen leveren. O.a. omdat beiden een “setup()”- en een “loop()”-functie hebben. Daarvoor moet dus wat werk voor worden verzet.

        De bovenstaande code van het knipperende ledje als voorbeeld: als je die wilt combineren met een andere sketch, dan zul je ergens in de code de betreffende code van hierboven tussen moeten zetten.

        Ik hoop dat dit jouw vraag beantwoord – ik weet dat het in het begin een beetje onoverzichtelijk kan zijn 

        Beantwoorden

        Hans



Jouw Opmerking ...

Plaats hier geen grote bestanden (zoals source codes, log files of config files). Gebruik hiervoor het Forum.

Delen:
*
*
Laat me per email weten als er nieuwe reacties zijn.
       Je kunt jouw RSS reader gebruiken om reacties te volgen.


Tweaking4All gebruikt de gratis Gravatar dienst voor Avatar weergave.