117 lines
5.3 KiB
Markdown
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.
|