Spisu treści:

Wysokościomierz Arduino przy użyciu BMP i SPI lub I2C OLED: 5 kroków
Wysokościomierz Arduino przy użyciu BMP i SPI lub I2C OLED: 5 kroków

Wideo: Wysokościomierz Arduino przy użyciu BMP i SPI lub I2C OLED: 5 kroków

Wideo: Wysokościomierz Arduino przy użyciu BMP i SPI lub I2C OLED: 5 kroków
Wideo: 4. Wysokościomierz barometryczny. 2024, Lipiec
Anonim
Wysokościomierz Arduino wykorzystujący BMP i SPI lub I2C OLED
Wysokościomierz Arduino wykorzystujący BMP i SPI lub I2C OLED

Przez długi czas szukałem wysokościomierza i temperatury za pomocą jednego czujnika i wyświetlałem go na OLED opartym na SPI. Ponieważ nie mogłem znaleźć niczego precyzyjnego, pomyślałem, że zbuduję własną przy użyciu biblioteki U8glib. Na youtube jest jeden samouczek, ale naprawdę nienawidzę samouczków wideo, wolę teksty z prostymi instrukcjami i bez komercyjnych linków.

Krok 1: Najpierw najważniejsze rzeczy

Przed wykonaniem tego projektu gorąco polecam ukończenie tutoriala SSD1306/OLED dla I2C lub SPI (w zależności od tego, z którego chcesz skorzystać). Zapewni to, że wiesz, jak podłączyć/okablować wyświetlacz, a także, że wyświetlacz działa. Wykonaj samouczek adafruit i/lub samouczek z przykładami u8glib. Będziemy tutaj używać u8glib, więc jest to zalecane dla zaawansowanych użytkowników.

Krok 2: Niezbędny sprzęt

Niezbędny sprzęt
Niezbędny sprzęt

1. Arduino UNO lub Nano lub podobne.

2. Czujnik ciśnienia barometrycznego BMP085 lub BMP180.

3. Magistrala SSD1306 I2C lub SPI (konfigurowalna na szkicu).

4. Przewody połączeniowe i płytka stykowa lub płytka vero do połączeń.

Krok 3: Biblioteki Arduino IDE do kompilacji

1. Drut.h

2. Adafruit_BMP085.h (działa również dla BMP180)

3. U8glib.h

Krok 4: Połączenia

Połączenia są takie same dla wyświetlacza OLED I2C i SPI. Tylko połączenie z wyświetlaczem będzie inne.

1. BMP do Arduino:

VCC > 3,3 V

GND > Uziemienie

SCL > A5/SCL

SDA > A4/SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13

2. SPI OLED do Arduino

VDD > 5V

GND > Uziemienie

SCK/D0 > D12 (cyfrowa 12)

SDA/D1/Mosi > D11

CS/Chip Select > D10

A0/DC > D9

RES/Reset > D13

(Jeśli twój SPI OLED nie ma pinu Reset, po prostu usuń reset i zresetuj pin z wyświetlacza szkicu, wybierz parametry)

3. I2C OLED

Podobnie jak okablowanie BMP, używają tych samych portów i typu magistrali.

Krok 5: Przesyłanie szkicu

Całkiem proste. Wystarczy pobrać plik zip i otworzyć w Arduino IDE. Wszystko jest skonfigurowane w szkicu. Użytkownicy SPI OLED mogą po prostu przesłać szkic bez edycji i będzie działać. W przypadku użytkowników I2C OLED wystarczy odkomentować nazwę wyświetlania/opcję w opcji Display Select szkicu, a także skomentować i zamknąć model/parametr wyświetlania SPI, aby wyłączyć SPI OLED.

Parametr wyświetlania SPI:

//U8GLIB_SSD1306_128X64 u8g(12, 11, 10, 9, 13); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13

Parametr wyświetlacza I2C:

//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Wyświetlacz, który nie wysyła AC

Aby włączyć parametr, po prostu usuń znak // na początku, aby odkomentować go. Upewnij się, że wybrany/odkomentowany jest tylko jeden ekran.

Poradnik:

1. Czujniki BMP są wrażliwe na wiatr, ciepło i światło. Upewnij się, że ją zakryjesz, najlepsze efekty osiągniesz poprzez zamocowanie na niej pianki z odpowiednią wentylacją. Rzeczy takie jak kaczka też będą działać, ale nie będą precyzyjne.

2. BMP zwykle używa 3,3 V, chyba że producent mówi inaczej. OLED może działać od 3,3 V-5,5 V (zalecane 4-5 V)

3. Zdecydowanie zaleca się ustawienie wszystkiego na płytce prototypowej.

4. Jeśli jesteś nowicjuszem w OLED, spróbuj najpierw prostych rzeczy, takich jak tekst i fałszywe bufory, aby upewnić się, że twój wyświetlacz działa dobrze, a twoje połączenia są dokładne.

Zalecana: