Welkom bij de Maker World met een gebruiksvriendelijke Arduino-starterkit
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2019-06-25
Honderden bronnen zijn speciaal bestemd voor 'makers': mensen die apparaten willen leren bouwen die hun omgeving kunnen waarnemen en erop reageren. Zowel voor niet-ingenieurs als voor ingenieurs blijkt dit een creatieve subcultuur te zijn waarin iedereen kan meedoen met leren en instrueren over de wereld van elektronica, regelsystemen, microcomputers, sensoren en actuators. Eén van een eenvoudigste manieren om met deze wereld kennis te maken is een starterkit van Arduino, de maker bij uitstek.
Arduino brengt microcontrollerkaarten en bijbehorende software op de markt van de opensourcehardware- en -softwarecommunity. Deze elektronische printplaten combineren microcontrollers en ondersteunend RAM (Random Access Memory), ROM (Read Only Memory) en geïntegreerde schakelingen (IC's) voor het vormen van opensource-elektronica met platformprototypen die alle benodigde onderdelen bevatten voor het voltooien van een goed gedocumenteerde reeks makerprojecten.
Dit artikel biedt een inleiding op de Arduino Starter Kit op basis van de persoonlijke ervaringen van de auteur (een ingenieur).
De Arduino-starterkit
De Arduino-starterkit wordt geleverd compleet met alles wat u nodig hebt om 15 projecten op te zetten (afbeelding 1).
Afbeelding 1: De Arduino-starterkit is een combinatie van een Arduino UNO-microcontrollerkaart met een selectie aan elektronische onderdelen en een Arduino-projectenboek van 171 pagina's om de wereld van de interactieve elektronica voor iedereen toegankelijk te maken. (Afbeelding: Arduino)
De starterkit maakt gebruik van de populaire Arduino UNO-microcontrollerkaart die is gebaseerd op de ATmega328P-microcontroller-IC van Microchip Technology (Afbeelding 2).
Afbeelding 2: De Arduino UNO-kaart bevat alle benodigde elementen ter ondersteuning van de ATmega328P-microcontroller. (Afbeelding: Arduino, annotatie van DigiKey)
De UNO-kaart heeft 14 digitale in- en uitgangspennen en 6 daarvan ondersteunen PWM (Pulse-Width Modulation) voor het regelen van led-helderheid en geluidsvolume. Er zijn 6 analoge ingangen die worden ondersteund door een ADC (Analog-to-Digital Converter) met successieve approximatie met een 10-bits resolutie bij een conversiesnelheid van 15 kilo-samples per seconde (kS/s) bij volledige resolutie. Er is een ingebouwde klok met een eigen kwartskristal van 16 megahertz (MHz). Er is een USB-poort voor eenvoudige aansluiting op een computer. Voeding kan worden geleverd via de USB-poort, of via een ingebouwde voedingsaansluiting. De voedingsbron wordt automatisch geselecteerd.
De UNO heeft een ingebouwde bootloader voor normale programmering, maar die kan worden omzeild, zodat de microcontroller kan worden geprogrammeerd via een in-circuit seriële programmeringsheader (ICSP). Tot slot heeft de UNO-kaart een resetknop waarmee u makkelijk zo nodig kunt teruggaan naar een standaardconditie.
De ATmega328P-processor is een 8-bits microcontroller met laag vermogen die gebruikmaakt van RISC-architectuur (Reduced Instruction Set Computer (Afbeelding 3). De RISC-architectuur maakt gebruik van instructies die worden uitgevoerd in één klokcyclus, wat leidt tot een zeer hoge uitvoeringsdoorvoer.
Afbeelding 3: Functioneel blokdiagram van de 8-bits ATmega328P-microcontroller die wordt gebruikt in de Arduino UNO. Deze heeft een RISC-gebaseerde architectuur met snelle instructie-uitvoering in één cyclus. (Afbeelding: Microchip Technology)
De ATmega328P heeft een ingebouwd geheugen in de vorm van niet-vluchtige geheugensegmenten, waaronder 32 Kbyte flashprogrammageheugen, 1 Kbyte EEPROM (Electrically Erasable Programmable Read-Only Memory) en 2 Kbyte SRAM (Static Random-Access Memory). De ATmega328 op de Arduino UNO is voorgeprogrammeerd met een bootloader waarmee een gebruiker nieuwe code kan uploaden zonder een externe hardwareprogrammeerder te hoeven gebruiken. De bootloader neemt 500 bytes aan ruimte in beslag in het flashprogrammageheugen. De chip bevat meerdere seriële gegevensinterfaces, waaronder een UART (Universal Asynchronous Receiver Transmitter), een SPI (Serial Peripheral Interface) en een tweedraadse interface die ook wel een I2C-bus (Inter-Integrated Circuit) wordt genoemd.
De Arduino-starterkit is verkrijgbaar in 5 verschillende talen. De kit bevat de Arduino UNO-microcontrollerkaart en alle vereiste onderdelen voor het maken van 15 verschillende projecten. De gebruiker wordt door deze projecten begeleid door een Arduino-projectenboek van 171 pagina's. In het boek worden zowel de hardware- als de software-elementen besproken van het gebruik van de Arduino UNO als het brein voor alle projecten.
Heldere uitleg van apparaten en terminologie
Eén van de problemen waar beginners vaak mee te maken krijgen wanneer ze voor het eerst kennismaken met de wereld van elektronica en programmering, is dat ze niet vertrouwd zijn met de bijbehorende apparaten en terminologie. Het Arduino-projectenboek lost dit probleem op door te beginnen met een handleiding voor de verschillende onderdelen in de kit, die 134 elektronische onderdelen en de Arduino UNO-kaart bevat. In dit gedeelte wordt van elk type onderdeel een afbeelding getoond en de functie beschreven. Het gedeelte eindigt met een afbeelding van het schematische symbool van elk onderdeel.
Aangezien nieuwelingen misschien niet bekend zijn met elektronische prototypekaarten of -breadboards, wordt een gedeelte van de handleiding gebruikt om te tonen hoe de meegeleverde breadboard een methode zonder solderen biedt voor het aansluiten van de onderdelen. Er wordt een diagram weergegeven van de geleidende staafpatronen op de breadboard en uitgelegd hoe de voedingen lopen. Dit voorkomt een groot deel van de verwarring bij het eerste gebruik van de prototypekaart in de kit.
De algemene beschrijving van onderdelen in het projectenboek wordt gevolgd door een overzicht van de UNO-kaartlay-out, die zich vooral richt op de verbindingen, indicatoren en interactieve schakelaars op de kaart. In dit gedeelte wordt de terminologie voor de hardware gedefinieerd die in de volgende gedeelten wordt gebruikt.
In het volgende gedeelte worden basisinstructies gegeven voor het installeren van de Arduino-software op een Windows-, Mac- of Linux-besturingssysteem. De primair gebruikte software is de Arduino integrated development environment (IDE), die kan worden gedownload van de Arduino-website. De IDE is de softwareomgeving die wordt gebruikt voor het maken van uitvoerbare code die kan worden geüpload naar de Arduino UNO-kaart.
Projecten starten
Zodra de IDE-software is geladen, doorloopt de handleiding de stappen voor het instellen van communicatie tussen de hostcomputer en de UNO-kaart via een USB-verbinding. Er worden referentiekoppelingen gegeven naar de probleemoplossing van Arduino en de IDE, voor als er problemen optreden. Vanaf dit punt kan de gebruiker met projecten beginnen.
Elk project bevat gedetailleerde instructies voor het selecteren van de vereiste onderdelen (vermeld met afbeeldingen voor elk specifiek project als de 'ingrediënten') en voor het onderling verbinden van deze onderdelen op de prototypekaart. Om een voorbeeld te geven: project 02 wordt de 'Ruimteschip-interface' genoemd, waarin een schakelaar en drie leds worden verbonden voor het maken van een 'bedieningspaneel', zodat een druk op de schakelaar bepaalt welke actie de leds vertonen. Bij elk project in de handleiding wordt vermeld hoe lang de voltooiing van het project naar schatting duurt, in dit geval 45 minuten. De 'lijst met ingrediënten' voor project 02 bevat een drukknopschakelaar, drie leds, drie weerstanden van 220 ohm (Ω) en één weerstand van 10 kΩ. Het circuit wordt aangesloten op de prototype-breadboard met voorgesneden en gestripte draadbruggen. In dit gedeelte wordt een pagina besteed om de nieuwe gebruiker te laten zien hoe de kleurcodes van weerstanden moeten worden gelezen, met het oog op toekomstige, zelfstandige projecten.
Het aangesloten circuit wordt in Afbeelding 4 getoond samen met de afbeeldingen van het projectenboek. Het projectenboek toont de bedrading als afbeelding en tevens als schema. Door een vergelijking van de twee afbeeldingen kan de gebruiker snel leren hoe de schematische symbolen en de onderlinge verbindingen van de onderdelen moeten worden geïnterpreteerd.
Afbeelding 4: De bedradingsinstructies in het projectenboek en de werkelijke bedrading op de prototype- en UNO-kaart. De instructies verschijnen als afbeelding en als schema. (Afbeelding: DigiKey)
De softwarekant van dit project is de laatste fase van het proces. Microcontrollers zoals de ATmega328P op de Arduino UNO gebruiken programmeringsinstructies van heel laag niveau die machinecode worden genoemd. Deze code is in feite een reeks binaire cijfers die de interne hardware regelen. Niemand hoeft handmatig te coderen in machinetaal. De programmering wordt gedaan in een taal op hoger niveau, die in diverse stappen wordt vertaald in binaire opdrachten die de microcontroller begrijpt. Daardoor wordt het programmeringsproces een stuk eenvoudiger. Het hulpprogramma hiervoor is de eerder genoemde geïntegreerde Arduino-IDE.
Project 02 vervolgt met instructies voor de softwarecode, die bij Arduino 'sketches' worden genoemd. Elke vereiste stap in de sketch wordt doorlopen met uitleg van wat de gecodeerde instructies doen (Afbeelding 5).
Afbeelding 5: Het programma of de 'sketch' voor project 02, weergegeven in de Arduino IDE-programma-editor. (Afbeelding: DigiKey)
De gebruiker kan de code handmatig invoeren, of deze downloaden van het vervolgkeuzemenu van het bestand (Afbeelding 6).
Afbeelding 6: De sketches voor alle projecten zijn te zien binnen de Arduino IDE. De gebruiker kan deze selecteren, maar de code desgewenst ook handmatig invoeren. (Afbeelding: DigiKey)
Als het invoeren van de code is voltooid, kan deze worden gecompileerd met de optie Verify/Compile (Controleren/compileren) in het Sketch-vervolgkeuzemenu in de IDE-interface. De compiler controleert de code op syntaxisfouten en andere fouten. De IDE-interface geeft aan wanneer de compilatie is voltooid en de code gereed is om te worden geüpload naar het flashprogrammageheugen op de UNO-kaart. De uploadfunctie wordt eveneens gestart vanuit het Sketch-vervolgkeuzemenu. Zodra de UNO-kaart is geprogrammeerd, gaat de groene led branden. Als u op de drukknopschakelaar drukt, gaat de groene led uit en beginnen de rode leds afwisselend te knipperen.
Deze eenvoudige stappen verbergen heel wat programmerings-'toverij' zoals assemblage, koppelen en laden bij het vertalen van de opdrachten op hoger niveau in de binaire code die de microcontroller regelt. Een groentje zal deze kennis door tijd en ervaring opdoen, maar dat is op dit moment nog niet nodig om alvast leuke dingen te kunnen doen.
Op dit punt worden in het projectenboek een aantal vragen aan de gebruiker gesteld over hoe het programma kan worden gewijzigd, wat de gebruiker uitnodigt om met de sketch te experimenteren. In de loop van de projecten neemt de complexiteit van de circuits en de programma's toe, waardoor de gebruiker meer en bredere ervaring en kennis opdoet.
Conclusie
Met zijn opensourceprototypeplatform, variatie aan elektronische onderdelen en gebruiksvriendelijke software heeft de Arduino-starterkit alles wat ingenieurs en niet-ingenieurs nodig hebben om aan de slag te kunnen in de makerswereld van de elektronica. Ga voor meer ideeën en tips voor prototyping naar Maker.io en zoek daar naar interessante projecten.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




