Klantpaneel
In uw winkelwagen
Laat zich registreren

Arduino, of microcontrollers voor iedereen

2020-11-24

Arduino

Elke elektronicaliefhebber heeft in ieder geval al gehoord over Arduino omdat het dankzij zijn unieke eigenschappen enorm populair is geworden. Tegenwoordig dicteert het bedrijf, opgericht en ontwikkeld door enthousiastelingen, de normen voor connectoren en de distributie van signalen aan grote bedrijven - fabrikanten van microcontrollers of evaluatieborden. Wat is Arduino en waarom is het een informele standaard geworden in het onderwijs en bij prototyping? En tot slot, welke soorten Arduino bestaan er, wat kunt u doen met Arduino en hoe u ze kunt gebruiken voor uw eigen behoeften?

Arduino - de perfecte keuze voor beginnende programmeurs

Als we microcontrollerprogrammering willen leren, is het Arduino-platform een heel goede keuze. Evenzo, als we gepassioneerd zijn door elektronica, een idee hebben en snel een apparaat willen maken op basis van een microcontroller en standaard randapparatuur, zoals: alfanumerieke displays, grafisch, LED, LCD met of zonder bijbehorende knoppen, sensoren, transmissiemodules, drivers voor motoren of solenoïdes en nog veel, veel meer. Het loont ook de moeite om het Arduino-platform te kiezen als we een korte reeks apparaten willen produceren waarin het "hart" een microcontroller zal zijn, die niet noodzakelijkerwijs samenwerkt met Arduino-uitbreidingsmodules.

Arduino - wat is het?

Wat is Arduino? Het is niet zomaar een microcomputerbord (meestal wanneer men “Arduino” zegt, denkt men enkel aan het bord), maar een compleet platform gebaseerd op gebruiksvriendelijke hardware en software. Belangrijk is dat het een open source-platform is, wat de toegang betekent tot gratis, gedetailleerde documentatie en programmaschema's en bronnen. Meestal bestaat een apparaat gemaakt op basis van Arduino-platform uit een basisbord met een microcontroller en een uitbreidingsmodule die eraan is bevestigd, genaamd een “shield”.

De meeste Arduino-basisborden hebben een USB-interface om ze met een pc te programmeren. Op sommige borden worden de microcontrollersignalen naar de aansluitingen geleid waarop de uitbreidingsmodules zijn aangesloten, en op sommige naar de soldeerpunten. Vanwege het feit dat dergelijke borden worden aangeboden als miniatuurmodules, noemen sommige mensen ze doorgaans "Arduino-microcontroller" of "Arduino-microcomputer".

Foto 1. Uitbreidingsmodule met LED-display en knoppen. Hiermee maak je eenvoudig een klok.

Programmeren in Arduino

De syntaxis van de taal die programmeren mogelijk maakt Arduino is vergelijkbaar met de C++ taal en is erg populair geworden bij microcontroller-programmeurs. Een sterk punt van de Arduino programmeeromgeving is de beschikbaarheid van talrijke kant-en-klare bibliotheken die de creatie van het programma vergemakkelijken en het ontelbare aantal kant-en-klare applicaties die zijn ontwikkeld door gebruikers van dit platform van over de hele wereld. Belangrijk is dat de programmeeromgeving algemeen beschikbaar is, ongeacht voor welke doeleinden deze wordt gebruikt. Evenzo de basisplaat zelf - als we deze niet willen kopen, kunnen we deze zelf maken op basis van de beschikbare documentatie.

Een korte geschiedenis van het ontstaan van Arduino

Het idee van Arduino werd geboren in Italië, bij het Ivrea Interaction Design Institute. Het Arduino-platform moest worden ontworpen voor rapid prototyping en leren programmeren door studenten die nog niet eerder met elektronica en programmeren te maken hadden gehad. De makers van Arduino hadden een geweldig idee omdat het niet alleen op de universiteit werkte, maar ook daarbuiten, waardoor veel mensen konden leren of ideeën snel konden implementeren.

Nadat het Arduino-platform buiten de universiteit ter beschikking kwam en werd geadopteerd door een veel bredere groep gebruikers, moest het zich aanpassen aan nieuwe uitdagingen en aan nieuwe behoeften. Tegelijkertijd is het aanbod van basisplaten aanzienlijk gediversifieerd, met niet alleen eenvoudige 8-bit-eenheden, maar ook uitgebreidere, bedoeld voor gebruik in IoT-apparaten, draagbare apparaten, voor 3D-printers en andere, nog veeleisender toepassingen. Alle Arduino-borden zijn gebaseerd op de principes van open source-licenties, waardoor gebruikers ze onafhankelijk kunnen maken en aan specifieke behoeften kunnen aanpassen. De software is ook open source en ontwikkeld dankzij het werk van gebruikers over de hele wereld.

