Pinnen
pinMode(pin, OUTPUT / INPUT / INPUT_PULLUP)
digitalWrite(pin, HIGH / LOW)
digitalRead(pin)
analogRead(A0) Uno: 0–1023, ESP32: 0–4095
analogWrite(pin, 0..255) PWM (Uno: pinnen 3, 5, 6, 9, 10, 11)
tone(pin, frequentie) noTone(pin)
Tijd en rekenen
delay(ms) millis() micros()
map(x, vanLaag, vanHoog, naarLaag, naarHoog)
constrain(x, min, max) random(min, max)
abs() min() max() pow() sqrt()
Seriële monitor
Serial.begin(9600)
Serial.print(x) Serial.println(x)
Serial.available() Serial.read() Serial.parseInt()
IoT (alleen ESP32)
Wifi-netwerk IoT-Lab, wachtwoord welkom123, broker broker.iotlab.
WiFi.begin(ssid, wachtwoord) WiFi.status() == WL_CONNECTED WiFi.localIP()
PubSubClient client(espClient); client.connect("naam")
client.publish(topic, tekst) client.subscribe(topic)
client.setCallback(callback) client.loop()
Python (ESP32, Pico, Raspberry Pi)
Kies bij Taal voor Python. MicroPython op ESP32/Pico:
from machine import Pin, ADC, PWM led = Pin(2, Pin.OUT) led.value(1)
knop = Pin(4, Pin.IN, Pin.PULL_UP) ADC(Pin(36)).read() time.sleep(0.5)
Raspberry Pi met gpiozero:
from gpiozero import LED, Button led = LED(17) led.on() knop.is_pressed knop.when_pressed = led.on
Taal
Variabelen (int, float, bool, String, unsigned long), lijsten (int a[] = {1,2};), eigen functies, if, for, while, switch, #define. Niet: klassen, structs, pointers en bibliotheken.