- Thành phần bắt buộc
- Sơ đồ mạch
- Chế tạo PCB cho Raspberry Pi RGB LCD HAT bằng EasyEDA
- Tính toán và đặt hàng các mẫu PCB trực tuyến bằng EasyEDA
- Raspberry Pi Setup cho LCD Hat
- Mã Python cho Raspberry Pi LCD HAT
- Thử nghiệm Raspberry Pi RGB LCD HAT
Mũ Raspberry Pi giống như tấm chắn cho Arduino, chúng có thể nằm gọn trực tiếp trên đầu Raspberry Pi và không yêu cầu thêm bất kỳ kết nối nào. Ở đây chúng tôi sẽ xây dựng một Mũ LCD RGB cho Raspberry Pi trên PCB. Mũ LCD này bao gồm một mô-đun LCD 16x2, năm công tắc và ba đèn LED NeoPixel. Ở đây các công tắc được sử dụng để thay đổi văn bản trên màn hình và đèn LED NeoPixel được sử dụng làm chỉ báo. Các công tắc này và Neo Pixels có thể được lập trình theo yêu cầu như công tắc có thể được sử dụng để hiển thị các giá trị cảm biến như nhiệt độ, độ ẩm, v.v. và Neo pixel có thể được sử dụng để hiển thị trạng thái như Đỏ để chỉ ra một số lỗi và màu xanh lá cây trong khi nhận một số dữ liệu.
Ở đây chúng tôi sẽ sử dụng phần mềm trực tuyến EasyEDA để thiết kế mạch và PCB cho Pi HAT này, và JLCPCB để đặt mua PCB.
Thành phần bắt buộc
- Raspberry Pi 4
- Mô-đun màn hình LCD 16 * 2
- Đèn LED điểm ảnh mới (3)
- Tụ điện
- Công tắc (5)
Sơ đồ mạch
Sơ đồ mạch đầy đủ cho Raspberry Pi RGB LCD HAT được hiển thị bên dưới. Sơ đồ được vẽ bằng EasyEDA. Như bạn có thể thấy, chúng tôi đang giao tiếp một mô-đun LCD 16x2, 3 đèn LED NeoPixel và 5 Công tắc với Raspberry Pi. Một đầu nối cũng được sử dụng để bật hoặc tắt đèn LED NeoPixel.
Chế tạo PCB cho Raspberry Pi RGB LCD HAT bằng EasyEDA
Trong khi thiết kế PCB cho Raspberry Pi RGB LCD HAT, phần thách thức nhất là xác định đúng dấu chân. Nếu kích thước sai, thì các thành phần sẽ không phù hợp trên PCB. Nhưng may mắn thay, EasyEDA cung cấp dấu chân cho hầu hết các thành phần trên thị trường. Điều này là do cộng đồng người dùng rộng lớn của nó, nơi người dùng tạo dấu chân và cung cấp cho công chúng sử dụng nó trong các dự án của họ.
EasyEDA là một công cụ EDA trực tuyến mà trước đây tôi đã sử dụng nhiều lần và thấy nó rất tiện lợi khi sử dụng vì nó có một bộ sưu tập dấu chân tốt và nó là mã nguồn mở. Sau khi thiết kế PCB, chúng tôi có thể đặt hàng các mẫu PCB bằng dịch vụ chế tạo PCB chi phí thấp của họ- JLCPCB. Họ cũng cung cấp các dịch vụ tìm nguồn cung ứng linh kiện nơi họ có một lượng lớn linh kiện điện tử và người dùng có thể đặt hàng các thành phần cần thiết của họ cùng với đơn đặt hàng PCB.
Trong khi thiết kế mạch và PCB, bạn cũng có thể đặt mạch và thiết kế PCB của mình ở chế độ công khai để người dùng khác có thể sao chép hoặc chỉnh sửa chúng và có thể hưởng lợi từ công việc của bạn, chúng tôi cũng đã công khai thiết kế Mũ Pi RGB LCD này, hãy kiểm tra phần bên dưới liên kết:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Bạn có thể xem bất kỳ Layer nào (Top, Bottom, Topsilk, bottom silk, v.v.) của PCB bằng cách chọn layer tạo thành cửa sổ 'Layers'. Ngoài ra, họ cũng cung cấp chế độ xem mô hình 3D của PCB về cách nó sẽ xuất hiện sau khi chế tạo. Ảnh chụp nhanh của lớp trên cùng và lớp dưới cùng của LCD HAT sẽ trông giống như sau:
Tính toán và đặt hàng các mẫu PCB trực tuyến bằng EasyEDA
Sau khi hoàn thành thiết kế PI RGB LCD HAT này, bạn có thể đặt mua PCB thông qua JLCPCB.com. Để đặt mua PCB từ JLCPCB, bạn cần có Tệp Gerber. Bạn có thể tải xuống tệp Gerber từ liên kết dưới đây:
- Tệp Gerber cho Raspberry Pi RGB LCD Hat
Để tạo tệp Gerber của PCB, chỉ cần nhấp vào nút Tạo tệp chế tạo trên trang trình chỉnh sửa EasyEDA, sau đó tải xuống tệp Gerber từ đó hoặc nhấp vào Đặt hàng tại JLCPCB như được hiển thị trong hình dưới đây. Thao tác này sẽ chuyển hướng bạn đến JLCPCB.com, nơi bạn có thể chọn số lượng PCB để đặt hàng, bao nhiêu lớp đồng bạn cần, độ dày PCB, trọng lượng đồng, màu PCB và các thông số PCB khác, như ảnh chụp nhanh được hiển thị bên dưới:
Sau khi nhấp vào nút ' Đặt hàng tại JLCPCB' , nó sẽ đưa bạn đến trang web của JLCPCB, nơi bạn có thể đặt mua PCB với mức giá rất thấp, là 2 đô la. Thời gian xây dựng của họ cũng rất ít, là 48 giờ với thời gian giao hàng của DHL từ 3-5 ngày. Bạn sẽ nhận được PCB của mình trong vòng một tuần kể từ khi đặt hàng.
Sau khi đặt hàng PCB, bạn có thể kiểm tra Tiến độ sản xuất PCB của mình với ngày và giờ. Bạn có thể kiểm tra bằng cách vào trang Tài khoản và nhấp vào liên kết "Tiến độ sản xuất" bên dưới PCB như trong hình dưới đây.
Sau một vài ngày đặt hàng PCB, tôi đã nhận được các mẫu PCB trong bao bì tuyệt vời, như thể hiện trong các hình ảnh dưới đây.
Sau khi chắc chắn rằng đường đi và dấu chân đã chính xác. Tôi đã tiến hành lắp ráp PCB. Bảng được hàn hoàn toàn trông giống như bên dưới:
Raspberry Pi Setup cho LCD Hat
Trước khi bắt đầu lập trình Raspberry Pi, trước tiên hãy cập nhật Raspberry Pi và cài đặt một vài thư viện cần thiết. Chạy các lệnh dưới đây để cập nhật và nâng cấp Raspberry Pi:
sudo apt-get cập nhật sudo apt-get nâng cấp
Bây giờ hãy cài đặt thư viện Adafruit_Blinka cho đèn LED NeoPixel. Thư viện Adafruit_Blinka cung cấp hỗ trợ CircuitPython bằng Python.
sudo pip3 install adafruit-circuitpython-neopixel
Sau đó, cài đặt thư viện Adafruit_CharLCD cho mô-đun LCD. Thư viện này dành cho bảng LCD Adafruit, nhưng nó cũng hoạt động với các bảng LCD thương hiệu khác.
sudo pip3 cài đặt Adafruit-CharLCD
Mã Python cho Raspberry Pi LCD HAT
Ở đây, chúng tôi đang trình diễn mũ LCD RGB cho Raspberry Pi bằng cách sử dụng một số công tắc để hiển thị một số giá trị cụ thể trên mô-đun LCD và đèn LED RGB làm chỉ báo. Vì vậy, chúng ta phải lập trình Raspberry Pi theo cách mà khi chúng ta nhấn Switch, nó sẽ hiển thị một số giá trị cảm biến hoặc các giá trị khác.
Mã python hoàn chỉnh được đưa ra ở cuối trang. Ở đây chúng tôi đang giải thích mã từng bước.
Bắt đầu mã bằng cách nhập tất cả các thư viện cần thiết.
nhập RPi.GPIO dưới dạng GPIO nhập bảng nhập thời gian nhập neopixel nhập khẩu Adafruit_CharLCD dưới dạng màn hình LCD
Sau đó, xác định tất cả các chân GPIO nơi LCD và các công tắc khác được kết nối.
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
Bây giờ, xác định chế độ GPIO bằng chế độ BCM. Bạn cũng có thể thay đổi nó thành BOARD. Sau đó xác định tất cả các chân chuyển đổi làm Đầu vào.
GPIO.setmode (GPIO.BCM) # Sử dụng các số GPIO BCM GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.TRONG)
Sau đó, xác định chân GPIO nơi các đèn LED Pixel Neo được kết nối. Sau đó, xác định không có đèn LED Pixel Neo. Ở đây sử dụng ba đèn LED, bạn có thể thay đổi tùy theo nhu cầu của mình.
pixel_pin = board.D21 num_pixels = 3
Bây giờ bên trong hàm lcddisplay () , hãy gán một tác vụ cụ thể cho mỗi công tắc. Ví dụ: ở đây khi công tắc đầu tiên được nhấn, Raspberry Pi sẽ hiển thị 'LÊN' trên màn hình LCD và khi công tắc thứ hai được nhấn, nó sẽ hiển thị 'XUỐNG' trên màn hình LCD, v.v. đối với hai nút còn lại.
Thay vì in nội dung nào đó trên màn hình LCD, bạn có thể sử dụng các Công tắc này để thực hiện một tác vụ khác. Ví dụ: bạn có thể sử dụng công tắc 1 để hiển thị giá trị Nhiệt độ, công tắc 2 để hiển thị giá trị Độ ẩm và công tắc 3 để hiển thị giá trị Áp suất, v.v.
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')
Bây giờ bên trong vòng lặp while true , hàm pixel.fill được sử dụng để làm sáng các Neo Pixels bằng các màu khác nhau. Vì vậy, Pi được lập trình để làm sáng các điểm ảnh Neo với màu Đỏ lục và Xanh lam trong một giây mỗi điểm.
Bạn cũng có thể sử dụng các Neo Pixels này làm chỉ báo. Ví dụ: bạn có thể thắp sáng một Neo Pixel với màu Đỏ để cho biết Pi được kết nối với nguồn điện hoặc bạn có thể sử dụng các đèn LED khác để cho biết Pi đang nhận hoặc gửi Dữ liệu, v.v.
pixel.fill ((255, 0, 0)) pixel.show () time.sleep (1) pixel.fill ((0, 255, 0)) pixel.show () time.sleep (1) pixel.fill ((0, 0, 255)) pixel.show () time.sleep (1) Rainbow_cycle (0,001)
Thử nghiệm Raspberry Pi RGB LCD HAT
Sau khi lắp ráp màn hình LCD và kết nối nó với Raspberry Pi, tất cả chúng ta đã sẵn sàng sử dụng PI RGB LCD HAT này. Đối với điều đó, hãy chạy mã python bằng cách sử dụng lệnh dưới đây.
python code_filename.py
Bây giờ nhấn công tắc. Khi bạn nhấn công tắc SW0, nó sẽ in 'UP' trên màn hình LCD. Đối với công tắc SW2, nó sẽ in 'Xuống' và tương tự cho các công tắc còn lại.
Một đoạn video làm việc hoàn chỉnh cùng với mã Python được đưa ra dưới đây.