Waarom uitgerekend Arduino?

Tot een paar jaar geleden had elke producent van evaluatieborden of microcontrollers zijn eigen standaard connectoren, tegenwoordig passen de meeste onder hen zich aan de informele "standaard" aan, die door Arduino is geïntroduceerd. Waarschijnlijk de belangrijkste reden naast de populariteit van Arduino op zich, is de beschikbaarheid van een groot aantal uitbreidingsmodules (zogenaamde shield - hier). Als de uitgangen van het aangeboden evaluatiebord compatibel zijn met die van de Arduino, heeft de gebruiker de mogelijkheid om vrij gebruik te maken van het enorme aanbod aan uitbreidingsmodules voor Arduino, waardoor de verwachte prototypefunctionaliteit eenvoudig, goedkoop en snel kan worden gerealiseerd. Het biedt ook een voordeel voor de fabrikant van het evaluatiebord, omdat deze zich kan concentreren op de toepassing van de microcontroller zelf, hem omgeeft met slechts een minimale set samenwerkende componenten en zo de uiteindelijke prijs verlaagt.

Foto 2. Uitbreidingsmodule met GSM-modem. Het is handig om een alarm met melding te bouwen.

Vanwege het gebruiksgemak, de beschikbaarheid en de diverse behoeften van gebruikers, kunt u onder de projecten die met het gebruik van Arduino worden geïmplementeerd, oplossingen vinden voor talloze problemen en implementaties van bijna elk apparaat. U kunt ze direct of als referentieproject gebruiken. De applicatie-ontwikkelingssoftware (Arduino IDE) is zeer gemakkelijk te gebruiken voor beginners, maar toch flexibel en biedt veel mogelijkheden voor gevorderde gebruikers. Hij kan worden gestart onder Mac OS-, Windows- en Linux-besturingssystemen. Hierdoor is hij beschikbaar voor gebruikers met verschillende hardwarevoorkeuren en met verschillende financiële mogelijkheden.

Het is onmogelijk om alle toepassingen van Arduino te tellen, omdat ze even gretig wordt gebruikt door professionals als door hobbyisten. Docenten en studenten gebruiken Arduino om goedkope meetinstrumenten te realiseren, niet alleen voor elektrische grootheden, maar ook voor gebruik in chemische en fysische experimenten. Op scholen over de hele wereld wordt het gebruikt om programmeren en robotica te leren. Ontwerpers en architecten gebruiken Arduino om prototypes van interactieve gebouwen te bouwen, muzikanten en kunstenaars gebruiken het om interactieve kunstinstallaties te maken en te experimenteren met nieuwe soorten muziekinstrumenten. Voor veel mensen is het Arduino-platform een belangrijk hulpmiddel om nieuwe vaardigheden te leren. Iedereen kan het gebruiken: kinderen, hobbyisten, artiesten, programmeurs, toestelbouwers en nog vele anderen. Iedereen kan een apparaat bouwen volgens de stapsgewijze instructies van de kit of online ideeën delen met andere leden van de Arduino-community.

Welke Arduino moet ik kiezen?

Om een prototype of apparaat te maken dat op het Arduino-platform is gebouwd, hebben we een basisbord nodig dat is uitgerust met een type microcontroller dat geschikt is voor onze behoeften, een uitbreidingsmodule - een overlay shield, Arduino IDE-software, USB-kabel, voeding en pc. Momenteel omvat het ecosysteem verschillende soorten Arduino, met verschillende microcontrollers en een enorm aantal uitbreidingsmodules. Voorbeelden van modules worden getoond in foto's 1… 3.

Afhankelijk van het type zijn Arduino-borden uitgerust met connectoren - goldpin-sockets of soldeerpunten, die niet alleen kunnen worden gebruikt om het bord aan te sluiten, maar ook om het aan de PCB van embedded apparaten te bevestigen, als de Arduino-microcomputer als centrale eenheid fungeert. Elk heeft een bootloader die is opgeslagen in het geheugen van de microcontroller, die wordt gebruikt om de "in-circuit" -processor te programmeren (zonder uit het systeem te desolderen) door simpelweg opties te selecteren in het Arduino IDE-menu.

