AW9523 16-bit I/O expander and LED driver con ESP32
Alimentazione 3.3-5 V
Bus I2C
Indirizzo I2C
0x58 / 0x59 / 0x5A / 0x5B
Pin e collegamento all’ESP32
| Pin | Ruolo | Pin ESP32 | Note |
|---|---|---|---|
| VIN | Alimentazione | 3V3 | 2.5 to 5.5 V |
| GND | Massa | GND | |
| SCL | Clock I2C (SCL) | D22 | |
| SDA | Dati I2C (SDA) | D21 | |
| INT | Interrupt | D35 | Interrupt output, optional |
| RST | Non collegato all’ESP32 | — | Reset, active LOW, pulled up. Leave unconnected |
| AD0 | Non collegato all’ESP32 | — | Address bit, default LOW |
| AD1 | Non collegato all’ESP32 | — | Address bit, default LOW |
| P0_0 | Non collegato all’ESP32 | — | Expander I/O: to your LEDs or buttons, not to the ESP32 |
| P0_1 | Non collegato all’ESP32 | — | |
| P0_2 | Non collegato all’ESP32 | — | |
| P0_3 | Non collegato all’ESP32 | — | |
| P0_4 | Non collegato all’ESP32 | — | |
| P0_5 | Non collegato all’ESP32 | — | |
| P0_6 | Non collegato all’ESP32 | — | |
| P0_7 | Non collegato all’ESP32 | — | |
| P1_0 | Non collegato all’ESP32 | — | |
| P1_1 | Non collegato all’ESP32 | — | |
| P1_2 | Non collegato all’ESP32 | — | |
| P1_3 | Non collegato all’ESP32 | — | |
| P1_4 | Non collegato all’ESP32 | — | |
| P1_5 | Non collegato all’ESP32 | — | |
| P1_6 | Non collegato all’ESP32 | — | |
| P1_7 | Non collegato all’ESP32 | — |
Collegamento consigliato per l’ESP32 DevKit a 30 pin, evitando i pin della flash, di sola lettura e di strapping. BoardPilot lo controlla mentre colleghi.
Verifica che sia il chip originale
Leggi il registro 0x10: un componente originale risponde 0x23. BoardPilot lo fa da solo in “Risolvi un problema”.
Codice di partenza (Arduino)
#include <Wire.h>
void setup() {
Serial.begin(115200);
Wire.begin(21, 22); // SDA = GPIO 21, SCL = GPIO 22
Wire.beginTransmission(0x58);
bool found = Wire.endTransmission() == 0;
Serial.println(found ? "AW9523 16-bit I/O expander and LED driver found at 0x58" : "Not found: check power, GND and SDA/SCL");
}
void loop() {}
Fonti
- Awinic AW9523B datasheet, Address 10110 AD1 AD0 (0x58 to 0x5B); ID register 0x10 reads 0x23; constant-current LED mode
- Adafruit AW9523 GPIO expander and LED driver guide, Pinouts. Check the silkscreen for the header order
Provalo in 3D in BoardPilot
Componenti simili
AT24C256 I2C EEPROM moduleDRV2605L haptic motor driver (I2C)MB85RC256V I2C FRAM breakout (32 KB)MCP23008 8-bit I/O expander (DIP-18)MCP23017 16-bit I/O expanderMCP4725 12-bit DAC breakout
Dati dei componenti: CC BY 4.0, riutilizzabili citando BoardPilot.