Alles over Arduino en de toepassingen

Op deze site maak je kennis met een populaire microcontroller: De Arduino. Dit is een erg populaire en goedkope microcontroller met ongekende mogelijkheden.

    

Wat is Arduino

oor elektronicahobbyisten is Arduino toch wel de belangrijkste ontwikkeling van de laatste jaren geweest. Het aansturen van projecten was nog nooit zo eenvoudig als nu met Arduino, zelfs voor beginners met programmeren en elektronica heeft Arduino de drempel weggenomen.

Juist deze groep met beginners staan aan de basis van het immense succes van Arduino. Arduino richt zich van oorsprong op kunstenaars, ontwerpers en hobbyisten welke met het Arduino development board op eenvoudige wijze verschillende soorten input kunnen omzetten in een actie (de output).

Geschiedenis van Arduino

De ontwikkeling van Arduino is gestart in 2005 in Italië. De insteek was het maken van een development board welke goedkoper zou zijn dan de gebruikelijke prototyping systemen destijds. Aan de basis van het ontwerp ligt het open-source “Wiring Platform”.

Arduino is open-source

Arduino is, net als het eerder genoemde “Wiring Platform”, een open-source systeem. Dit houdt in dat de ontwerpen van het Arduino platform voor iedereen beschikbaar zijn. Het zelf maken van een dergelijk systeem op basis van deze ontwerpen is geen probleem, het mag dan echter niet de naam “Arduino” dragen. Dit is ook de reden dat er verschillende versies van het Arduino systeem in omloop zijn met de namen ‘Freeduino’, ‘Boarduino’, ‘Netduino’, etc.

Arduino toepassingen

Arduino is geschikt voor tal van toepassingen, van het simpelweg aansturen van een aantal LED’s, het bewateren van de planten in huis, tot aan het bouwen van eigen robots.

Er zijn duizenden - zo niet miljoenen - verschillende Arduino projecten te bedenken, het internet staat er dan ook vol mee. Een zoekopdracht op ‘Arduino project’ levert al meer dan 8,7 miljoen resultaten op in Google.

Arduino programmeren

Het programmeren van een Arduino board gaat via een eigen programmeeromgeving, de zogeheten “Arduino Development Environment”. Deze software is gratis te downloaden via de officiële website van Arduino en bevat naast een text editor voor het schrijven van programma’s ook een aantal andere hulpmiddelen én een aantal voorbeeldprogramma’s welke direct op het Arduino board te plaatsen zijn.

Het is geen verplichting om te programmeren via de Arduino software, het is in feite gewoon een AVR board en dus ook te programmeren met AVR C of C++.

Ook grafisch ‘programmeren’ is mogelijk met Arduino, hier bestaan verschillende programma’s voor. Zo zijn er programma’s waar de gebruiker simpelweg functies in de vorm van grafische icoontjes hoeft te slepen om een programma te schrijven (drag ’n drop).

Kijk hier om het programmeren met Arduino te leren

Wat is een goede Arduino?

De keuze voor een Arduino-board is niet altijd eenvoudig. 'Wat is een goede Arduino' is dan ook een veel gestelde vraag. Je zult jezelf voor ieder project een aantal vragen moeten stellen:

  • Heb ik een WiFi-verbinding nodig?
  • Hoeveel I/O's zijn er nodig voor mijn project?
  • Ga ik male-headers gebruiken of wil ik solderen? Etc.

Wanneer je voor het eerst een Arduino gaat programmeren kun je vaak het best voor een Arduino Uno kiezen, dit is het meest gebruikte 'instapmodel'. De meeste andere functionaliteiten zijn altijd later nog toe te voegen in de vorm van een shield.

Arduino Uno SMD

De Arduino Uno SMD maakt gebruik van de ATmega 328 microcontroller. Deze Arduino SMD is te gebruiken voor allerlei elektronicaprojecten. Het programmeren van de Arduino Uno is eenvoudig te leren, het development board is daarom bij uitstek geschikt voor beginners. Het board bestaat uit 14 digitale in-/uitgangen (6 daarvan kunnen worden gebruikt als PWM-kanaal), 6 analoge ingangen, 6-polige ISP-aansluiting, USB-interface, een 16 MHz kristal en een resettoets. De Open-source software is gratis te downloaden op het internet.