Foto 3. Uitbreidingsmodule met Ethernet-interface. Het kan handig zijn voor domotica-apparaten.

De huidige lijst met Arduino-basisborden staat in de tabel. De meeste gebruiken microcontrollers met AVR-core, maar men vindt er ook Intel-processor en SAM21 met ARM Cortex-M0+ core. Het is vermeldenswaard dat de tafel geen borden met Espressif Systems-processors bevat (bijvoorbeeld de populaire ESP8266) en dat ze ook kunnen worden geprogrammeerd met de Arduino IDE. Bij het kiezen van een printplaat voor de toepassing, moet men de mogelijkheden van de daarop gemonteerde microcontroller volgen. Individuele eenheden verschillen in de grootte van het beschikbare geheugen, de snelheid van de kern en de uitrusting met functionele blokken, zoals interfaces, timers, PWM-generatoren, enz. Het is ook de moeite waard om op de pinnen van het bord te letten, omdat sommige geen connectoren hebben, maar bedoeld zijn om te solderen.

Tabel 1: Lijst met momenteel aangeboden Arduino-basisborden

Arduino-bordtype Processor type IO / voedingsspanning [V ] CPU-klokfrequentie [MHz ] Analoge in- / uitgangen Digitale inputs \ - outputs / aantal PWM EEPROM [kB ] SRAM [kB ] Flash [kB ] USB UART
LilyPad USB ATmega32U4 3,3/3,8…5 8 4/0 9/4 1 2,5 32 - Micro
Mega 2560 ATmega2560 5/7…12 16 16/0 54/15 4 8 256 Typ B 4
Micro ATmega32U4 5/7…12 16 12/0 20/7 1 2,5 32 Micro 1
MKR1000 SAMD21 Cortex-M0+ 3,3/5 48 7/1 8/4 - 32 256 Micro 1
Uno ATmega328P 5/7…12 16 6/0 14/6 1 2 32 Typ B 1
Zero ATSAMD21G18 3,3/7…12 48 6/1 14/10 - 32 256 2×Micro 2
Due ATSAM3X8E 3,3/7…12 84 12/2 54/12 - 96 512 2×Micro 4
Leonardo ATmega32U4 5/7…12 16 12/0 20/7 1 2,5 32 Micro 1
Nano ATmega168; ATmega328P 5/7…9 16 8/0 14/6 0.512; 1 1; 2 16; 32 Mini 1
MKRZero SAMD21 (Cortex-M0+) 3,3 48 7 (ADC 8/10/12 bit)/1 (DAC 10 bit) 22/12 - 32 kB 256 kB Ja 1
Yun Rev 2 ATmega32U4; Atheros AR9331 5; 3,3V 16; 400 12/0 20 1 2,5; 64 MB DDR2 32; 16 MB Ja 1
Uno WiFi Rev2 ATmega4808; Radiomodule: u-blox NINA-W102 5/7…12 16 6/0 14 0,256 6 48 Ja 1
Nano 33 IoT SAMD21 (Cortex-M0+) 3,3/3,6…21 48 8/1 14 - 32 256 Ja 1
Nano 33 BLE nRF52840 3,3/3,6…21 64 8/0 14 - 256 1MB Ja 1
Nano 33 BLE Sense nRF52840 3,3/3,6…21 64 8/0 14 - 256 1MB Ja 1
MKR1000 WiFi SAMD21 (Cortex-M0+) 3,3/5 48 7/1 8 - 32 256 Ja 1
MKR1010 WiFi SAMD21 (Cortex-M0+) 3,3/5 48 7/1 8 - 32 256 Ja 1
MKR Vidor 4000 SAMD21 (Cortex-M0+); FPGA Intel Cyclone 10CL016 3,3/5 48; 48…200 7/1; -/- 8; 22 - 32; 8MB SDRAM 256; 2MB Ja 1; 7
MKR Fox 1200 SAMD21 (Cortex-M0+); Radiomodule: Microchip Smart RF ATA8520 3,3/5 48 7/1 8 - 32 256 Ja 1
MKR GSM 1400 SAMD21 (Cortex-M0+); Radiomodule: u-blox SARA-U201 3,3/5 48 7/1 8 - 32 256 Ja 1
MKR NB 1500 SAMD21 (Cortex-M0+); Radiomodule: u-blox SARA-R410M-02B 3,3/5 48 7/1 8 - 32 256 Ja 1
MKR WAN 1310 SAMD21 (Cortex-M0+); Radiomodule: CMWX1ZZABZ 3,3/5 48 7/1 8 - 32 256 Ja 1
MKR WAN 1300 (LoRA Connectivity) SAMD21 (Cortex-M0+); Radiomodule: CMWX1ZZABZ 3,3/5 48 7/1 8 - 32 256 Ja 1
Portenta H7 STM32H747XI (Cortex-M7+M4); Radiomodule: Murata 1DX WiFi en Bluetooth 5.1 3,3/5 480 7/2 15/8 - 1MB 2MB Ja 4

 

