- Gerekli Bileşenler
- Devre şeması
- EasyEDA kullanarak Raspberry Pi RGB LCD HAT için PCB üretme
- EasyEDA kullanarak çevrimiçi PCB Örneklerini Hesaplama ve Sipariş Etme
- LCD Şapka için Raspberry Pi Kurulumu
- Raspberry Pi LCD HAT için Python Kodu
- Raspberry Pi RGB LCD HAT'ı Test Etme
Raspberry Pi Şapkaları, Arduino için kalkanlarla aynıdır, doğrudan Raspberry Pi'nin üstüne sığabilirler ve başka bağlantı gerektirmezler. Burada, PCB üzerinde Raspberry Pi için bir RGB LCD Şapka oluşturacağız. Bu LCD Şapka, 16x2 LCD modül, beş anahtar ve üç NeoPixel LED'den oluşur. Burada ekran üzerindeki metni değiştirmek için anahtarlar kullanılır ve gösterge olarak NeoPixel LED'ler kullanılır. Bu anahtarlar ve Neo Pikseller, sıcaklık, nem vb. Gibi sensör değerlerini görüntülemek için kullanılabilen anahtarlar gibi gereksinimlere göre programlanabilir ve Neo pikseller bazı verileri alırken bazı hataları ve yeşil olduğunu göstermek için Kırmızı gibi durumları görüntülemek için kullanılabilir.
Burada, bu Pi HAT için devre ve PCB'yi tasarlamak için EasyEDA çevrimiçi yazılımını ve PCB'leri sipariş etmek için JLCPCB'yi kullanacağız.
Gerekli Bileşenler
- Ahududu Pi 4
- 16 * 2 LCD Ekran Modülü
- Neo piksel LED'ler (3)
- Kapasitörler
- Anahtarlar (5)
Devre şeması
Raspberry Pi RGB LCD HAT için tam devre şeması aşağıda gösterilmiştir. Şematik EasyEDA kullanılarak çizildi. Gördüğünüz gibi 16x2 LCD modül, 3 NeoPixel LED ve 5 Switch'i Raspberry Pi ile arayüz oluşturuyoruz. NeoPixel LED'leri etkinleştirmek veya devre dışı bırakmak için bir konektör de kullanılır.
EasyEDA kullanarak Raspberry Pi RGB LCD HAT için PCB üretme
Raspberry Pi RGB LCD HAT için PCB tasarlarken, en zor kısım ayak izini doğru yapmaktı. Boyutlar yanlış giderse, bileşenler PCB'ye sığmayacaktır. Ancak yeterince şanslı olan EasyEDA, piyasadaki neredeyse tüm bileşenler için ayak izleri sağlar. Bunun nedeni, kullanıcıların ayak izleri oluşturduğu ve bunu projelerinde kullanması için halkın kullanımına sunduğu geniş kullanıcı topluluğudur.
EasyEDA, daha önce defalarca kullandığım ve iyi bir ayak izi koleksiyonuna sahip olduğu ve açık kaynaklı olduğu için kullanımı çok uygun bulduğum çevrimiçi bir EDA aracı. PCB'yi tasarladıktan sonra, PCB örneklerini düşük maliyetli PCB üretim hizmetleri olan JLCPCB ile sipariş edebiliriz. Ayrıca, geniş bir elektronik bileşen stoğuna sahip oldukları bileşen tedarik hizmetleri sunarlar ve kullanıcılar, PCB siparişiyle birlikte gerekli bileşenleri sipariş edebilirler.
Devreleri ve PCB'leri tasarlarken, devrenizi ve PCB tasarımlarınızı herkese açık hale getirebilirsiniz, böylece diğer kullanıcılar bunları kopyalayabilir veya düzenleyebilir ve çalışmanızdan faydalanabilir, bu Pi RGB LCD Şapka tasarımını da herkese açık hale getirdik, aşağıdakileri kontrol edin bağlantı:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
'Katmanlar' penceresinden katmanı seçerek PCB'nin herhangi bir Katmanını (Üst, Alt, Üst ipek, alt ipek, vb.) Görüntüleyebilirsiniz. Bunun dışında, PCB'nin imalattan sonra nasıl görüneceğine dair 3 boyutlu bir model görünümü de sağlarlar. LCD HAT'ın üst katmanının ve alt katmanının anlık görüntüsü şuna benzer:
EasyEDA kullanarak çevrimiçi PCB Örneklerini Hesaplama ve Sipariş Etme
Bu PI RGB LCD HAT'ın tasarımını tamamladıktan sonra PCB'yi JLCPCB.com üzerinden sipariş edebilirsiniz. PCB'yi JLCPCB'den sipariş etmek için Gerber Dosyasına ihtiyacınız vardır. Gerber dosyasını aşağıdaki bağlantıdan indirebilirsiniz:
- Raspberry Pi RGB LCD Şapka için Gerber Dosyası
PCB'nin Gerber dosyalarını oluşturmak için, EasyEDA düzenleyici sayfasındaki Üretim Dosyası Oluştur düğmesine tıklayın, ardından Gerber dosyasını buradan indirin veya aşağıdaki resimde gösterildiği gibi JLCPCB'de Sipariş Ver'e tıklayın. Bu sizi JLCPCB.com'a yönlendirecektir, burada sipariş edilecek PCB sayısını, kaç tane bakır katmanına ihtiyacınız olduğunu, PCB kalınlığını, bakır ağırlığını, PCB rengini ve aşağıda gösterilen anlık görüntü gibi diğer PCB parametrelerini seçebilirsiniz:
' JLCPCB'de Sipariş Ver' düğmesine tıkladıktan sonra, sizi PCB'yi 2 $ olan çok düşük bir fiyata sipariş edebileceğiniz JLCPCB web sitesine götürür. Yapım süreleri de çok daha azdır, bu da 3-5 günlük DHL teslimatı ile 48 saattir. PCB'lerinizi siparişinizden sonraki bir hafta içinde alacaksınız.
PCB siparişini verdikten sonra PCB'nizin Üretim İlerlemesini tarih ve saat ile kontrol edebilirsiniz. Hesap sayfasından kontrol edebilir ve aşağıdaki resimde gösterildiği gibi PCB'nin altındaki "Üretim İlerlemesi" bağlantısına tıklayabilirsiniz.
PCB siparişi verdikten birkaç gün sonra PCB numunelerini aşağıdaki resimlerde gösterildiği gibi mükemmel ambalajlarda aldım.
İzlerin ve ayak izlerinin doğru olduğundan emin olduktan sonra. PCB'yi monte etmeye başladım. Tamamen lehimli tahta aşağıdaki gibidir:
LCD Şapka için Raspberry Pi Kurulumu
Raspberry Pi programlamaya başlamadan önce ilk olarak Raspberry Pi'yi güncelleyin ve birkaç gerekli kitaplığı kurun. Raspberry Pi'yi güncellemek ve yükseltmek için aşağıdaki komutları çalıştırın:
sudo apt-get update sudo apt-get yükseltme
Şimdi NeoPixel LED'leri için Adafruit_Blinka kitaplığını kurun. Adafruit_Blinka kütüphanesi Python'da CircuitPython desteği sağlar.
sudo pip3 adafruit-circuitpython-neopixel'i yükle
Bundan sonra, LCD modülü için Adafruit_CharLCD kitaplığını kurun. Bu kütüphane Adafruit LCD kartları içindir, ancak diğer marka LCD kartlarla da çalışır.
sudo pip3 Adafruit-CharLCD'yi yükle
Raspberry Pi LCD HAT için Python Kodu
Burada Raspberry Pi için RGB LCD şapkasını, LCD modülünde bazı belirli değerleri ve gösterge olarak RGB LED'leri göstermek için birkaç anahtar kullanarak gösteriyoruz. Bu yüzden Raspberry Pi'yi bir Switch'e bastığımızda bazı sensör değerlerini veya diğer değerleri gösterecek şekilde programlamalıyız.
Tam python kodu sayfanın sonunda verilmiştir. Burada kodu adım adım açıklıyoruz.
Gerekli tüm kitaplıkları içe aktararak kodu başlatın.
RPi.GPIO'yu GPIO olarak içe aktarın neopiksel içe aktarma süresi içe aktarma panosu içe aktarma Adafruit_CharLCD'yi LCD olarak içe aktarın
Bundan sonra, LCD ve diğer anahtarların bağlı olduğu tüm GPIO pinlerini tanımlayın.
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
Şimdi, BCM modunu kullanarak GPIO modunu tanımlayın. Ayrıca BOARD olarak da değiştirebilirsiniz. Ardından tüm anahtar pinlerini Girişler olarak tanımlayın.
GPIO.setmode (GPIO.BCM) # BCM GPIO numaralarını kullanın GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.İÇİNDE)
Bundan sonra Neo Pixel LED'lerin bağlandığı GPIO pinini tanımlayın. Ardından Neo Pixel LED'lerin sayısını tanımlayın. Burada üç adet led kullanılır, ihtiyaçlarınıza göre değiştirebilirsiniz.
pixel_pin = board.D21 num_pixels = 3
Şimdi lcddisplay () işlevinin içinde, her anahtara belirli bir görev atayın. Örneğin burada ilk anahtara basıldığında Raspberry Pi LCD'de 'UP' yazmalı ve ikinci anahtara basıldığında ise LCD'de 'DOWN' yazmalı ve diğer iki düğme için böyle devam etmelidir.
LCD'de bir şey yazdırmak yerine, farklı bir görevi gerçekleştirmek için bu Anahtarları kullanabilirsiniz. Örneğin, Sıcaklık değerini görüntülemek için anahtar1'i, Nem değerlerini görüntülemek için anahtar2'yi ve Basınç değerlerini vb. Görüntülemek için anahtar 3'ü kullanabilirsiniz.
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 ('SAĞ')
Şimdi while true döngüsünün içinde, pixel.fill işlevi Neo Pikselleri farklı renklerde aydınlatmak için kullanılır. Böylece Pi, Neo Pikselleri her biri bir saniye Kırmızı Yeşil ve Mavi renkle aydınlatacak şekilde programlanmıştır.
Ayrıca bu Neo Pikselleri gösterge olarak da kullanabilirsiniz. Örneğin, Pi'nin güç kaynağına bağlı olduğunu belirtmek için bir Neo Piksel'i Kırmızı renkle aydınlatabilir veya Pi'nin Verileri aldığını veya gönderdiğini vb. Belirtmek için diğer LED'leri kullanabilirsiniz.
pixel.fill ((255, 0, 0)) pixel.show () time.sleep (1) pixel.fill ((0, 255, 0)) pixel.show () time.sleep (1) piksel.fill ((0, 0, 255)) piksel.show () time.sleep (1) rainbow_cycle (0.001)
Raspberry Pi RGB LCD HAT'ı Test Etme
LCD'yi monte edip Raspberry Pi ile arayüz oluşturduktan sonra, hepimiz bu PI RGB LCD HAT'ı kullanmaya hazırız. Bunun için aşağıdaki komutu kullanarak python kodunu çalıştırın.
python code_filename.py
Şimdi düğmelere basın. SW0 anahtarına bastığınızda, LCD'de 'YUKARI' yazmalıdır. SW2 anahtarı için, anahtarların geri kalanı için 'Aşağı' ve aynı şekilde yazdırılmalıdır.
Bir tam çalışma Video Python kodu ile birlikte aşağıda verilmiştir.