Wat heb je nodig voor Arduino?
Als eerste zul je een Arduino-bordje aan moeten schaffen. Op internet liggen de prijzen in NL webshops daarvan zo rond de € 20. Kijk je verder in China, kun je al een UNO+kabel kopen voor zo'n $5. Verder heb je een usb-kabel nodig om het bord aan de pc te koppelen. En tenslotte heb je de programmeeromgeving nodig om de chip te kunnen programmeren. Deze kun je downloaden.
Daarnaast is het erg handig om bij de eerste experimenten een breadboard bij de hand te hebben met wat jumpwires, ledjes, weerstanden en potmeters. Je kunt hiermee op een eenvoudige wijze prototypes bouwen van je eerste gedachtenspinsels.
Waarom Arduino?
Wat zou de reden zijn dat we bij Arduino uitgekomen zijn?
Ten eerste de prijs. Voor zo'n 30 euro (NL) ligt heel het systeem voor iedereen binnen handbereik.
Ten tweede de wereldwijde know-how van het systeem. Arduino wordt in zeer veel landen gebruikt. Ook hier in Nederland gebruiken hoge scholen en universiteiten het bordje. De programmeer taal C is veel gebruikt en toegangelijk voor iedereen. Er bestaat een enorm forum, waarop je je vragen kwijt kunt (engels-talig) en waarop door zeer veel mensen wereldwijd wordt meegelezen.
En tenslotte de didactische kant. Wij zijn van mening dat leerlingen op deze manier een beter inzicht krijgen van signaal verwerking. De Arduino UNO is geen mooie trucendoos waar je wat instop en er rolt resultaat uit. Nee, je zult zelf moeten programmeren wat er met de signalen moet gebeuren.
Opdrachten

Arduino – LED knipperlicht

In dit voorbeeld gaan we een LEDje laten knipperen op de Arduino.

Sluit het ledje aan volgens onderstaand schema: Let op: Het weerstandje is belangrijk, deze beperkt de stroom door de LED, als je deze niet gebruikt gaat het LEDje (snel) stuk!

Arduino led

De code om de LED te laten knipperen:

Gebruik van ‘delay’ variable Het is ook mogelijk om de ‘delay’ waarde(n) als variabele in te stellen, zo kun je meerdere instellingen boven aan het script instellen, zie het volgende voorbeeld:

Gebruik van informatie via de seriële monitor Via de seriële monitor kun je gegevens en/of waarden laten weergeven, erg handig om te kijken en te controleren of  je script goed werkt, zie het volgende voorbeeld:

Arduino Familie
Microcontroller... De Arduino  

Dit is de Arduino Duemilanove die op deze website besproken wordt, maar de software werkt ook op alle andere Arduino's. Wat hardware betreft kan er wel tussen de verschillende modules één en ander verschillen.

Er zijn (zie hier onder) nog diverse andere modellen, maar er zijn ook vele varianten die niet de naam Arduino mogen dragen, maar toch voor een heel groot deel compatible zijn.

Zo'n variant krijgt dan een andere naam. We kwamen de volgende namen tegen:

  • Freeduino
  • Seeeduino

Binnenkort verschijnt hier een test van een Freeduino die compatible moet zijn met het exemplaar hiernaast.

1
De Seeduino die hiernaast staat afgebeeld schijnt helemaal compatible te zijn met de Arduino Duemilanove. Er zit echter een mini USB aansluiting op, het aansluiten van de voeding is anders en de Atmelchip is er op gesoldeerd zodat deze moeilijk vervangbaar is als de chip sneuvelt na een mislukt experiment. Laten we hopen dat dat laatste niet te veel voor zal komen.  
   

De hardware koop je kant en klaar maar je mag hem ook zelf maken, maar dat zal vaak lastig en moeilijk zijn ook gezien zijn lage prijs.

Het hart van dat printje bestaat uit een microcontroller van Atmega. Hier boven zie je het lange IC, hieronder zie je deze uitgewerkt (Kijk svp alleen naar de rode benamingen): 6

