Sei qui

In questo breve articolo vedremo come è possibile pilotare un display da 16X2  ] caratteri attraverso la porta i2c bus del nostro Raspberry Pi  ]

L’utilizzo di questo tipo di bus ci permette di controllare molteplici periferiche, anche del medesimo tipo (più display o più sensori di movimento) utilizzando un numero ridotto di pin (SLA e SLD), vediamo cosa è necessario fare.

Iniziamo con le connessioni elettriche secondo lo schema riportato di seguito:

Una volta connessa la periferica dalla command line di Rasprerry digitiamo

sudo raspi-config

e selezioniamo: Interfacing Options -> Select

P5 I2C-> Select

Selezionare <Si>

Selezionare <OK>

ora selezioniamo <Finish>

dopo di che riavviamo il Raspberry Pi  ]

sudo reboot

Al riavvio andiamo ad inserire in /etc/modules le stringhe necessarie per caricare il moduli di gestione del bus, digitiamo quindi:

sudo nano /etc/modules 

ed inseriamo, se non sono già presenti nel file, le righe 

i2c-bcm2708

i2c-dev

A questo punto possiamo procedere con l’installazione delle librerie utili alla gestione del bus

sudo apt-get update

sudo apt-get install python-smbus i2c-tools -y

sudo reboot

 Al riavvio controlliamo che i moduli siano stati caricati correttamente dal sistema operativo, digitiamo:

lsmod | grep i2c_

Ed il risultato dovrebbe essere qualcosa di simile

i2c-bcm2708

i2c-dev

se è presente i2c-bcm2708 significa che il modulo è stato caricato correttamente e quindi possiamo passare ad individuare l’indirizzo della la periferica che vogliamo controllare. A seconda del modello di Raspberry  ] digitiamo

sudo i2cdetect -y 1


o


sudo i2cdetect -y 0


 

per ottenere un output simile

 

0 1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

00: — — — — — — — — — — — — —

10: — — — — — — — — — — — — — — — —

20: — — — — — — — — — — — — — — — —

30: — — — — — — — — — — — — — — — 3f

40: — — — — — — — — — — — — — — — —

50: — — — — — — — — — — — — — — — —

60: — — — — — — — — — — — — — — — —

70: — — — — — — — —

 se non sono presenti numeri tra le righe ma sono presenti solo trattini “_ _” significa probabilmente che la periferica non è collegata correttamente o comunque non è raggiungibile tramite il bus se invece si vede uno o più numeri esadecimale ciò significa che quelli sono gli indirizzi di memoria da inserire negli script come indirizzo di memoria delle periferiche. Nel nostro caso 3f è l’indirizzo del display che intendiamo controllare.

Dal terminale digitiamo

wget https://www.mynetbrick.com/risorse/i2c_display_drive.py

sudo python i2c_display_drive.py

Se non sono stati commessi errori il tuo diplai dovrebbe mostrare il messaggio

  Hello World

 -***  **  ***-

 Tutorial by

mynetbrick.com


Se il tuo Raspberry Pi  ] non mostra alcun errore di runtime, ma l'LCD non visualizza ancora alcun messaggio, è probabbile che debba essere regolata la vite di contrasto sul retro del display LCD   ] , ruotala fino a far apparire il messaggio su display.

.

 

Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Read more
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Accept
Decline
Google Analytics
Accept
Decline
Unknown
Unknown
Accept
Decline
Advertisement
If you accept, the ads on the page will be adapted to your preferences.
Google Ad
Accept
Decline
Save