- Komponen Diperlukan
- Diagram Sirkuit
- Fabrikasi PCB TOPI LCD Raspberry Pi RGB menggunakan EasyEDA
- Menghitung dan Memesan Sampel PCB secara online menggunakan EasyEDA
- Pengaturan Raspberry Pi untuk LCD Hat
- Kode Python untuk Raspberry Pi LCD HAT
- Menguji HAT LCD Raspberry Pi RGB
Topi Raspberry Pi sama dengan pelindung untuk Arduino, mereka dapat langsung dipasang di atas Raspberry Pi dan tidak memerlukan koneksi lebih lanjut. Di sini kita akan membuat Topi LCD RGB untuk Raspberry Pi di PCB. Topi LCD ini terdiri dari modul LCD 16x2, lima sakelar, dan tiga LED NeoPixel. Di sini sakelar digunakan untuk mengubah teks pada tampilan dan LED NeoPixel digunakan sebagai indikator. Sakelar dan Neo Pixel ini dapat diprogram sesuai dengan persyaratan seperti sakelar dapat digunakan untuk menampilkan nilai sensor seperti suhu, kelembaban, dll. Dan Neo piksel dapat digunakan untuk menampilkan status seperti Merah untuk menunjukkan beberapa kesalahan dan hijau saat menerima beberapa data.
Disini kita akan menggunakan software EasyEDA online untuk mendesain sirkuit dan PCB untuk Pi HAT ini, dan JLCPCB untuk memesan PCB.
Komponen Diperlukan
- Raspberry Pi 4
- 16 * 2 Modul Layar LCD
- LED Neo-piksel (3)
- Kapasitor
- Sakelar (5)
Diagram Sirkuit
Diagram rangkaian lengkap untuk HAT LCD Raspberry Pi RGB ditampilkan di bawah ini. Skema digambar menggunakan EasyEDA. Seperti yang Anda lihat, kami menghubungkan modul LCD 16x2, 3 LED NeoPixel dan 5 Switch dengan Raspberry Pi. Konektor juga digunakan untuk mengaktifkan atau menonaktifkan LED NeoPixel.
Fabrikasi PCB TOPI LCD Raspberry Pi RGB menggunakan EasyEDA
Saat mendesain PCB untuk Raspberry Pi RGB LCD HAT, bagian yang paling menantang adalah mendapatkan footprint yang benar. Jika dimensinya salah, maka komponen tidak akan muat di PCB. Namun cukup beruntung, EasyEDA menyediakan footprint untuk hampir semua komponen yang ada di pasaran. Ini karena komunitas penggunanya yang luas di mana pengguna membuat footprint dan membuatnya tersedia untuk umum untuk digunakan dalam proyek mereka.
EasyEDA adalah alat EDA online yang pernah saya gunakan berkali-kali dan merasa sangat nyaman digunakan karena memiliki koleksi footprint yang bagus, dan bersifat open-source. Setelah mendesain PCB, kita dapat memesan sampel PCB melalui layanan fabrikasi PCB berbiaya rendah - JLCPCB. Mereka juga menawarkan layanan sumber komponen di mana mereka memiliki stok besar komponen elektronik, dan pengguna dapat memesan komponen yang diperlukan bersama dengan pesanan PCB.
Saat merancang sirkuit dan PCB, Anda juga dapat membuat sirkuit Anda, dan desain PCB menjadi publik sehingga pengguna lain dapat menyalin atau mengeditnya dan dapat memanfaatkan pekerjaan Anda, kami juga telah membuat desain Topi LCD Pi RGB ini untuk umum, periksa di bawah ini tautan:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Anda dapat melihat setiap Layer (Atas, Bawah, Topsilk, sutra bawah, dll.) Dari PCB dengan memilih lapisan dari jendela 'Layers'. Selain itu, mereka juga memberikan tampilan model 3D dari PCB tentang bagaimana tampilannya setelah fabrikasi. Cuplikan dari lapisan atas dan lapisan bawah TOPI LCD akan terlihat seperti ini:
Menghitung dan Memesan Sampel PCB secara online menggunakan EasyEDA
Setelah menyelesaikan desain TOPI LCD RGB PI ini, Anda dapat memesan PCB melalui JLCPCB.com. Untuk memesan PCB dari JLCPCB, Anda membutuhkan File Gerber. Anda dapat mengunduh file Gerber dari tautan di bawah ini:
- File Gerber untuk Raspberry Pi RGB LCD Hat
Untuk membuat file Gerber dari PCB, cukup klik tombol Generate Fabrication File pada halaman editor EasyEDA, lalu unduh file Gerber dari sana, atau klik Order di JLCPCB seperti yang ditunjukkan pada gambar di bawah ini. Ini akan mengarahkan Anda ke JLCPCB.com, di mana Anda dapat memilih jumlah PCB yang akan dipesan, berapa banyak lapisan tembaga yang Anda butuhkan, ketebalan PCB, berat tembaga, warna PCB, dan parameter PCB lainnya, seperti cuplikan gambar di bawah ini:
Setelah mengklik tombol ' Pesan di JLCPCB' , Anda akan dibawa ke situs web JLCPCB, di mana Anda dapat memesan PCB dengan harga yang sangat rendah, yaitu $ 2. Waktu pembuatannya juga sangat sedikit, yaitu 48 jam dengan pengiriman DHL 3-5 hari. Anda akan mendapatkan PCB dalam waktu satu minggu setelah pemesanan.
Setelah memesan PCB, Anda dapat memeriksa Progres Produksi PCB Anda dengan tanggal dan waktu. Anda dapat memeriksanya dengan membuka halaman Akun dan klik tautan "Kemajuan Produksi" di bawah PCB seperti yang ditunjukkan pada gambar di bawah ini.
Setelah beberapa hari memesan PCB, saya mendapatkan sampel PCB dalam kemasan yang sangat baik, seperti yang ditunjukkan pada gambar di bawah ini.
Setelah memastikan jejak dan jejak kaki sudah benar. Saya melanjutkan dengan merakit PCB. Papan yang sepenuhnya disolder terlihat seperti di bawah ini:
Pengaturan Raspberry Pi untuk LCD Hat
Sebelum memulai pemrograman, Raspberry Pi, perbarui dulu Raspberry Pi dan instal beberapa pustaka yang diperlukan. Jalankan perintah di bawah ini untuk memperbarui dan meningkatkan Raspberry Pi:
sudo apt-get pembaruan sudo apt-get peningkatan
Sekarang instal perpustakaan Adafruit_Blinka untuk NeoPixel LED. Perpustakaan Adafruit_Blinka menyediakan dukungan CircuitPython dengan Python.
sudo pip3 menginstal adafruit-circuitpython-neopixel
Setelah itu, instal perpustakaan Adafruit_CharLCD untuk modul LCD. Library ini untuk papan LCD Adafruit, tetapi juga berfungsi dengan papan LCD merek lain juga.
sudo pip3 menginstal Adafruit-CharLCD
Kode Python untuk Raspberry Pi LCD HAT
Di sini kami mendemonstrasikan topi LCD RGB untuk Raspberry Pi dengan menggunakan beberapa sakelar untuk menunjukkan beberapa nilai tertentu pada modul LCD dan LED RGB sebagai indikator. Jadi kita harus memprogram Raspberry Pi dengan cara yang ketika kita menekan sebuah Switch, itu harus menunjukkan beberapa nilai sensor atau nilai lainnya.
Kode python lengkap diberikan di akhir halaman. Di sini kami menjelaskan kode langkah demi langkah.
Mulai kode dengan mengimpor semua perpustakaan yang diperlukan.
impor RPi.GPIO sebagai GPIO impor neopixel waktu impor papan impor impor Adafruit_CharLCD sebagai LCD
Setelah itu, tentukan semua pin GPIO di mana LCD dan sakelar lainnya terhubung.
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 mode GPIO menggunakan mode BCM. Anda juga dapat mengubahnya menjadi DEWAN. Kemudian tentukan semua pin sakelar sebagai Input.
GPIO.setmode (GPIO.BCM) # Gunakan nomor BCM GPIO GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.DI)
Setelah itu, tentukan pin GPIO tempat LED Neo Pixel terhubung. Kemudian tentukan jumlah Neo Pixel LED. Di sini digunakan tiga LED, Anda dapat mengubahnya sesuai kebutuhan Anda.
pixel_pin = papan.D21 num_pixels = 3
Sekarang di dalam fungsi lcddisplay () , tetapkan tugas tertentu untuk setiap sakelar. Misalnya, di sini saat tombol pertama ditekan, Raspberry Pi harus menampilkan 'UP' pada LCD, dan saat tombol kedua ditekan, seharusnya menampilkan 'TURUN' pada LCD dan begitu seterusnya untuk dua tombol lainnya.
Alih-alih mencetak sesuatu pada LCD, Anda dapat menggunakan Sakelar ini untuk melakukan tugas yang berbeda. Misalnya, Anda dapat menggunakan switch1 untuk menampilkan nilai Suhu, switch2 untuk menampilkan nilai Kelembaban, dan beralih 3 untuk menampilkan nilai Tekanan, dll.
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 ('BAWAH') jika (GPIO.input (sw3) == Salah): 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')
Sekarang di dalam while true loop, fungsi piksel.fill digunakan untuk menerangi Neo Pixels dalam warna yang berbeda. Jadi Pi diprogram untuk menerangi Pixel Neo dengan warna Merah Hijau dan Biru untuk masing-masing satu detik.
Anda juga dapat menggunakan Neo Pixels sebagai indikator. Misalnya, Anda dapat menyalakan satu Neo Pixel dengan warna Merah untuk menunjukkan bahwa Pi terhubung ke sumber daya atau Anda dapat menggunakan LED lain untuk menunjukkan bahwa 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)) pixels.show () time.sleep (1) rainbow_cycle (0.001)
Menguji HAT LCD Raspberry Pi RGB
Setelah merakit LCD dan menghubungkannya dengan Raspberry Pi, kita siap untuk menggunakan HAT LCD RGB PI ini. Untuk itu, jalankan kode python dengan menggunakan perintah di bawah ini.
python code_filename.py
Sekarang tekan sakelar. Saat Anda menekan sakelar SW0, itu akan mencetak 'UP' pada LCD. Untuk sakelar SW2, itu harus mencetak 'Bawah' dan sama untuk sakelar lainnya.
Sebuah video yang lengkap bekerja bersama dengan kode Python diberikan di bawah ini.