Giuseppe Parrello

 

Scheda di Sviluppo NXP PCA9685


Introduzione

Questa scheda di sviluppo, basata sul chipset NXP PCA9685, si può utilizzare per gestire dispositivi digitali (anche con controllo PWM), come ad esempio LED, ventole PWM e buzzer.  Questa scheda si può collegare soltanto tramite il protocollo I2C, non ha collegamenti di tipo USB, pertanto bisogna usarla con una scheda di sviluppo con interfaccia USB, ad esempio una scheda basata sul chipset FTDI FT232H. Per semplicità l'andremo a collegare al dispositivo FTDI FT232H, di cui esiste una pagina dedicata su questo sito - fare riferimento alla suddetta pagina per l'installazione.

 

Collegamento via I2C

Questa scheda di sviluppo deve essere collegata alla scheda di sviluppo FTDI FT232H tramite il protocollo I2C. I connettori di collegamento sono elencati qui di seguito:

Immagine Scheda FT232H Scheda PCA9685

Collegamento PCA9685 - FT232H

AD0 SCL
AD1 + AD2 SDA
+5V / +3.3V VCC
GND GND

Il connettore "V+" della scheda PCA9685 è opzionale, e serve per alimentare tutti i connettori rossi "V+" delle 16 porte di Input/Output. Un altro modo per alimentare i connettori rossi "V+" di queste 16 porte è quello di usare il grande connettore verde di alimentazione posto in alto sulla scheda PCA9685. La tensione di questi connettori "V+" non è gestita dalla scheda PCA9685, pertanto è possibile alimentare questi connettori rossi con tensioni anche più elevate di 5 Volt. Fare molta attenzione a non collegare il piedino "VCC" della scheda PCA9685 ad una tensione superiore a 5 Volt, per evitare di danneggiare l'intera scheda PCA9685 (il piedino "VCC" serve solo per alimentare i circuiti interni della scheda PCA9685, ma non serve per alimentare il blocco dei connettori di Input/Output).
Il connettore "OE" (Output Enable) della scheda PCA9685 è opzionale, e serve soltanto per attivare/disattivare tutti i piedini delle porte di Input/Output della scheda. Collegarlo fisicamente alla scheda FTDI FT232H è fattibile, ma è inutile, considerato che l'attivazione/disattivazione dei piedini può essere effettuata anche via software.
L'indirizzo esadecimale predefinito della scheda PCA9685 è "40", ma è possibile cambiarlo cortocircuitando, con una saldatura, i ponticelli A0-A5. Questi ponticelli vanno considerati come un numero binario, A0 è il bit 0, mentre A5 è il bit 5, il risultato di tali bit va sommato al numero esadecimale "40". Pertanto se si cortocircuita solo il ponticello A0, l'indirizzo I2C diventerà "41" ("hex 40" + "bin 00001" = "hex 41"), mentre se si cortocircuita solo il ponticello A5, l'indirizzo I2C diventerà "50" ("hex 40" + "bin 10000" = "hex 50").
Per ottenere l'indirizzo esadecimale di questa scheda, andare nel sito Internet di PyFTDI e scaricare il seguente script Python. Una volta scaricato, eseguirlo tramite l'interprete Python. L'output del suddetto script è il seguente:

admin@RT-AC86U:/# python3 i2cscan.py

   0 1 2 3 4 5 6 7 8 9 A B C D E F
0: W . . . . . . . . . . . . . . .
1: . . . . . . . . . . . . . . . .
2: . . . . . . . . . . . . . . . .
3: . . . . . . . . . . . . . . . .
4: W . . . . . . . . . . . . . . .
5: . . . . . . . . . . . . . . . .
6: . . . . . . . . . . . . . . . .
7: W . . . . . . . .

 

Librerie Python

Per gestire la scheda PCA9685, possiamo usare una delle seguenti librerie Python: