Arduino Uitgelegd: Wat Is Het en Hoe Programmeer Je Het?
Arduino Programmeren: Wat is Arduino en Hoe Programmeer Je Het?
Wat is Arduino?
Arduino is een open-source hardwareplatform met ingebouwde programmeerondersteuning. Geen losse programmeerhardware (zoals een hex-burner) nodig: de code (hex-bestand) wordt direct via USB overgezet. Alle benodigde periferie is op de printplaat geïntegreerd. Het is gebaseerd op eenvoudige AVR-microcontrollers (bijv. ATmega328P).
Arduino is uitgegroeid tot een groot ecosysteem door:
- Enorme hoeveelheid bibliotheken (geen heruitvinding van het wiel).
- Korte, leesbare code.
- Eenvoudig te gebruiken, hoge productiviteit.
- Interfaces met schakelaars, encoders, sensoren, motoren, relais, displays, communicatie (I2C, SPI, UART, CAN, Ethernet, WiFi, Bluetooth).
PCB-ontwerpen en schema's zijn vrij beschikbaar. De Arduino IDE (Integrated Development Environment) is gratis te downloaden voor Windows, macOS, Linux.
Waarom Arduino Kiezen?
- Ingebouwde bootloader/programmeerder: Geen losse burner nodig. Ideaal voor beginners.
- Open source & wereldwijde community: Continue updates, bugfixes, support.
- Rijke bibliotheken: Complexe taken (displays, sensoren, communicatie) in wenige regels code.
- Shields: Uitbreidingsprintjes (motor drivers, Ethernet, WiFi, relay, LCD) die direct op de headers passen. Minder bedrading, minder fouten, compact.
Populaire Arduino Boards
| Board | MCU | Digitale I/O | PWM | Analoge In | Flash | SRAM | Klok |
|---|---|---|---|---|---|---|---|
| Arduino UNO | ATmega328P | 14 | 6 | 6 | 32 KB | 2 KB | 16 MHz |
| Arduino Mega 2560 | ATmega2560 | 54 | 15 | 16 | 256 KB | 8 KB | 16 MHz |
| Arduino Nano | ATmega328P | 14 | 6 | 8 | 32 KB | 2 KB | 16 MHz |
| Arduino Due | SAM3X8E (ARM Cortex-M3) | 54 | 12 | 12 | 512 KB | 96 KB | 84 MHz |
| ESP32 (Arduino compat.) | Xtensa LX6 Dual Core | >30 | 16 | 18 | 4 MB | 520 KB | 240 MHz |
Oudere boards: Duemilanove, Fio, LilyPad, Extreme V2 – grotendeels vervangen door bovenstaande.
Arduino UNO – Kenmerken
- MCU: ATmega328P
- Voeding: 5V (USB) of 7–12V DC (extern, via Vin/barrel jack), max 20V
- 14 Digitale I/O pinnen (waarvan 6 PWM: D3, D5, D6, D9, D10, D11)
- 6 Analog ingangen (A0–A5, 10-bit ADC)
- Max 40 mA per I/O pin, 50 mA op 3,3V pin
- 32 KB Flash (0,5 KB bootloader), 2 KB SRAM, 1 KB EEPROM
- 16 MHz keramische resonator
Arduino Programmeren – Stap voor Stap
1. IDE Installeren
Download van arduino.cc, installeer, start.
2. Board & Poort Selecteren
Tools → Board → Arduino AVR Boards → Arduino Uno
Tools → Port → COMx (Windows) / /dev/ttyUSBx (Linux/Mac)
3. Code Structuur: Twee Verplichte Functies
void setup() {
// Eenmalige initialisatie: pinModes, seriële communicatie, bibliotheken
}
void loop() {
// Hoofdprogramma: herhaalt oneindig
}
4. Basis Functies
| Functie | Doel | Voorbeeld |
|---|---|---|
pinMode(pin, mode) | Pin als INPUT, OUTPUT of INPUT_PULLUP instellen | pinMode(13, OUTPUT); |
digitalWrite(pin, waarde) | Digitale uitgang HIGH (5V) of LOW (0V) | digitalWrite(13, HIGH); |
digitalRead(pin) | Digitale ingang lezen (HIGH/LOW) | int state = digitalRead(2); |
analogRead(pin) | Analoge ingang lezen (0–1023) | int val = analogRead(A0); |
analogWrite(pin, waarde) | PWM uitgang (0–255) op PWM-pinnen | analogWrite(9, 128); |
delay(ms) | Wachten in milliseconden | delay(1000); // 1 sec |
Serial.begin(baud) | Seriële communicatie starten | Serial.begin(9600); |
Serial.println(waarde) | Data naar Serial Monitor sturen | Serial.println("Hello"); |
5. Eerste Programma: Knipperende LED
// Definieer pinnaam
const int LED_PIN = 13;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH); // LED aan
delay(1000); // 1 seconde wachten
digitalWrite(LED_PIN, LOW); // LED uit
delay(1000); // 1 seconde wachten
}
Klik op Upload (pijltje-rechts icoon) → code wordt gecompileerd en naar de Arduino gestuurd. Klaar!
Volgende Stappen
Industriële technologie
- 6G verkennen: de toekomst van ultra-snelle connectiviteit
- Plasma Snijden Uitgelegd: Hoe Het Werkt en Belangrijkste Voordelen
- MIG-lassen uitgelegd: wat het is en hoe je het proces onder de knie krijgt
- Solderen uitgelegd: typen, technieken en stapsgewijze handleiding
- Elektrochemisch slijpen (ECG): hoe het werkt en de voordelen
- Harden (Brazing) Uitgelegd: Metaalonderdelen Veilig en Effectief Verbinden
- Koper Hardsolderen Uitgelegd: Technieken & Tips voor Sterke, Betrouwbare Verbindingen
- Lasroken Begrijpen: Gevaren & Effectieve Reductie Strategieën
- Elektrodelasten uitgelegd: apparatuur, proces en stapsgewijze handleiding
- Lassen Spatters: Oorzaken en Effectieve Reductietechnieken
- Lean Digital: Definitie, Voordelen en Hoe het Naadloos te Integreren