- Wymagane składniki
- Schemat obwodu
- Wykonanie PCB dla Raspberry Pi RGB LCD HAT przy użyciu EasyEDA
- Obliczanie i zamawianie próbek PCB online za pomocą EasyEDA
- Konfiguracja Raspberry Pi dla kapelusza LCD
- Kod Pythona dla Raspberry Pi LCD HAT
- Testowanie Raspberry Pi RGB LCD HAT
Nakładki Raspberry Pi są takie same jak nakładki dla Arduino, mogą pasować bezpośrednio na wierzch Raspberry Pi i nie wymagają żadnych dalszych połączeń. Tutaj zamierzamy zbudować kapelusz RGB LCD dla Raspberry Pi na PCB. Ta czapka LCD składa się z modułu LCD 16x2, pięciu przełączników i trzech diod LED NeoPixel. Tutaj przełączniki służą do zmiany tekstu na wyświetlaczu, a diody NeoPixel służą jako wskaźniki. Te przełączniki i neo piksele mogą być zaprogramowane zgodnie z wymaganiami, na przykład przełączniki mogą być używane do wyświetlania wartości czujników, takich jak temperatura, wilgotność itp., A neo piksele mogą być używane do wyświetlania stanu, takiego jak czerwony do wskazywania błędu i zielony podczas odbierania niektórych danych.
Tutaj użyjemy oprogramowania online EasyEDA do zaprojektowania obwodu i płytki drukowanej dla tego Pi HAT oraz JLCPCB do zamówienia płytek drukowanych.
Wymagane składniki
- Raspberry Pi 4
- Moduł wyświetlacza LCD 16 * 2
- Diody neo-pikselowe (3)
- Kondensatory
- Przełączniki (5)
Schemat obwodu
Pełny schemat obwodu dla Raspberry Pi RGB LCD HAT pokazano poniżej. Schemat został narysowany za pomocą EasyEDA. Jak widać, łączymy moduł LCD 16x2, 3 diody NeoPixel i 5 przełączników z Raspberry Pi. Złącze służy również do włączania lub wyłączania diod NeoPixel.
Wykonanie PCB dla Raspberry Pi RGB LCD HAT przy użyciu EasyEDA
Podczas projektowania PCB dla Raspberry Pi RGB LCD HAT, najtrudniejszą częścią było uzyskanie odpowiedniego śladu. Jeśli wymiary są nieprawidłowe, komponenty nie zmieszczą się na PCB. Na szczęście EasyEDA zapewnia ślady dla prawie wszystkich komponentów na rynku. Dzieje się tak ze względu na ogromną społeczność użytkowników, w której użytkownicy tworzą ślady i udostępniają je publicznie do wykorzystania w swoich projektach.
EasyEDA to internetowe narzędzie EDA, z którego korzystałem wcześniej wiele razy i okazało się, że jest bardzo wygodne w użyciu, ponieważ ma dobrą kolekcję śladów i jest open-source. Po zaprojektowaniu PCB możemy zamówić próbki PCB w ich tanim serwisie produkcji PCB - JLCPCB. Oferują również usługi zaopatrzenia w komponenty, w przypadku gdy mają duży zapas komponentów elektronicznych, a użytkownicy mogą zamówić wymagane komponenty wraz z zamówieniem PCB.
Projektując obwody i płytki drukowane, możesz również upublicznić swój obwód i projekty PCB, aby inni użytkownicy mogli je kopiować lub edytować i mogli czerpać korzyści z Twojej pracy, upubliczniliśmy również ten projekt Pi RGB LCD Hat, sprawdź poniżej połączyć:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Możesz wyświetlić dowolną warstwę (górną, dolną, jedwabną wierzchnią, jedwabną, itp.) PCB, wybierając warstwę z okna „Warstwy”. Oprócz tego zapewniają również widok modelu 3D PCB, pokazujący, jak wyglądałby po wyprodukowaniu. Migawka górnej i dolnej warstwy LCD HAT wyglądałaby mniej więcej tak:
Obliczanie i zamawianie próbek PCB online za pomocą EasyEDA
Po ukończeniu projektowania tego PI RGB LCD HAT można zamówić płytkę drukowaną za pośrednictwem JLCPCB.com. Aby zamówić PCB w JLCPCB, potrzebujesz Gerber File. Możesz pobrać plik Gerber z linku poniżej:
- Plik Gerber dla kapelusza LCD Raspberry Pi RGB
Aby wygenerować pliki Gerber z PCB, po prostu kliknij przycisk Generuj plik produkcyjny na stronie edytora EasyEDA, a następnie pobierz plik Gerber stamtąd lub kliknij Zamów w JLCPCB, jak pokazano na poniższym obrazku. Spowoduje to przekierowanie do JLCPCB.com, gdzie możesz wybrać liczbę PCB do zamówienia, liczbę potrzebnych warstw miedzi, grubość PCB, wagę miedzi, kolor PCB i inne parametry PCB, takie jak migawka pokazana poniżej:
Po kliknięciu przycisku „ Zamów w JLCPCB” nastąpi przejście do strony internetowej JLCPCB, gdzie można zamówić PCB w bardzo niskiej cenie, czyli 2 dolary. Ich czas budowy jest również znacznie krótszy, czyli 48 godzin z dostawą DHL w ciągu 3-5 dni. PCB otrzymasz w ciągu tygodnia od złożenia zamówienia.
Po zamówieniu PCB możesz sprawdzić postęp produkcji swojej PCB wraz z datą i godziną. Możesz to sprawdzić, przechodząc na stronę Konto i klikając łącze „Postęp produkcji” pod płytką drukowaną, jak pokazano na poniższym obrazku.
Po kilku dniach zamawiania PCB otrzymałem próbki PCB w doskonałym opakowaniu, co widać na poniższych zdjęciach.
Po upewnieniu się, że ślady i ślady są prawidłowe. Przystąpiłem do montażu PCB. Całkowicie wlutowana płytka wygląda jak poniżej:
Konfiguracja Raspberry Pi dla kapelusza LCD
Przed rozpoczęciem programowania Raspberry Pi najpierw zaktualizuj Raspberry Pi i zainstaluj kilka niezbędnych bibliotek. Uruchom poniższe polecenia, aby zaktualizować i zaktualizować Raspberry Pi:
sudo apt-get update sudo apt-get upgrade
Teraz zainstaluj bibliotekę Adafruit_Blinka dla diod NeoPixel. Biblioteka Adafruit_Blinka zapewnia obsługę CircuitPython w Pythonie.
sudo pip3 zainstaluj adafruit-circuitpython-neopixel
Następnie zainstaluj bibliotekę Adafruit_CharLCD dla modułu LCD. Ta biblioteka jest przeznaczona dla tablic LCD Adafruit, ale działa również z tablicami LCD innych marek.
sudo pip3 zainstaluj Adafruit-CharLCD
Kod Pythona dla Raspberry Pi LCD HAT
Tutaj demonstrujemy kapelusz RGB LCD dla Raspberry Pi, używając kilku przełączników, aby pokazać określone wartości na module LCD i diody LED RGB jako wskaźniki. Musimy więc zaprogramować Raspberry Pi w taki sposób, aby po naciśnięciu przełącznika pokazywał niektóre wartości czujników lub inne wartości.
Kompletny kod Pythona znajduje się na końcu strony. Tutaj wyjaśniamy krok po kroku kod.
Uruchom kod, importując wszystkie wymagane biblioteki.
import RPi.GPIO jako GPIO import neopixel import czas importu tablicy import Adafruit_CharLCD as LCD
Następnie zdefiniuj wszystkie piny GPIO, do których podłączony jest wyświetlacz LCD i inne przełączniki.
lcd_rs = 7 lcd_en = 8 lcd_d4 = 25 lcd_d5 = 24 lcd_d6 = 23 lcd_d7 = 18 lcd_backlight = 2 sw0 = 5 sw2 = 13 sw3 = 19 sw4 = 26
Teraz zdefiniuj tryb GPIO za pomocą trybu BCM. Możesz również zmienić go na BOARD. Następnie zdefiniuj wszystkie piny przełącznika jako wejścia.
GPIO.setmode (GPIO.BCM) # Użyj numerów BCM GPIO GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.W)
Następnie zdefiniuj pin GPIO, do którego podłączone są diody Neo Pixel. Następnie określ liczbę diod LED Neo Pixel. Tutaj zastosowano trzy diody LED, możesz je zmienić według swoich potrzeb.
pixel_pin = board.D21 num_pixels = 3
Teraz w funkcji lcddisplay () przypisz konkretne zadanie do każdego przełącznika. Na przykład, w tym przypadku po naciśnięciu pierwszego przełącznika Raspberry Pi powinno wyświetlić „UP” na wyświetlaczu LCD, a po naciśnięciu drugiego przełącznika powinno wyświetlić „DOWN” na wyświetlaczu LCD i tak dalej dla pozostałych dwóch przycisków.
Zamiast drukować coś na wyświetlaczu LCD, możesz użyć tych przełączników do wykonania innego zadania. Na przykład, możesz użyć przełącznika 1 do wyświetlania wartości temperatury, przełącznika 2 do wyświetlania wartości wilgotności, a przełącznika 3 do wyświetlania wartości ciśnienia itp.
def lcddisplay (): if (GPIO.input (sw0) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('UP') if (GPIO.input (sw2) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('DOWN') if (GPIO.input (sw3) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('LEFT') if (GPIO.input (sw4) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('RIGHT')
Teraz wewnątrz podczas prawdziwej pętli pixels.fill funkcja służy do zapalać neo pikseli w różnych kolorach. Tak więc Pi jest zaprogramowane tak, aby oświetlało neo piksele kolorem czerwonym, zielonym i niebieskim na jedną sekundę.
Możesz również użyć tych Neo Pixels jako wskaźników. Na przykład możesz zapalić jeden Neo Pixel kolorem czerwonym, aby wskazać, że Pi jest podłączony do źródła zasilania lub możesz użyć innych diod LED, aby wskazać, że Pi odbiera lub wysyła dane itp.
pixels.fill ((255, 0, 0)) pixels.show () time.sleep (1) pixels.fill ((0, 255, 0)) pixels.show () time.sleep (1) pixels.fill ((0, 0, 255)) pixels.show () time.sleep (1) rainbow_cycle (0,001)
Testowanie Raspberry Pi RGB LCD HAT
Po złożeniu wyświetlacza LCD i połączeniu go z Raspberry Pi, wszyscy jesteśmy gotowi do korzystania z tego PI RGB LCD HAT. W tym celu uruchom kod Pythona za pomocą poniższego polecenia.
python code_filename.py
Teraz naciśnij przełączniki. Po naciśnięciu przełącznika SW0 powinien wydrukować „UP” na wyświetlaczu LCD. W przypadku przełącznika SW2 powinien wydrukować „Down” i to samo dla pozostałych przełączników.
Kompletny wideo roboczego wraz z kodem Pythona znajduje się poniżej.