TCA9548A I2C Multiplexer - IT
TCA9548A I2C Multiplexer - IT
Grazie per aver acquistato il nostro Modulo Multiplexer TCA9548A I2C AZ-
Delivery. Nelle pagine seguenti, ti illustreremo come utilizzare e configurare
questo pratico dispositivo.
Buon divertimento!
Indice dei Contenuti
Introduzione...................................................................................................3
Specifiche......................................................................................................4
La piedinatura................................................................................................7
Schema di collegamento...............................................................................8
Lo schema di collegamento è mostrato nell'immagine seguente:.................8
Come configurare l'Arduino IDE....................................................................9
Come configurare il Raspberry Pi e il Python..............................................13
Collegamento dei moduli con Atmega328p.................................................14
Esempi di sketch......................................................................................16
Collegamento dei moduli con Raspberry Pi................................................18
Librerie e strumenti per Python................................................................20
Abilitazione dell'interfaccia I2C....................................................................21
Script Python...........................................................................................23
-2-
Introduzione
-3-
Specifiche
-4-
Caratteristiche
-5-
Cambiare l'Indirizzo I2C del TCA9548A
-6-
La piedinatura
-7-
Schema di collegamento
-8-
Come configurare l'Arduino IDE
Se l'Arduino IDE non è installato, seguire il link e scaricare il file di
Per gli utenti Windows, fare doppio clic sul file .exe scaricato e seguire le
istruzioni nella finestra di installazione.
-9-
Per gli utenti Linux, scaricare un file con estensione .tar.xz, che è
necessario estrarre. Quando lo si estrae, andare nella directory estratta, e
aprire il terminale in quella directory. È necessario eseguire due
script .sh, il primo chiamato arduino-linux-setup.sh e il secondo
chiamato install.sh.
Per eseguire lo script, aprire il terminale nella directory in cui è stato salvato
lo script ed eseguire il seguente comando:
sh arduino-linux-setup.sh user_name
user_name - è il nome di un superutente nel sistema operativo Linux..
All'avvio del comando deve essere inserita una password per il superutente.
Aspettate qualche minuto che lo script completi tutto.
- 10 -
Quasi tutti i sistemi operativi sono dotati di un editor di testo preinstallato
(ad esempio Windows viene fornito con Notepad, Linux Ubuntu viene
fornito con Gedit, Linux Raspbian viene fornito con Leafpad, ecc.).
Tutti questi editor di testo sono perfettamente adatti allo scopo dell'eBook.
- 11 -
porta è visibile nel menu a tendina dell'immagine precedente .
- 12 -
Se si utilizza l'Arduino IDE su Windows, i nomi delle porte sono i seguenti:
Per gli utenti Linux, il nome della porta è /dev/ttyUSBx per esempio,
dove x rappresenta un numero intero compreso tra 0 e 9..
- 13 -
Come configurare il Raspberry Pi e il Python
Per il Raspberry Pi, prima deve essere installato il sistema operativo, tutto
deve essere impostato in modo da poter essere utilizzato in modalità
Headless. La modalità Headless consente la connessione remota al
Raspberry Pi, senza la necessità di Atmega328p schermo di un PC, mouse
o tastiera. Le uniche cose di cui avete bisogno per questa modalità sono il
Raspberry Pi, l'alimentazione e la connessione internet. Tutto questo è
spiegato in dettaglio nell'eBook gratuito:
Raspberry Pi Quick Startup Guide
- 14 -
Collegamento dei moduli con Atmega328p
- 15 -
Pin BME280 Pin TCA9548A Colore filo
VIN 5V (Mc 5V) Filo rosso
GND GND (Mc GND) Filo nero
SDA SD0 Filo blu
SCL SC0 Filo verde
Pin TCA9548A Pin Mc Colore filo
VIN 5V Filo rosso
GND GND Filo nero
SDA A4 Filo blu
SCL A5 Filo verde
Pin OLED Pin TCA9548A Colore filo
SDA SD1 (CH1) Filo blu
SCL SC1 (CH1) Filo verde
VCC 5V (Pin Mc) Filo rosso
GND GND (Pin Mc) Filo nero
- 16 -
Esempi di sketch
#include <U8g2lib.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
Adafruit_BME280 bme;
void u8g2_prepare() {
u8g2.setFont(u8g2_font_6x10_tf);
u8g2.setFontRefHeightExtendedText();
u8g2.setDrawColor(1);
u8g2.setFontPosTop();
u8g2.setFontDirection(0);
}
void setup() {
Wire.begin();
Serial.begin (9600);
TCA9548A(0);
bool communication = bme.begin(0x76);
TCA9548A(1);
u8g2.begin();
u8g2_prepare();
- 17 -
}
void loop(void) {
TCA9548A(0);
float temperature = bme.readTemperature();
float pressure = bme.readPressure()/100;
float humidity = bme.readHumidity();
TCA9548A(1);
u8g2.clearBuffer();
u8g2_prepare();
u8g2.setFont(u8g2_font_6x10_tf);
u8g2.drawStr(0, 0, "Temperature: ");
u8g2.setCursor(75, 0);
u8g2.print(temperature);
u8g2.println();
u8g2.drawStr(0, 10, "Pressure: ");
u8g2.setCursor(75, 10);
u8g2.print(pressure);
u8g2.println();
u8g2.drawStr(0, 20, "Humidity: ");
u8g2.setCursor(75, 20);
u8g2.print(humidity);
u8g2.println();
u8g2.sendBuffer();
delay(100);
}
- 18 -
Collegamento dei moduli con Raspberry Pi
- 19 -
Pin TCA9548A Pin Raspberry Pi Pin fisico Colore filo
VIN 3.3V 1 Filo rosso
GND GND 14 Filo nero
SDA GPIO2 3 Filo verde
SCL GPIO3 5 Filo blu
A0, A1, A2 GND 14 Filo nero
BME280(1) PIN Pin TCA9548A Pin Raspberry Pi Colore filo
SCL SC0 Filo blu
SDA SD0 Filo verde
VIN VIN 3.3V (PIN1) Filo rosso
GND GND GND (PIN14) Filo nero
BME280(2) PIN Pin TCA9548A Pin Raspberry Pi Colore filo
SCL SC1 Filo blu
SDA SD1 Filo verde
VIN VIN 3.3V (PIN1) Filo rosso
GND GND GND (PIN14) Filo nero
- 20 -
Librerie e strumenti per Python
- 21 -
Abilitazione dell'interfaccia I2C
Per poter utilizzare il modulo con Raspberry Pi, l'interfaccia I2C deve essere
abilitata. Aprite il seguente menu:
Menu Applicazione > Preferiti > Configurazione Raspberry Pi
Nella nuova finestra, sotto la scheda Interfacce, abilitare il radio button I2C,
come nell'immagine seguente:
- 22 -
Prima di utilizzare qualsiasi dispositivo collegato all'interfaccia I2C,
l'indirizzo I2C deve essere rilevato prima. Per rilevare l'indirizzo I2C della
schermata, nel terminale deve essere eseguito il seguente comando:
i2cdetect -y 1
Dove 0x70 è l'indirizzo I2C del modulo multiplexer. Altri indirizzi I2C
possono avere valori diversi a seconda di dove sono collegati altri dispositivi
e a quale canale.
- 23 -
Script Python
class multiplex:
if (channel == 0):
action = 0x01
elif (channel == 1):
action = 0x02
elif (channel == 2):
action = 0x04
elif (channel == 3):
action = 0x08
elif (channel == 4):
action = 0x10
elif (channel == 5):
action = 0x20
elif (channel == 6):
action = 0x40
elif (channel == 7):
action = 0x80
else:
action = 0x00
self.bus.write_byte_data(address, 0x04, action)
- 24 -
def readdata():
bme280 = BME280(i2c_dev=smbus.SMBus(1))
print("readdata")
temperature = bme280.get_temperature()
pressure = bme280.get_pressure()
humidity = bme280.get_humidity()
time.sleep(2)
temperature = bme280.get_temperature()
pressure = bme280.get_pressure()
humidity = bme280.get_humidity()
print("Temperature: ",bme280.get_temperature())
print("Pressure: ",bme280.get_pressure())
print("Humidity: ",bme280.get_humidity())
return(temperature, pressure, humidity)
if __name__ == '__main__':
bus = 1
address = 0x70 # A0 to A2 NC or GND, change as required
plexer = multiplex(bus)
while True:
plexer.channel(address, 0)
print(readdata())
plexer.channel(address, 2)
print(readdata())
- 25 -
Salvare lo script con il nome tcamultiplex.py. Per eseguire lo script,
aprire il terminale nella directory in cui è stato salvato lo script ed eseguire il
seguente comando: python3 tcamultiplex.py
- 26 -
E ora è tempo di imparare e di creare dei Progetti da solo. Lo puoi fare con
l'aiuto di molti script di esempio e altri tutorial, che puoi trovare in internet.
https://az-delivery.de
Buon divertimento!
Impressum
https://az-delivery.de/pages/about-us
- 27 -