Het IC heeft totaal 14 in- of uitgangen (digital pin 0 t/m digital pin 13) en 6 analoge inputs (analog input 0 t/m analog input 5). Als je het bordje goed bekijkt dan zie die benamingen weergegeven in de onderstaande figuur:

5.

De groene connector met de 14 in- of uitgangen en de blauwe connector met de analoge ingangen. Op de oranje connector (welke niet hetzelfde is als die van de bovenstaande Arduino Duemilanove) vind je diverse voedingsspanningen en de massa. Verder zie je een gele USB connector en een adaptor aansluiting X1.

Behalve de Arduino Duemilanove zijn er nog andere Arduino types verkrijgbaar en er zijn ook hardware uitbreidingen.
De Arduino mini: 3
De Arduino Pro verkrijgbaar in een 3,3 V uitvoering en in een 5 V uitvoering: 4
De Arduino Pro die je hier boven ziet staan heeft geen USB connector deze moet je aansluiten met een adaptor waar wel een USB connector op zit:
9
Arduino Lily......een speels gadget: 10
Je kunt de Arduino Duemilanove uitbreden met een proto shield die je op de Arduino zet. Je kunt dan gemakkelijk experimenten uitvoeren. Let op: Er zijn verschillende proto shields te koop (zie als voorbeeld de proto shields hier onder).  
11 12
Hiernaast zie je een uitbreidingsmodule zodat je Arduino Duemilanove ook op ethernet (internet/netwerk) kunt gebruiken. 8
Of breid de Arduino Duemilanove uit met een Bluetooth module: 7
Een van de nieuwste Arduino's: De Arduino Mega.

Met als specificaties:  Microcontroller ATMEGA1280 (SMD) Flash Memory: 128KB RAM: 4KB EEPROM: 4KB IO Pins: 53 Hardware UART: 4 14 PWMs I2C Port Analog inputs: 16

 
2  
 

 

Over mij
Over mij: Mijn naam is Dawen en studeer momenteel elektrotechniek . zelf heb me altijd verdiept in elektronica en sinds een paar jaar ook in het gebruiken van Arduino , en wil met deze site ook andere mensen  hiermee dit leren door hierover workshops te geven. Het doel van deze workshops in om aan het einde mensen zelfstandig aan de slag kunnen met Arduino en hun hierdoor meer kennis krijgen over electronica en programmeren. Voor wie: beginners vanaf 16 jaar , geen evaring met electronica vereist. Heb je intresse in deze cursus, stuur me een mail onderaan de pagina .  
DIY Arduino

MAAK JE EIGEN ARDUINO (handleiding)

Onderdelen Maak met eenvoudige middelen een eigen Arduino, hier een uitgebreide handleiding Wat je nodig hebt zijn:

1.      1 Breadboard

2.      22 draadjes

3.      Voltregelaar 7805

4.      2 leds

5.      2 220 ohm weerstanden

6.      1 10k ohm weerstand

7.      2 10 uF condensatoren

8.      2 22 uF condensatoren

9.      16 mhz klok Crystal

10.   1 drukknop

11.   6 pinnen

12.   TTL-232R-3V3 USB seriële converter kabel

Figuur 1-1: Breadboard Arduino met USB programmeer mogelijkheid.
Figuur 1: Breadboard Arduino met USB programmeer mogelijkheid.

Bouw Zet in elkaar zoals hieronder. We doen dit hierna in stappen die uitleg geven over de opzet.Figuur 1-1: Breadboard Arduino met USB programmeer mogelijkheid. Figuur 1: Breadboard Arduino met USB programmeer mogelijkheid.

STAP 1 Energie voorziening

Figuur 2: Energievoorziening

Figuur 2: EnergievoorzieningFiguur 2: Energievoorziening

Als eerste heb je een stroomvoorziening nodig. Er moet een constante stroomvoorziening komen van 5v. Daarvoor wordt de 7805 voltregelaar gebruikt. Om het geheel aan het werk te krijgen is wel meer spanning nodig, een 9 volt batterij is het beste.

Bij de rode + en de zwarte – wordt de stroom geplaatst. De 10uF condensatoren (lange poot is + of anode en de korte poot is – de kathode)

