esp32-claude-robbie/docs/gpio_mapping.md

117 lines
5.3 KiB
Markdown

# GPIO Mapping - Claude's Eyes
## Waveshare ESP32-S3-Touch-LCD-2
### On-Board Components (keine externe Verkabelung nötig)
| Funktion | GPIO | Notizen |
|----------|------|---------|
| **Display ST7789** | | |
| MOSI | GPIO 13 | SPI Data |
| SCLK | GPIO 14 | SPI Clock |
| CS | GPIO 10 | Chip Select |
| DC | GPIO 11 | Data/Command |
| RST | GPIO 12 | Reset |
| Backlight | GPIO 45 | PWM für Helligkeit |
| **Touch CST816S** | | |
| SDA | GPIO 48 | I2C Data (shared) |
| SCL | GPIO 8 | I2C Clock (shared) |
| INT | GPIO 3 | Interrupt |
| **IMU QMI8658** | | |
| SDA | GPIO 48 | I2C Data (shared mit Touch) |
| SCL | GPIO 8 | I2C Clock (shared mit Touch) |
### Kamera OV5640 (24-Pin Connector)
| Funktion | GPIO | Notizen |
|----------|------|---------|
| XCLK | GPIO 15 | External Clock |
| SIOD (SDA) | GPIO 4 | SCCB Data |
| SIOC (SCL) | GPIO 5 | SCCB Clock |
| D7 | GPIO 16 | Data Bit 7 |
| D6 | GPIO 17 | Data Bit 6 |
| D5 | GPIO 18 | Data Bit 5 |
| D4 | GPIO 12 | Data Bit 4 (⚠️ shared mit Display RST!) |
| D3 | GPIO 10 | Data Bit 3 (⚠️ shared mit Display CS!) |
| D2 | GPIO 8 | Data Bit 2 (⚠️ shared mit I2C SCL!) |
| D1 | GPIO 9 | Data Bit 1 |
| D0 | GPIO 11 | Data Bit 0 (⚠️ shared mit Display DC!) |
| VSYNC | GPIO 6 | Vertical Sync |
| HREF | GPIO 7 | Horizontal Reference |
| PCLK | GPIO 13 | Pixel Clock (⚠️ shared mit Display MOSI!) |
**⚠️ WICHTIG:** Die Kamera-Pins können mit Display-Pins kollidieren!
Dies muss beim finalen Hardware-Setup verifiziert werden. Möglicherweise muss
die Camera während Display-Updates deaktiviert werden oder umgekehrt.
### Externe Komponenten (Freenove Shield)
| Funktion | GPIO | Notizen |
|----------|------|---------|
| **Motoren** | | |
| Motor A IN1 | GPIO 39 | Richtung Links |
| Motor A IN2 | GPIO 40 | Richtung Links |
| Motor A PWM | GPIO 41 | Geschwindigkeit Links |
| Motor B IN1 | GPIO 42 | Richtung Rechts |
| Motor B IN2 | GPIO 2 | Richtung Rechts |
| Motor B PWM | GPIO 1 | Geschwindigkeit Rechts |
| **Servos** | | |
| Pan Servo | GPIO 38 | Horizontale Kamerabewegung |
| Tilt Servo | GPIO 37 | Vertikale Kamerabewegung |
| **Ultraschall HC-SR04** | | |
| Trigger | GPIO 21 | Ultraschall Trigger |
| Echo | GPIO 47 | Ultraschall Echo |
| **Optional** | | |
| LED Matrix DIN | GPIO 35 | WS2812 Data |
| LED Matrix CLK | GPIO 36 | Clock |
| LED Matrix CS | GPIO 0 | Chip Select |
| RGB LEDs | GPIO 48 | WS2812 (⚠️ shared mit I2C!) |
## Verkabelungsdiagramm
```
Waveshare ESP32-S3-Touch-LCD-2
┌─────────────────────────────┐
│ │
[OV5640 Cam] ───┤ 24-Pin Camera Connector │
│ │
│ ┌─────────────────────┐ │
│ │ 2" LCD Display │ │
│ │ (ST7789 + Touch) │ │
│ └─────────────────────┘ │
│ │
│ GPIO 39 ──────────┐ │
│ GPIO 40 ──────────┤ │
│ GPIO 41 ──────────┤ │
│ GPIO 42 ──────────┼───────────> Motor Driver
│ GPIO 2 ──────────┤ (TB6612/L298N)
│ GPIO 1 ──────────┘ │
│ │
│ GPIO 38 ───────────────────────> Pan Servo
│ GPIO 37 ───────────────────────> Tilt Servo
│ │
│ GPIO 21 ───────────────────────> HC-SR04 Trigger
│ GPIO 47 ───────────────────────> HC-SR04 Echo
│ │
│ 5V ───────────────────────────> Servos/Sensoren VCC
│ GND ───────────────────────────> Common Ground
│ │
└─────────────────────────────┘
```
## Spannungsversorgung
- **ESP32-S3:** 5V via USB-C oder LiPo Batterieanschluss
- **Motoren:** Separate Stromversorgung empfohlen (Powerbank)
- **Servos:** 5V (können am ESP32 5V Pin angeschlossen werden)
- **HC-SR04:** 5V
- **OV5640:** 3.3V (vom ESP32 Board)
## Wichtige Hinweise
1. **GPIO 0** ist auch für Boot-Mode! Beim Flashen nicht verbinden.
2. **I2C Bus** wird von Touch und IMU geteilt - beide haben unterschiedliche Adressen.
3. **Kamera-Pins** müssen mit der tatsächlichen Waveshare-Pinbelegung verifiziert werden.
4. **Motor PWM** verwendet LEDC Channels 0 und 1.
5. **Display Backlight** verwendet LEDC Channel 2.