Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W tej instrukcji pokażę, jak zbudować światłomierz z dużym wyświetlaczem LCD Nokia 5110 za pomocą Arduino.
Budowanie światłomierza to wspaniałe doświadczenie edukacyjne. Kiedy skończysz budować ten projekt, będziesz lepiej rozumieć, jak działają światłomierze i zobaczysz w akcji, jak potężna może być platforma Arduino. Mając ten projekt jako bazę i zdobyte doświadczenie, będziesz mógł w przyszłości z łatwością budować bardziej złożone projekty. Możesz użyć tego projektu do monitorowania warunków oświetleniowych w swoim środowisku pracy, swoich roślin i tak dalej. Bez dalszej zwłoki zaczynajmy!
Krok 1: Zdobądź wszystkie części
Części potrzebne do zbudowania tego projektu to:
- Arduino Uno ▶
- BH1750 ▶
- Nokia 5110 LCD ▶
- Mała tablica chlebowa ▶
- Przewody ▶
Koszt projektu to około 12 USD.
Krok 2: Czujnik światła BH1750
Czujnik natężenia światła BH1750 to świetny i bardzo łatwy w użyciu czujnik. Ta tabliczka zaciskowa ma wbudowany 16-bitowy konwerter AD, który może bezpośrednio wyprowadzać sygnał cyfrowy, nie ma potrzeby wykonywania skomplikowanych obliczeń.
Ta płyta jest lepsza niż LDR, która wysyła tylko napięcie. Dzięki czujnikowi światła BH1750 natężenie światła może być mierzone bezpośrednio za pomocą luksomierza, bez konieczności wykonywania obliczeń. Dane wysyłane przez ten czujnik są bezpośrednio wyprowadzane w luksach (Lx).
Czujnik wykorzystuje interfejs I2C, dzięki czemu jest bardzo łatwy w obsłudze z Arduino. Wystarczy podłączyć 2 przewody.
Również cena czujnika jest bardzo niska, wynosi około 2$.
Możesz go pobrać tutaj: ▶
Krok 3: Wyświetlacz LCD Nokia 5110
Nokia 5110 to mój ulubiony wyświetlacz dla Arduino Projects.
Nokia 5110 to podstawowy graficzny ekran LCD, który pierwotnie miał służyć jako ekran telefonu komórkowego. Wykorzystuje kontroler PCD8544, który jest kontrolerem/sterownikiem LCD CMOS o niskiej mocy. Z tego powodu ten wyświetlacz ma imponujący pobór mocy. Używa tylko 0,4 mA, gdy jest włączony, ale podświetlenie jest wyłączone. W trybie uśpienia zużywa mniej niż 0,06 mA! To jeden z powodów, dla których ten wyświetlacz jest moim ulubionym. PCD8544 łączy się z mikrokontrolerami poprzez interfejs magistrali szeregowej. Dzięki temu wyświetlacz jest bardzo łatwy w obsłudze z Arduino.
Wystarczy podłączyć 8 przewodów i skorzystać z biblioteki:
Ta imponująca biblioteka została opracowana przez Henninga Karlsena, który włożył ogromny wysiłek w pomoc społeczności Arduino w rozwoju swoich bibliotek.
Przygotowałem szczegółowy tutorial jak używać wyświetlacza LCD Nokia 5110 z Arduino. Załączam ten film w tej instrukcji, dostarczy on przydatnych informacji na temat wyświetlacza, więc zachęcam do uważnego obejrzenia go.
Koszt wyświetlacza to około 4 USD.
Możesz go pobrać tutaj: ▶
Krok 4: Budowanie światłomierza
Połączmy teraz wszystkie części.
Najpierw podłączamy moduł czujnika światła BH1750. Ma tylko 5 pinów, ale połączymy 4 z nich.
Podłączanie czujnika napięcia
Pin Vcc idzie do 5V Arduino
Pin GND idzie do GND Arduino
SCL Pin idzie do analogowego pinu 5 Arduino Uno
SDA Pin idzie do analogowego Pin 4 Arduino Uno
Pin adresu pozostaje niepodłączony
Kolejnym krokiem jest podłączenie wyświetlacza LCD Nokia 5110.
Podłączanie wyświetlacza LCD Nokia 5110
RST idzie do cyfrowego pinu 12 Arduino
CE idzie na cyfrowy pin 11 Arduino
DC idzie do cyfrowego styku 10 Arduino
DIN idzie do cyfrowego pinu 9 Arduino
CLK przechodzi do cyfrowego pinu 8 Arduino
VCC idzie do Arduino 3.3V LIGHT idzie do Arduino GND (podświetlenie włączone)
GND idzie do Arduino GND
Teraz, gdy już połączyliśmy wszystkie części, wystarczy wczytać kod. Ekran powitalny jest wyświetlany przez kilka sekund, a następnie możemy rozpocząć pomiar natężenia światła w czasie rzeczywistym!
Krok 5: Kodeks Projektu
Kod projektu składa się z 3 plików.
plusk.cui.c
ui.c
BH1750LightMeter.ino
Kod - obraz ekranu powitalnego
W pierwszym pliku splash.c znajdują się wartości binarne ekranu powitalnego wyświetlanego na wyświetlaczu LCD telefonu Nokia 5110 podczas uruchamiania projektu. Proszę obejrzeć załączony film, który przygotowałem, aby zobaczyć, jak załadować niestandardową grafikę do projektu Arduino.
Kod ui.c - Interfejs użytkownika
W pliku ui.c znajdują się wartości binarne interfejsu użytkownika, które pojawiają się po wyświetleniu przez projekt ekranu powitalnego. Proszę obejrzeć załączony film, który przygotowałem, aby zobaczyć, jak załadować niestandardową grafikę do projektu Arduino.
Kod UVMeter.ino - Program główny
Główny kod projektu jest bardzo prosty. Musimy dołączyć bibliotekę Nokia 5110. Następnie deklarujemy kilka zmiennych. Inicjujemy wyświetlacz i przez 3 sekundy wyświetlamy ekran powitalny. Następnie drukujemy raz ikonę interfejsu użytkownika i odczytujemy wartość z czujnika 150 milisekund. Cała magia dzieje się w funkcji pętli:
void loop() { int stringLength=0; uint16_t lux = lightSensor.readLightLevel(); // Odczytaj światło czujnika = String(lux); //Konwersja na String stringLength = light.length(); //Musimy znać długość ciągu lcd.clrScr(); lcd.drawBitmap(0, 0, ui, 84, 48); printLight(stringLength); //Wydrukuj ciąg na wyświetlaczu lcd.update(); opóźnienie(150); }
Dołączyłem kod do tego Instructable. W celu pobrania najnowszej wersji kodu można odwiedzić stronę projektu:
Krok 6: Testowanie projektu
Teraz, gdy kod jest załadowany, możemy przetestować światłomierz w pomieszczeniu i na zewnątrz. Testuję go w słoneczny wiosenny dzień tutaj w Grecji. Wynik jest fantastyczny. Dzięki łatwemu do zbudowania projektowi możemy dokładnie zmierzyć natężenie światła.
Jak widać na załączonych zdjęciach, światłomierz działa bez zarzutu. Ten projekt jest świetną demonstracją tego, do czego zdolny jest sprzęt i oprogramowanie typu open source. W ciągu kilku minut można zbudować tak imponujący projekt! Ten projekt jest idealny dla początkujących i jak powiedziałem na początku, ten projekt jest wspaniałym doświadczeniem edukacyjnym. Bardzo chciałbym poznać Twoją opinię na temat tego projektu. Czy uważasz to za przydatne? Czy są jakieś ulepszenia, które można wprowadzić do tego projektu? Prosimy o zamieszczanie swoich komentarzy lub pomysłów w sekcji komentarzy poniżej!