Verbind met twee korte draadjes de e rij met de f rij zodat de losse delen van het breadboard verbonden zijn.

De 7805 voltregelaar heeft 3 pootjes. Als je de tekst kunt lezen bovenop dan is links volt in (Vin) de middelste is de aarde (GND) en de derde poot is de volt uit (Vout).

Kijk goed hoe je de + en – rails nu verbind. Plaats over + en – rails de andere 10uF condensator. Gebruik een ledje om te zien of het werkt.

Verbind daarna de rechter en linker kant met elkaar zoals hieronder in figuur 3. Zo heb je ook de stroomvoorziening goede georganiseerd.

Figuur 3: Linker en rechter energie rails met elkaar verbonden.Figuur 3: Linker en rechter energie rails met elkaar verbonden. Figuur 3: Linker en rechter energie rails met elkaar verbonden.

Zet voor het ledje een 220Ω weerstand (kleur: rood, rood, bruin)

Figuur 4: weerstandFiguur 4: weerstand Figuur 4: weerstand

STAP 2  Chip opbouw Er zit verschil tussen een ATmega168 en 328 chip. De ATmega328 heeft een twee keer zo groot flashgeheugen (30k vs 14k) en dubbel groot EEPROM (1Kb tegenover 512b).Een 328 kun je dus ook gebruiken. 

Figuur 5: Arduino Pin overzichtFiguur 5: Arduino Pin overzicht Figuur 5: Arduino Pin overzicht

Pin 1 zit aan de kant van de half ronde inkeping aan de linkerkant. (soms zit er een puntje)

PIN 15-28 Sluit Pin 22 aan op GND Sluit Pin 20 (AVCC)en 21 (ADC) aan op stroomvoorziening. Sluit Pin 19 aan op de + van de led (bij de gewone Arduino is pin 13 de led pin, hier is dat pin 19, maar in het programmeren is dit toch 13). Sluit de negatieve kant va nde led aan op een 220Ω weerstand.

Figuur 6: aansluitingen 15-28 Figuur 6: aansluitingen 15-28 Figuur 6: aansluitingen 15-28

PIN 1-14 Zet bij pin 1 en 28 een schakelaar. Hiermee reset je de chip. (even indrukken alvorens een nieuwe schets te uploaden is verstandig) Sluit Pin 1 aan op een schakelvoet 1 en verbind de andere kant van de schakelvoet met GND Sluit Pin 1 aan op een 10KΩ weerstand die weer op de + is aangesloten Sluit Pin 7 aan op VCC (plus) Sluit Pin 8 aan op GND Sluit Pin 9 en 10 de 16MHz clock crystal aan Sluit Pin 9 en 10 ook aan op de twee kleine 22 pF condensatoren aan

Figuur 7: aansluitingen 1-14Figuur 7: aansluitingen 1-14Figuur 7: aansluitingen 1-14

6 PINNEN Zet de 6 pinnen op een plek waar geen aansluitingen zitten. Hier maken we Pin 1-6. De volgorde is: GND, NC, 5V, TX, RX, NC. 1  GND = ground, aarde – 2  NC = not connected 3  5V 4  TX = Transmitting uitgang 5  RX = Receiving uitgang 6  NC

PROGRAMMEER EEN ARDUINO AT 168

Figuur 8: TTL-232R 3.3V USB – TTL Level Serial Cable We werken met een  TTL-232R 3.3V USB – TTL Level Serial Cable.

Figuur 8: TTL-232R 3.3V USB – TTL Level Serial Cable

Figuur 9: Schema TTL-232R 3.3V USB – TTL Level Serial Cable Figuur 9: Schema TTL-232R 3.3V USB – TTL Level Serial CableFiguur 9: Schema TTL-232R 3.3V USB – TTL Level Serial Cable

Sluit deze op de 6 pinnen aan. Let goed op de kleuren. Zoek de goede com poort Je moet een keuze maken voor ene bord. Let op de chip: Neem Arduino Duemilanove w/ATmega328 of neem Arduino Decimila, Duemilanove or Nano w/ATmega128

Test met Blink

 

CONTACT

Voor meer informatie kan je me een mail sturen!