- Komponen Diperlukan
- Rajah Litar
- Membuat PCB untuk Raspberry Pi RGB LCD HAT menggunakan EasyEDA
- Mengira dan Memesan Sampel PCB dalam talian menggunakan EasyEDA
- Persediaan Raspberry Pi untuk Topi LCD
- Python Code untuk Raspberry Pi LCD HAT
- Menguji Topi Raspberry Pi RGB LCD
Topi Raspberry Pi sama dengan perisai untuk Arduino, mereka boleh langsung dipasang di bahagian atas Raspberry Pi dan tidak memerlukan sambungan lebih lanjut. Di sini kita akan membina Topi LCD RGB untuk Raspberry Pi di PCB. Topi LCD ini terdiri daripada modul LCD 16x2, lima suis, dan tiga LED NeoPixel. Di sini suis digunakan untuk mengubah teks pada paparan dan LED NeoPixel digunakan sebagai petunjuk. Suis dan Piksel Neo ini dapat diprogram sesuai dengan keperluan seperti suis dapat digunakan untuk menampilkan nilai sensor seperti suhu, kelembapan, dll. Dan piksel Neo dapat digunakan untuk menampilkan status seperti Merah untuk menunjukkan beberapa kesalahan dan hijau ketika menerima beberapa data.
Di sini kita akan menggunakan perisian dalam talian EasyEDA untuk merancang litar dan PCB untuk Pi HAT ini, dan JLCPCB untuk memesan PCB.
Komponen Diperlukan
- Raspberry Pi 4
- Modul Paparan LCD 16 * 2
- LED Neo-pixel (3)
- Kapasitor
- Suis (5)
Rajah Litar
Gambarajah litar lengkap untuk Raspberry Pi RGB LCD HAT ditunjukkan di bawah. Skema dilukis menggunakan EasyEDA. Seperti yang anda lihat, kami menghubungkan modul LCD 16x2, 3 LED NeoPixel dan 5 Suis dengan Raspberry Pi. Penyambung juga digunakan untuk mengaktifkan atau mematikan LED NeoPixel.
Membuat PCB untuk Raspberry Pi RGB LCD HAT menggunakan EasyEDA
Semasa merancang PCB untuk Raspberry Pi RGB LCD HAT, bahagian yang paling mencabar adalah mendapatkan jejak yang betul. Sekiranya dimensi salah, komponen tidak akan sesuai dengan PCB. Tetapi cukup bernasib baik, EasyEDA menyediakan jejak kaki untuk hampir semua komponen di pasaran. Ini kerana komuniti pengguna yang luas di mana pengguna membuat jejak kaki dan menyediakannya untuk orang ramai menggunakannya dalam projek mereka.
EasyEDA adalah alat EDA dalam talian yang pernah saya gunakan berkali-kali dan merasa sangat senang digunakan kerana mempunyai koleksi jejak kaki yang bagus, dan ia adalah sumber terbuka. Setelah merancang PCB, kami dapat memesan sampel PCB dengan perkhidmatan fabrikasi PCB murah mereka- JLCPCB. Mereka juga menawarkan perkhidmatan sumber komponen di mana mereka mempunyai stok komponen elektronik yang banyak, dan pengguna dapat memesan komponen yang diperlukan bersama dengan pesanan PCB.
Semasa merancang litar dan PCB, anda juga dapat menjadikan litar anda, dan reka bentuk PCB menjadi umum agar pengguna lain dapat menyalin atau menyuntingnya dan dapat memanfaatkan pekerjaan anda, kami juga telah menjadikan reka bentuk Topi Pi RGB LCD ini untuk umum, lihat di bawah pautan:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Anda boleh melihat mana-mana Lapisan (Atas, Bawah, Topsilk, sutera bawah, dll.) Dari PCB dengan memilih lapisan dari tetingkap 'Lapisan'. Selain itu, mereka juga memberikan pandangan model 3D mengenai PCB mengenai bagaimana ia akan muncul selepas pembuatan. Cuplikan lapisan atas dan lapisan bawah LCD HAT akan kelihatan seperti ini:
Mengira dan Memesan Sampel PCB dalam talian menggunakan EasyEDA
Setelah melengkapkan reka bentuk PAT RGB LCD PI ini, anda boleh memesan PCB melalui JLCPCB.com. Untuk memesan PCB dari JLCPCB, anda memerlukan Gerber File. Anda boleh memuat turun fail Gerber dari pautan di bawah:
- Fail Gerber untuk Topi Raspberry Pi RGB LCD
Untuk menghasilkan fail Gerber PCB, cukup klik butang Hasilkan Fail Fabrikasi di halaman editor EasyEDA, kemudian muat turun fail Gerber dari sana, atau klik Pesanan di JLCPCB seperti yang ditunjukkan pada gambar di bawah. Ini akan mengarahkan anda ke JLCPCB.com, di mana anda boleh memilih jumlah PCB yang hendak dipesan, berapa banyak lapisan tembaga yang anda perlukan, ketebalan PCB, berat tembaga, warna PCB, dan parameter PCB lain, seperti tangkapan gambar yang ditunjukkan di bawah:
Setelah mengklik butang ' Order at JLCPCB' , ia akan membawa anda ke laman web JLCPCB, di mana anda boleh memesan PCB dengan harga yang sangat rendah, iaitu $ 2. Masa pembinaan mereka juga sangat kurang, iaitu 48 jam dengan penghantaran DHL 3-5 hari. Anda akan mendapatkan PCB anda dalam seminggu dari pesanan.
Setelah memesan PCB, anda boleh menyemak Kemajuan Pengeluaran PCB anda dengan tarikh dan waktu. Anda boleh menyemaknya dengan pergi ke halaman Akaun dan klik pada pautan "Kemajuan Pengeluaran" di bawah PCB seperti yang ditunjukkan pada gambar di bawah.
Setelah beberapa hari memesan PCB, saya mendapat sampel PCB dalam pembungkusan yang sangat baik, seperti yang ditunjukkan dalam gambar di bawah.
Setelah memastikan jejak dan jejak kaki betul. Saya meneruskan pemasangan PCB. Papan yang dipateri sepenuhnya seperti di bawah:
Persediaan Raspberry Pi untuk Topi LCD
Sebelum memulakan pengaturcaraan, Raspberry Pi, kemas kini Raspberry Pi terlebih dahulu dan pasangkan beberapa perpustakaan yang diperlukan. Jalankan arahan di bawah untuk mengemas kini dan menaik taraf Raspberry Pi:
sudo apt-get update sudo apt-get upgrade
Sekarang pasang perpustakaan Adafruit_Blinka untuk LED NeoPixel. Perpustakaan Adafruit_Blinka menyediakan sokongan CircuitPython di Python.
sudo pip3 pasang adafruit-circuitpython-neopixel
Selepas itu, pasang pustaka Adafruit_CharLCD untuk modul LCD. Perpustakaan ini adalah untuk papan LCD Adafruit, tetapi juga berfungsi dengan papan LCD jenama lain.
sudo pip3 pasang Adafruit-CharLCD
Python Code untuk Raspberry Pi LCD HAT
Di sini kami menunjukkan topi LCD RGB untuk Raspberry Pi dengan menggunakan beberapa suis untuk menunjukkan beberapa nilai tertentu pada modul LCD dan LED RGB sebagai petunjuk. Oleh itu, kita harus memprogram Raspberry Pi dengan cara yang ketika kita menekan Suis, ia harus menunjukkan beberapa nilai sensor atau nilai lain.
Kod python lengkap diberikan di hujung halaman. Di sini kami menerangkan kod langkah demi langkah.
Mulakan kod dengan mengimport semua perpustakaan yang diperlukan.
import RPi.GPIO sebagai GPIO import neopixel import time import board import Adafruit_CharLCD sebagai LCD
Selepas itu, tentukan semua pin GPIO di mana LCD dan suis lain disambungkan.
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
Sekarang, tentukan mod GPIO menggunakan mod BCM. Anda juga boleh menukarnya menjadi DEWAN. Kemudian tentukan semua pin suis sebagai Input.
GPIO.setmode (GPIO.BCM) # Gunakan nombor GPM BCM GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.IN)
Selepas itu, tentukan pin GPIO di mana LED Neo Pixel disambungkan. Kemudian tentukan no LED Neo Pixel. Di sini tiga LED digunakan, anda boleh mengubahnya mengikut keperluan anda.
pixel_pin = board.D21 num_pixels = 3
Sekarang di dalam fungsi lcddisplay () , berikan tugas tertentu ke setiap suis. Sebagai contoh, di sini apabila suis pertama ditekan, Raspberry Pi harus memaparkan 'UP' pada LCD, dan apabila suis kedua ditekan, ia harus memaparkan 'DOWN' pada LCD dan seterusnya untuk dua butang yang lain.
Daripada mencetak sesuatu pada LCD, anda boleh menggunakan Switch ini untuk melakukan tugas yang berbeza. Sebagai contoh, anda boleh menggunakan switch1 untuk menampilkan nilai Suhu, beralih2 untuk menampilkan nilai Kelembapan, dan beralih 3 untuk memaparkan nilai Tekanan, dll.
def lcddisplay (): if (GPIO.input (sw0) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('UP') if (GPIO.input (sw2) == Salah): 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') jika (GPIO.input (sw4) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('RIGHT')
Kini berada di dalam lingkaran sebenarnya , fungsi pixels.fill digunakan untuk menerangi Neo Pixel dalam warna yang berbeza. Oleh itu, Pi diprogramkan untuk menerangi Neo Pixel dengan warna Merah Hijau dan Biru selama satu saat.
Anda juga boleh menggunakan Neo Pixel ini sebagai petunjuk. Sebagai contoh, anda dapat menyalakan satu Neo Pixel dengan warna Merah untuk menunjukkan bahawa Pi disambungkan ke sumber kuasa atau anda boleh menggunakan LED lain untuk menunjukkan bahawa Pi menerima atau mengirim Data, dll.
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)) piksel. Tunjukkan () masa. Tidur (1) kitaran pelangi (0.001)
Menguji Topi Raspberry Pi RGB LCD
Setelah memasang LCD dan menghubungkannya dengan Raspberry Pi, kami siap menggunakan PAT RGB LCD PI ini. Untuk itu, jalankan kod python dengan menggunakan arahan di bawah.
python code_filename.py
Sekarang tekan suis. Apabila anda menekan suis SW0, ia harus mencetak 'UP' pada LCD. Untuk suis SW2, ia harus mencetak 'Bawah' dan sama untuk suis yang lain.
A video kerja lengkap bersama-sama dengan kod Python diberikan di bawah.