Hoofdstuk 2 van 14

Wat Arduino eigenlijk is

Wanneer mensen het over Arduino hebben, kunnen ze verschillende dingen bedoelen. De een bedoelt het blauwe ontwikkelbord op zijn werkbank, de ander de…

Wanneer mensen het over Arduino hebben, kunnen ze verschillende dingen bedoelen. De een bedoelt het blauwe ontwikkelbord op zijn werkbank, de ander de software waarmee code wordt geschreven. Soms wordt met Arduino zelfs de hele manier van bouwen en programmeren bedoeld.

Dat kan in het begin verwarrend zijn. Zeker omdat we in deze gids geen klassiek Arduino-bord gebruiken, maar een ESP32.

Laten we daarom eerst bekijken wat Arduino eigenlijk is, wat een microcontroller doet en waarom we de ESP32 vanuit de Arduino-omgeving programmeren.

Arduino maakte elektronica toegankelijk

Voordat Arduino bestond, was het werken met microcontrollers vooral het terrein van mensen met kennis van elektronica en programmeertechniek. Je had vaak speciale apparatuur nodig en moest precies weten hoe je een chip moest aansluiten en programmeren.

Arduino maakte die wereld toegankelijker.

Het combineerde een eenvoudig ontwikkelbord, gebruiksvriendelijke software en duidelijke voorbeelden. Daardoor konden ook kunstenaars, ontwerpers, hobbyisten en nieuwsgierige beginners elektronische projecten bouwen.

Je hoefde niet eerst alles van microcontrollers te weten. Je kon beginnen met een klein voorbeeld, iets laten werken en van daaruit steeds verder ontdekken.

Dat is nog altijd de kracht van Arduino:

Je kunt eenvoudig beginnen, maar je bent niet beperkt tot eenvoudige projecten.

Arduino is meer dan één bord

De naam Arduino wordt vaak gebruikt voor een ontwikkelbord, zoals de bekende Arduino Uno. Op zo’n bord bevindt zich een microcontroller: een kleine programmeerbare chip die het eigenlijke werk uitvoert.

Maar Arduino bestaat uit meer dan hardware. Het is een compleet ecosysteem van:

  • ontwikkelborden;
  • software om programma’s te schrijven en te uploaden;
  • bibliotheken voor sensoren en andere onderdelen;
  • voorbeeldprogramma’s;
  • documentatie;
  • een grote gemeenschap van gebruikers.

Die combinatie is belangrijk. Een losse microcontroller kan bijzonder krachtig zijn, maar zonder goede software en uitleg is hij voor een beginner lastig te gebruiken.

Arduino heeft ervoor gezorgd dat veel ingewikkelde technische handelingen achter duidelijke opdrachten en handige hulpmiddelen worden verborgen. Daardoor kunnen wij onze aandacht richten op wat we willen bouwen.

Wat is een microcontroller?

Een microcontroller is een kleine computer op één chip. Hij bevat een processor, geheugen en aansluitingen waarmee hij signalen kan ontvangen en versturen.

Toch is een microcontroller niet hetzelfde als een computer of laptop.

Op een laptop draaien meerdere programma’s tegelijk binnen een uitgebreid besturingssysteem. Een microcontroller krijgt meestal één programma dat steeds opnieuw wordt uitgevoerd. Dat programma bepaalt precies wat het bord moet doen.

Een microcontroller kan bijvoorbeeld:

  • een drukknop controleren;
  • de temperatuur meten;
  • een led aansturen;
  • een motor laten draaien;
  • gegevens via WiFi versturen;
  • reageren op een bericht van een ander apparaat.

Je kunt hem zien als het brein van een klein elektronisch project. Via zijn aansluitingen ontvangt hij informatie uit de omgeving, verwerkt die informatie volgens onze code en stuurt vervolgens iets aan.

In veel projecten verloopt dat ongeveer zo:

Waarnemen → beslissen → uitvoeren

Een sensor meet bijvoorbeeld de temperatuur. De microcontroller vergelijkt die waarde met een ingestelde grens. Wanneer het te warm wordt, schakelt hij een ventilator in.

De microcontroller doet daarbij alleen wat wij hem hebben opgedragen. Hij begrijpt niet wat temperatuur of comfort betekent. Wij moeten in de code vastleggen welke signalen hij ontvangt en hoe hij daarop moet reageren.

Het ontwikkelbord rond de microcontroller

Een losse microcontrollerchip is klein en niet erg praktisch om direct mee te werken. Daarom wordt hij op een ontwikkelbord geplaatst.

Zo’n bord voegt onderdelen toe die het experimenteren eenvoudiger maken. Denk aan:

  • een USB-aansluiting;
  • een aansluiting voor voeding;
  • pinnen waarop we draden kunnen aansluiten;
  • knoppen om het bord te starten of te programmeren;
  • onderdelen die de voedingsspanning regelen;
  • soms een ingebouwde led.

Het ontwikkelbord vormt daarmee de praktische verbinding tussen de microcontroller, onze computer en de schakeling die we bouwen.

In deze gids gebruiken we een ESP32-ontwikkelbord met een ESP32-WROOM-32-module. Zoals we in de introductie hebben afgesproken, noemen we dit