Podłączymy SSD1306 do I2C tak, aby działał razem z czujnikiem ciśnienia BMP180 na tych samych pinach.

Przewody

Jedną z zalet I2C jest duża liczba urządzeń, które można podłączyć do tych samych pinów. Łączymy tak:
-Oba czujniki trzeba podłączyć do zasilania (3,3V) i uziemienia.
-Teraz łączymy linię Clock wszystkich urządzeń razem szeregowo (Clock-Clock-Clock, Data-Data-Data).

Adresy urządzeń I2C

Każde urządzenie dostaje swój adres, jeśli nie ma konfliktu mogą działać na jednym I2C.
Adres sprawdzamy:

1
sudo i2cdetect -y 1

Wyświetli nam się mapa połączeń I2C dla magistrali. W moim przypadku BMP180 zajął port 77 (0x77), a wyświetlacz port 3c (0x3c).

Biblioteka SSD1306

Sprawdzi się bibilioteka i2c dla SSD1306. Pobieramy

1
2
3
4
5
git clone https://github.com/iliapenev/ssd1306_i2c

gcc demo.c ssd1306_i2c.c -lwiringPi -o demo

./demo

Działają teraz oba czujniki na jednej linii I2C.