[Lijst met momenteel aangeboden Arduino-basisborden - PDF](https://static.cs.tme.eu/2020/11/5fbb9f5c8d07e/Arduino_boards_en.pdf{.cs-btn-danger}

Arduino Nano, Arduino Uno en anderen

Goedkope borden en gratis Arduino programmeeromgeving zijn een zeer goed alternatief voor veel evaluatieplatforms die op de markt verkrijgbaar zijn, aangeboden door bijvoorbeeld microcontrollerfabrikanten. Door de beschikbaarheid van documentatie en open bronnen kunt u het platform zelf wijzigen en aanpassen aan uw behoeften. Ready Arduino-borden zijn verkrijgbaar voor een betaalbare prijs. Een goed startpunt voor beginners is de Arduino Uno. Hij is uitgerust met een typische USB-connector, waarmee u het bord met een pc kunt verbinden en de software eenvoudig met één klik kunt overbrengen. De ATmega328-microcontroller die op het bord is gemonteerd, heeft voldoende geheugen en hardwarebronnen om veel besturings- en bedieningstoepassingen te implementeren. De klokfrequentie van de kern is 16 MHz, wat een machinecyclusduur van 62,5 ns oplevert, en de AVR-kern die in de microcontroller wordt gebruikt, voert de meeste instructies uit in een enkele machinecyclus. Naarmate u vaardigheid en ervaring opdoet, kunt u andere varianten kiezen, zoals Arduino Due, Mega 2560 en anderen. Allereerst is het de moeite waard om hier op het model te letten Arduino Nano, een geminiaturiseerde versie van grotere systemen, zonder bijvoorbeeld een spanningsstabilisator en een full-size USB-poort. De Arduino Nano is echter uitgerust met dezelfde 8-bit processor als het Uno-bord, met een indrukwekkende verkleining. In het geval van de Nano-serie is de PCB-afmeting 18 mm bij 45 mm! Belangrijk is dat ondanks de hardwarewijziging nog steeds dezelfde programmeeromgeving wordt gebruikt.

Meestal wordt de programmering van de microcontroller gedaan via de USB-interface. Om ervoor te zorgen dat de Arduino USB-interface correct werkt met het door ons gebruikte besturingssysteem, is een geschikte driver vereist, die door het besturingssysteem wordt geïnstalleerd na het aansluiten van het bord en het zich melden van de opstartsofware van de microcontroller, de zogenaamde bootloader. Oorspronkelijk was de Arduino IDE geschreven voor Windows, dus de meeste bootloaders zijn beschikbaar voor Windows en slechts enkele zijn aangepast voor andere besturingssystemen. Wanneer u werkt op een computer die is uitgerust met MacOS of Linux, is het de moeite waard om te controleren of deze compatibel is met het systeem dat we gebruiken voordat u besluit om een specifiek Arduino-basisbord te kopen.

Foto 4. Arduino Uno R3 aanbevolen voor beginners.

Ten slotte loont het de moeite om de website van Arduino-gebruikers te vermelden die beschikbaar is op https://www.arduino.cc/ waar u actuele versies van programma's, talrijke applicaties, een gebruikersforum en een kennisbank kunt vinden. Hier zijn ook diagrammen en elektrische parameters van Arduino-kaarten, beschrijvingen en parameter-specificaties, inclusief de beschrijving van de Arduino Uno R3 (foto 4) aanbevolen voor beginners. We bieden veel uitbreidingsmodules aan en er zijn talloze toepassingsvoorbeelden beschikbaar op andere websites - u kunt ze vinden met behulp van zoekmachines of discussiegroepen over programmeren en elektronica.

Uw browser wordt niet meer ondersteund, download een nieuwe versie

Chrome Chrome Download
Firefox Firefox Download
Internet explorer Internet Explorer Download