Wat is een Microcontroller

Een microcontroller is een minicomputer. In tegenstelling tot zijn grote broer de “normale” computer, kun je op een microcontroller geen randapparatuur (bijvoorbeeld een toetsenbord, een beeldscherm, een printer, ..et.c.) aansluiten. En je kunt er geen besturingssysteem op installeren. Een microcontroller wordt eenmalig geprogrammeerd met een programma en dat programma blijft hij continue afdraaien. Een microcontroller heeft namelijk altijd een vast doel en dat doel hang af van: het programma waarmee hij geprogrammeerd is en de elektronica die er op aangesloten is.

Er is nog een groot verschil tussen een computer en een microcontroller. Een microcontroller kan elektronica uitlezen en aansturen. Dat is dan ook eigenlijk het enige wat een microcontroller doet. Hij houdt continue elektronica in de gaten en als het nodig is, stuurt hij weer andere elektronica aan. Zo kan een microcontroller bijvoorbeeld continue een temperatuursensor uitlezen en de temperatuur op een LCD scherm tonen.

Nu is dit een betrekkelijk eenvoudige taak voor een microcontroller, een microcontroller is enorm betrouwbaar en een harde werker. Zonder dat je het zelf wist heb je waarschijnlijk meer microcontrollers in je huis dan computers. Microcontrollers zitten bijvoorbeeld in veel van onze huishoudelijke apparaten. Als je een van de volgende apparaten bezit, dan is de kans heel groot dat in dit apparaat minstens een microcontroller zit:

  • Een televisie;
  • Een home cinema set;
  • De controllers van je game-console;
  • Je magnetron;
  • Je CV-ketel;
  • Je vaatwasser;
  • Een weerstation;
  • Je radio-wekker;
  • Sommige stofzuigers;
  • Je wasmachine;
  • e.t.c.

Een microcontroller is in het uitvoeren van zijn taken veel sneller en nauwkeuriger dan een computer. Het uitlezen van sommige elektronische sensoren moet met een precieze timing gebeuren. Dat is een peulenschil voor een microcontroller, maar een last voor je computer. Je computer moet namelijk heel veel dingen tegelijk doen, waardoor de precieze timing voor het uitlezen van dergelijke sensoren eigenlijk niet te doen is.

Omdat een microcontroller vaak ingezet wordt voor een beperkt aantal taken, heeft een microcontroller ook maar een beperkte hoeveelheid geheugen tot zijn beschikking. De Arduino – waar we het zo over gaan hebben – heeft maar 32K aan geheugen. Dit is niet alleen maar werkgeheugen, hierin wordt ook het programma opgeslagen. Ter vergelijking 2Gb intern geheugen is tegenwoordig al niet veel meer voor een computer. Dat is toch al 33.554.432 keer zoveel als de Arduino.

De Arduino is een Open Source microcontroller. Open Source betekent dat je het ontwerp mag gebruiken en aanpassen zonder dat je er voor betaald. Hiervan maken de Chineze graag gebruik, want uit China komen een heleboel zeer goedkope Arduino klonen. Hier een kort overzicht van wat een Arduino Uno kan:

  • De Arduino heeft 13 digitale I/O poorten. Dit zijn 13 in- en uitgangen waarmee de Arduino met digitale sensoren kan communiceren.
  • 6 van deze I/O pinnen kunnen met PWM aangestuurd worden. Het is niet mijn bedoeling om een elektronica cursus te ontwikkelen. Maar met behulp van PWM kun je de felheid van een LED lamp en de snelheid van een motor regelen
  • Daarnaast heeft de Arduino 6 analoge pinnen. Hiermee kun je de goedkope analogen sensoren uitlezen en aansturen. Je kunt de analoge pinnen overigens ook gewoon als digitale pinnen gebruiken
  • De Uno kun je met je computer via een USB kabel programmeren

De Arduino Uno is vooral leuk om te gebruiken om een programma te ontwikkelen. Je maakt dan een test-circuit op een breadboard en je ontwikkelt je programma. Vervolgens kun je testen of alles werkt zoals je wilt.

Hier een kort overzicht van de elektronica die je op een Arduino aan kunt sluiten. Moeilijk is dit allemaal niet, want voor alles is wel een voorbeeld op het internet te vinden, de lijst is overigens ook verre van volledig:

  • Schakelaars;
  • LED lampjes;
  • Ledstrips – hiervoor moet je wel wat extra elektronica componenten gebruiken;
  • LCD displays;
  • Motoren
  • Servo’s
  • Diverse sensoren voor het meten van: beweging, afstand, lichtsterkte, temperatuur, luchtvochtigheid, luchtdruk, gebaren, stroomverbruik, waterpeil e.t.c.
  • SPI apparaten. Dit zijn de wat meer complexe elektronica componenten waarmee je via de SPI interface kunt communiceren. Een voorbeeld hiervan is de radio die in het MySensor project wordt gebruikt
  • Tx/Rx dit is een hele simpelere seriele verbinding. Hiermee kun je bijvoorbeeld via USB vanaf je computer met je Arduino communiceren en andersom
  • 5V en 3.3V I2C componenten. I2C is een standaard communicatie protocol voor complexe elektronica. Veel van de genoemde sensoren moet je via een I2C bus op je Arduino aansluiten.

De Arduino is enorm populair onder hobbyisten. Het is een zeer goedkope microcontroller, een Arduino Nano kun je al voor 8 euro kopen. En de elektronica die tegenwoordig bijna allemaal uit China komt, is nog veel goedkoper. Een DHT22 bijvoorbeeld kun je al voor 6 euro kopen. De DHT22 is een hele nauwkeurige temperatuursensor. En dit is dan een van de duurdere sensoren.

Voor 6 euro kun je al elektronica kopen waarmee je RFID kaarten kunt uitlezen en programmeren. Dit zijn de pasjes die veel gebruikt worden voor de toegang tot een kantoorgebouw. Arduino’s zijn ook perfect voor mensen die hun eigen robot of drone willen bouwen. Dit is zeker iets wat ik ooit nog eens wil doen.

Voor je begint met het bouwen van je eigen projecten kan ik je aanraden om een Arduino starterkit te kopen. Hierin zit alles wat je nodig hebt om met de Arduino aan de gang te gaan. Er zit ook een boel elektronica bij en een boek, die je leert hoe je elektronica op de Arduino aansluit en het leert je hoe je een Arduino programma kunt schrijven.

Hopelijk heb je nu een goed beeld van wat een microcontroller is, en wie weet ben je zo nieuwsgierig geworden dat je zelf met een Arduino aan de slag wilt gaan. Laat je niet ontmoedigen als je geen kennis van elektronica of programmeren hebt. De basis heb je zo onder de knie en het internet bevat voldoende voorbeelden en YouTube filmpjes om je verder op weg te helpen.