Microcontrollers en embedded systems
Inleiding tot embedded systemen
In veel apparaten die we dagelijks gebruiken, zitten elektronische of mechanische regelsystemen verwerkt. Dit soort systemen noemen we "embedded systems". Denk bijvoorbeeld aan de temperatuurregeling in een koelkast of de programmafuncties van een wasmachine. Embedded systems bestaan uit zowel hardware als software en hebben als doel om een specifiek proces of functie te regelen.
Voorbeelden van embedded systemen
- Koelkasten: de temperatuur wordt automatisch aangepast om de inhoud koel te houden.
- Wasmachines: verschillende programma's regelen de wasbeurten en passen het waterverbruik en de wastijd aan.
- Auto's: foutmeldingen worden weergegeven op het dashboard om de bestuurder te waarschuwen voor mogelijke problemen.
- Elektronische thermostaten: houden de kamertemperatuur stabiel.
- Domotica: zorgt voor automatische verlichting of het op afstand bedienen van apparaten.
Van mechanisch naar elektronisch
Vroeger werden veel processen geregeld met mechanische systemen. Tegenwoordig maken we steeds vaker gebruik van elektronische regelsystemen, vaak met een microcontroller of een System on Chip (SoC). Een microcontroller combineert hardware en software, waarbij de software ingebed is in de hardware zelf. Soms kan de software worden geüpdatet, wat we firmware noemen.
Waarom geen gewone computer?
Voor embedded systems wordt geen gewone computer gebruikt, omdat microcontrollers enkele voordelen hebben:
- Real-time verwerking: ze kunnen direct reageren op gebeurtenissen.
- Snelheid: doordat ze specifiek zijn ontworpen voor een taak, werken ze sneller.
- Lager energieverbruik: ze zijn zuiniger, wat belangrijk is voor apparaten die lang op een batterij werken.
- Lagere kosten: ze zijn goedkoper dan een gewone computer.
Een nadeel van microcontrollers is hun beperkte functionaliteit. Ze zijn ontwikkeld voor één specifiek doel, maar dat maakt ze ook juist zo effectief voor die taak.
Het Internet of Things (IoT)
Embedded systems spelen een belangrijke rol in het Internet of Things (IoT), waarbij allerlei apparaten met elkaar verbonden zijn. Dit biedt gebruiksgemak, zoals slimme thermostaten en verlichting, maar brengt ook risico's met zich mee, zoals privacygevoelige data die kan worden onderschept. Voor marketeers zijn deze data juist weer interessant.
Voorbeelden van toepassingen
- Domotica: systemen voor het automatiseren van huizen, zoals slimme verlichting en thermostaten.
- Beveiliging: alarmsystemen en bewakingscamera's die bijdragen aan een gevoel van veiligheid.
- Prototyping: platforms zoals Arduino en Raspberry Pi maken het makkelijk om een prototype te bouwen en zijn goedkoop.
Van Analoog naar Digitaal
Veel embedded systems werken met gegevens uit de echte wereld. Deze gegevens zijn vaak analoog, zoals geluid of temperatuur. Om ze door een elektronisch systeem te kunnen verwerken, moeten deze analoge signalen naar digitaal worden omgezet. Dit gebeurt in een aantal stappen:
Wat is analoog?
Analoog betekent dat het signaal continu is, zoals een golf die constant verandert.
Sensoren
Deze sensoren meten bijvoorbeeld temperatuur, geluid, vochtigheid of beweging. Deze gegevens zijn analoog en moeten worden omgezet naar digitaal.
Discretisatie
De analoge gegevens worden in kleine meetbare stukjes gehakt, een proces dat discretisatie wordt genoemd. Voorbeeld: een afbeelding in pixels verdelen.
Afspraken
Er worden afspraken gemaakt over hoe vaak er per seconde wordt gemeten en hoeveel verschillende waardes er zijn, bijvoorbeeld de lichtsterkte of het aantal kleuren.
Coderen en fouten wegwerken
De gegevens worden gecodeerd in het binaire talstelsel (1 en 0). Dit helpt om de gegevens digitaal te kunnen verwerken.
Pulse Width Modulation (PWM)
Om van digitaal weer naar analoog te gaan, wordt vaak Pulse Width Modulation (PWM) gebruikt. Hiermee kun je bijvoorbeeld een motor aansturen of de helderheid van een lamp regelen door snel te schakelen tussen aan en uit.
- Voorbeelden: de snelheid van een motor bepalen of een lamp dimmen door de gemiddelde spanning aan te passen.
Actuatoren
Actuatoren zijn apparaten die de digitale signalen omzetten in fysieke acties, zoals het aansturen van een motor, het genereren van geluid, of het laten branden van lichtjes.
Bekende microcontrollers voor restgebruik
Arduino
Arduino is een populaire microcontroller die ideaal is voor beginners en hobbyisten. Het bord is eenvoudig te programmeren dankzij de Arduino IDE (Integrated Development Environment) en wordt ondersteund door een grote gemeenschap die veel voorbeelden en kant-en-klare projecten biedt. Arduino-borden zijn zeer geschikt voor het maken van prototypes en kunnen worden gebruikt voor een breed scala aan projecten, zoals het aansturen van LED-verlichting, motoren, sensoren, en het bouwen van eenvoudige robots. De eenvoud van de hardware en software maakt Arduino een uitstekende keuze voor iedereen die wil leren over embedded systems.
Voorbeelden van interactieve installaties met Arduino
- Interactieve Lichtshow: LED-verlichting die reageert op geluid of beweging, bijvoorbeeld een installatie waarbij de verlichting verandert op basis van de muziek die wordt afgespeeld.
- Touchsensitive Kunstinstallaties: Kunstwerken die reageren op aanraking door middel van capacitive touch sensoren, waarbij bijvoorbeeld kleuren veranderen afhankelijk van waar het kunstwerk wordt aangeraakt.
- Slimme Plantenwatergever: Een systeem dat de vochtigheid van de grond meet en automatisch water geeft wanneer de grond te droog is.
Raspberry Pi
Raspberry Pi is een single-board computer die veelzijdiger is dan een traditionele microcontroller. In tegenstelling tot Arduino kan Raspberry Pi een compleet besturingssysteem draaien, zoals Linux, waardoor het geschikt is voor complexere projecten waarbij meer rekenkracht nodig is. De Raspberry Pi is erg populair voor toepassingen zoals mediacenters, domoticasystemen, en netwerkservers. Daarnaast wordt hij vaak gebruikt in educatieve contexten om kinderen en volwassenen te leren programmeren. Dankzij zijn veelzijdigheid en betaalbaarheid is Raspberry Pi een uitstekende keuze voor projecten waarbij zowel prototyping als programmeervaardigheden nodig zijn.
Voorbeelden van interactieve installaties met Raspberry Pi
- Digitale Kunstinstallaties: Een installatie waarbij een camera gezichtsherkenning gebruikt om kunstwerken te veranderen op basis van wie er naar kijkt.
- Interactieve Spiegel: Een "slimme" spiegel die informatie zoals het weer en nieuws toont, of de gebruiker complimenten geeft, afhankelijk van gezichtsuitdrukkingen.
- Virtuele Drumkit: Een project waarbij verschillende sensoren worden gebruikt om virtuele drumgeluiden af te spelen wanneer er beweging wordt gedetecteerd, zoals het slaan op een onzichtbare trommel.