đ ESP32 DevKit (USB-C) + Expansion Shield
ESP32 er Arduinoens storebror, der har lÊst til ingeniÞr: dual-core 240 MHz, WiFi og Bluetooth i én chip. Expansion shieldet giver dig stik til alle ben og et DC-stik, sÄ du kan sÊtte sensorer og servoer pÄ uden et breadboard-spaghettimonster.
Du skal bruge: USB-C datakabel, Arduino IDE med ESP32-pakken, og evt. CH340-driveren.
đ KĂžb ESP32 + Shieldđ Officielt datasheet (PDF)đ CH340-driver guideDatasheetet er Espressifs ESP32-WROOM-32E-modul. StĂ„r der "ESP32-WROOM-32" (uden E) pĂ„ metaldĂ„sen, er pinout og strapping-pins de samme.
⥠Hurtige specifikationer
| Parameter | VĂŠrdi |
|---|---|
| Chip | ESP32 (Xtensa LX6 dual-core, op til 240 MHz) |
| Modul | ESP32-WROOM-32 / 32E (tjek metaldÄsen) |
| Flash | Typisk 4 MB |
| TrÄdlÞst | WiFi 802.11 b/g/n (2,4 GHz) + Bluetooth Classic & BLE |
| LogikspĂŠnding | 3,3V â benene er IKKE 5V-tolerante |
| USB | USB-C via CH340C USB-serial chip |
| ADC | 12-bit. ADC1: GPIO32â39. ADC2 virker ikke nĂ„r WiFi er tĂŠndt |
| DAC | 2 kanaler: GPIO25, GPIO26 |
| Shield-forsyning | DC-stik 6,5â16V (ifĂžlge produktbeskrivelsen) |
đ Pinout
ESP32-DevKits findes i 30- og 38-pin udgaver, og rĂŠkkefĂžlgen langs kanten varierer mellem producenter. Derfor er tabellen herunder sorteret efter funktion â brug GPIO-nummeret pĂ„ silketrykket (fx "D23" eller "G23" = GPIO23).
| Pin | Navn | Funktion | Forbindes til |
|---|---|---|---|
| 3V3 | 3,3V | 3,3V udgang fra regulatoren | 3,3V-sensorer |
| VIN / 5V | 5V | 5V ind (eller ud fra USB) | 5V forsyning |
| GND | GND | Stel | GND |
| EN | Enable/Reset | Reset (aktiv LOW) | Ikke brug som I/O |
| GPIO21 / GPIO22 | SDA / SCL | Standard I2C | I2C-moduler |
| GPIO23 / 19 / 18 / 5 | MOSI / MISO / SCK / SS | Standard SPI (VSPI) | SPI-moduler |
| GPIO1 / GPIO3 | TX0 / RX0 | UART0 â bruges af USB | Lad vĂŠre fri |
| GPIO17 / GPIO16 | TX2 / RX2 | UART2 (Serial2) | GPS, RS485 m.m. |
| GPIO2 | LED | Onboard blÄ LED pÄ de fleste kloner + strapping | OK som output |
| GPIO4, 13, 14, 16â19, 21â23, 25â27, 32, 33 | GPIO | Sikre allround-pins | LED, relĂŠer, knapper |
| GPIO34, 35, 36 (VP), 39 (VN) | Input only | Kun indgang, ingen pull-up | Analoge sensorer |
| GPIO0 | BOOT | â ïž Strapping â LOW ved opstart = download-mode | UndgĂ„ |
| GPIO12 | MTDI | â ïž Strapping â HIGH ved opstart kan give flash-fejl | UndgĂ„ |
| GPIO15, GPIO5 | MTDO / IO5 | â ïž Strapping â OK nĂ„r de ikke trĂŠkkes ved opstart | Med omtanke |
| GPIO6â11 | Flash | â Forbundet til modulets flash | Brug ALDRIG |
Expansion shieldet
- Hver GPIO er fĂžrt ud som 3-pin header: G (GND), V (forsyning) og S (signal).
- Tjek silketrykket/jumperen pÄ dit shield for om V-rÊkken leverer 3,3V eller 5V, fÞr du sÊtter moduler pÄ.
- DC-stikket fodrer boardet via shieldets regulator, sÄ du ikke behÞver USB i drift.
- SÊt ESP32'en i, sÄ benlabels pÄ boardet matcher labels pÄ shieldet (3V3 over 3V3, GND over GND).
đ SĂ„dan forbinder du den
| Komponent | Komponent-pin | ESP32-pin |
|---|---|---|
| LED + 220 Ω | Anode / Katode | GPIO4 / GND |
| I2C OLED / BME280 | VCC / GND / SDA / SCL | 3V3 / GND / GPIO21 / GPIO22 |
| Servo (SG90) | RĂžd / Brun / Orange | 5V (ekstern) / GND / GPIO13 |
| HC-SR04 ultralyd | VCC / Trig / Echo / GND | 5V / GPIO5 / GPIO18 via spĂŠndingsdeler / GND |
| Potentiometer | Midterben | GPIO34 (ADC1) |
5V-moduler der sender signaler ind i ESP32 (fx Echo pÄ HC-SR04) skal gennem en spÊndingsdeler eller logic level converter. 3,3V-signaler ud forstÄs oftest fint af 5V-moduler.
đ ïž OpsĂŠtning i Arduino IDE
- Ă bn Arduino IDE (2.x anbefales) â Fil â Indstillinger.
- IndsĂŠt i "Additional boards manager URLs":
https://espressif.github.io/arduino-esp32/package_esp32_index.json - GĂ„ til VĂŠrktĂžjer â Board â Boards Manager, sĂžg pĂ„ esp32 og installĂ©r "esp32 by Espressif Systems" (version 3.x).
- VĂŠlg board: VĂŠrktĂžjer â Board â esp32 â ESP32 Dev Module.
- Installér evt. CH340-driveren, hvis der ikke dukker en port op.
- VĂŠlg den rigtige port under VĂŠrktĂžjer â Port og tryk Upload.
đ» Eksempelkode
Blink pÄ den indbyggede LED (GPIO2 pÄ de fleste DevKit-kloner) og en WiFi-scanning i Serial Monitor (115200 baud). WiFi-biblioteket fÞlger med ESP32-pakken.
// KompoNemt ESP32 Blink + WiFi-scan
#include <WiFi.h>
const int LED = 2; // onboard LED pÄ de fleste DevKit-kloner
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(115200);
Serial.println("Hej fra KompoNemt-vĂŠrkstedet!");
WiFi.mode(WIFI_STA);
int n = WiFi.scanNetworks();
for (int i = 0; i < n; i++) {
Serial.printf("%2d: %s (%d dBm)\n", i + 1, WiFi.SSID(i).c_str(), WiFi.RSSI(i));
}
}
void loop() {
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}
đĄ KompoNemt-tip fra vĂŠrkstedet
- Tre forbudte zoner: GPIO6â11 (flash), GPIO0/2/12/15 ved opstart (strapping) og GPIO34â39 som output (kan kun lĂŠse).
- Analog + WiFi: brug GPIO32â39 (ADC1). ADC2-benene (fx GPIO4, 12â15, 25â27) giver ingen mĂ„linger, nĂ„r WiFi kĂžrer.
- Brownout ved WiFi-start: ESP32 trĂŠkker strĂžmspidser pĂ„ 300â500 mA. Brug et ordentligt kabel/strĂžmforsyning.
- 3,3V-logik! Send aldrig 5V direkte ind i et GPIO-ben.
đ§ Fejlfinding
- "Failed to connect⊠Timed out waiting for packet header": hold BOOT-knappen nede, nĂ„r "ConnectingâŠ" vises, og slip nĂ„r upload starter.
- Ingen port: skift USB-C kabel og installér CH340-driveren.
- Boardet starter ikke med noget koblet pÄ: tjek om du har noget pÄ GPIO0, 2, 12 eller 15, der trÊkker benet ved opstart.
- "Brownout detector was triggered": dĂ„rlig strĂžmforsyning eller tyndt kabel â prĂžv en anden USB-port eller DC-stikket pĂ„ shieldet.
- analogRead giver 0/4095: du bruger et ADC2-ben med WiFi tĂŠndt â flyt til GPIO32â39.
Sidder du fast? Skriv til os â vi hjĂŠlper gerne.