- Потрібні компоненти
- Кругова діаграма
- Виготовлення друкованої плати для РК-шапки Raspberry Pi RGB за допомогою EasyEDA
- Розрахунок та замовлення зразків друкованої плати в Інтернеті за допомогою EasyEDA
- Налаштування Raspberry Pi для капелюха РК
- Код Python для РК-капелюха Raspberry Pi
- Тестування РК-капелюха Raspberry Pi RGB
Капелюхи Raspberry Pi - це те саме, що щити для Arduino, вони можуть безпосередньо поміститися у верхній частині Raspberry Pi і не потребують подальших з'єднань. Тут ми збираємося створити RGB РК-капелюх для Raspberry Pi на друкованій платі. Цей капелюх РК складається з РК-модуля 16x2, п’яти перемикачів та трьох світлодіодів NeoPixel. Тут перемикачі використовуються для зміни тексту на дисплеї, а світлодіоди NeoPixel використовуються як індикатори. Ці перемикачі та пікселі Neo можуть бути запрограмовані відповідно до вимог, як перемикачі можуть використовуватися для відображення значень датчиків, таких як температура, вологість тощо, а пікселі Neo можуть використовуватися для відображення стану, наприклад червоного для позначення деякої помилки та зеленого під час отримання деяких даних.
Тут ми будемо використовувати онлайн-програмне забезпечення EasyEDA для розробки схеми та друкованої плати для цього Pi HAT та JLCPCB для замовлення друкованих плат.
Потрібні компоненти
- Raspberry Pi 4
- Модуль РК-дисплея 16 * 2
- Неопіксельні світлодіоди (3)
- Конденсатори
- Вимикачі (5)
Кругова діаграма
Повна електрична схема РК-шапки Raspberry Pi RGB наведена нижче. Схему було намальовано за допомогою EasyEDA. Як бачите, ми взаємодіємо РК-модуль 16x2, 3 світлодіоди NeoPixel та 5 комутаторів з Raspberry Pi. Роз'єм також використовується для ввімкнення або вимкнення світлодіодів NeoPixel.
Виготовлення друкованої плати для РК-шапки Raspberry Pi RGB за допомогою EasyEDA
Під час проектування друкованої плати для Raspberry Pi RGB LCD HAT, найскладнішою частиною було отримання правильного сліду. Якщо розміри підуть не так, то компоненти не помістяться на друкованій платі. Але досить щасливо, EasyEDA забезпечує розміщення майже всіх компонентів на ринку. Це пов’язано з його величезною спільнотою користувачів, де користувачі створюють відбитки та роблять доступними для громадськості, щоб використовувати їх у своїх проектах.
EasyEDA - це Інтернет-інструмент EDA, який я вже використовував багато разів і вважав його дуже зручним у використанні, оскільки він має гарну колекцію слідів, і він є відкритим. Після проектування друкованої плати ми можемо замовити зразки друкованих плат завдяки їх недорогим послугам з виготовлення друкованих плат - JLCPCB. Вони також пропонують послуги з пошуку компонентів, де вони мають великий запас електронних компонентів, і користувачі можуть замовити необхідні їм компоненти разом із замовленням друкованих плат.
Розробляючи схеми та друковані плати, ви також можете зробити свою схему, а конструкції друкованих плат - загальнодоступними, щоб інші користувачі могли їх копіювати чи редагувати та отримувати користь від вашої роботи, - ми також зробили цей дизайн дизайну РК-капелюха Pi RGB загальнодоступним. посилання:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Ви можете переглянути будь-який шар (верхній, нижній, верхній, шовковий, нижній шовковий тощо) друкованої плати, вибравши шар у вікні "Шари". Крім цього, вони також надають 3D-модель друкованої плати про те, як вона буде виглядати після виготовлення. Знімок верхнього та нижнього шару РК-ШАПКИ виглядатиме приблизно так:
Розрахунок та замовлення зразків друкованої плати в Інтернеті за допомогою EasyEDA
Після завершення дизайну цього РІ РЕЖИМНОГО ШАПИШКА PI RGB ви можете замовити друковану плату через JLCPCB.com Щоб замовити друковану плату у JLCPCB, вам потрібен файл Gerber. Ви можете завантажити файл Gerber за посиланням нижче:
- Файл Gerber для РК-капелюха Raspberry Pi RGB
Щоб створити файли Gerber на друкованій платі, просто натисніть кнопку « Створити файл виготовлення » на сторінці редактора EasyEDA, а потім завантажте файл Gerber звідти або натисніть «Замовити в JLCPCB», як показано на малюнку нижче. Це перенаправить вас на JLCPCB.com, де ви зможете вибрати кількість друкованих плат для замовлення, скільки шарів міді вам потрібно, товщина друкованої плати, вага міді, колір друкованої плати та інші параметри друкованої плати, наприклад, знімок, показаний нижче:
Після натискання кнопки « Замовити в JLCPCB» ви перейдете на веб-сайт JLCPCB, де ви зможете замовити друковану плату за дуже низьким тарифом, який становить 2 долари. Час їх побудови також дуже менший, тобто 48 годин при доставці DHL 3-5 днів. Ви отримаєте свої друковані плати протягом тижня з моменту замовлення.
Після замовлення друкованої плати ви можете перевірити виробничий прогрес вашої друкованої плати з датою та часом. Ви можете перевірити це, перейшовши на сторінку облікового запису та клацнувши на посилання "Виробничий прогрес" під друкованою платою, як показано на малюнку нижче.
Через кілька днів замовлення друкованих плат я отримав зразки друкованих плат у чудовій упаковці, як показано на малюнках нижче.
Переконавшись, що сліди та сліди правильні. Я приступив до складання друкованої плати. Повністю припаяна дошка виглядає нижче:
Налаштування Raspberry Pi для капелюха РК
Перш ніж розпочати програмування, Raspberry Pi, спочатку оновіть Raspberry Pi та встановіть кілька необхідних бібліотек. Запустіть команди нижче, щоб оновити та оновити Raspberry Pi:
sudo apt-get update оновлення sudo apt-get
Тепер встановіть бібліотеку Adafruit_Blinka для світлодіодів NeoPixel. Бібліотека Adafruit_Blinka забезпечує підтримку CircuitPython в Python.
sudo pip3 встановити adafruit-circuitpython-neopixel
Після цього встановіть бібліотеку Adafruit_CharLCD для РК-модуля. Ця бібліотека призначена для РК-дощок Adafruit, але вона також працює з РК-дошками інших брендів.
sudo pip3 встановити Adafruit-CharLCD
Код Python для РК-капелюха Raspberry Pi
Тут ми демонструємо RGB-капелюх для Raspberry Pi, використовуючи кілька перемикачів, щоб показати деякі конкретні значення на РК-модулі та RGB-світлодіоди як індикатори. Тому ми повинні запрограмувати Raspberry Pi таким чином, що коли ми натискаємо на перемикач, він повинен відображати деякі значення датчика або інші значення.
Повний код python наведено в кінці сторінки. Тут ми поетапно пояснюємо код.
Запустіть код, імпортуючи всі необхідні бібліотеки.
імпорт RPi.GPIO як GPIO імпорт neopixel час імпорту дошка імпорт дошка імпорт Adafruit_CharLCD як РК
Після цього визначте всі штифти GPIO, де підключені РК-дисплей та інші перемикачі.
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
Тепер визначте режим GPIO, використовуючи режим BCM. Ви також можете змінити його на BOARD. Потім визначте всі виводи комутатора як Входи.
GPIO.setmode (GPIO.BCM) # Використовуйте BCM GPIO номери GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.IN)
Після цього визначте штифт GPIO, де підключені світлодіоди Neo Pixel. Потім визначте кількість світлодіодів Neo Pixel. Тут використовуються три світлодіоди, ви можете змінити його відповідно до своїх потреб.
pixel_pin = дошка. D21 num_pixels = 3
Тепер усередині функції lcddisplay () призначте певне завдання кожному комутатору. Наприклад, тут при натисканні першого перемикача Raspberry Pi повинен відображати на РК-дисплеї «ВВЕРХ», а при натисканні другого перемикача на РК-дисплеї відображатиметься «ВНИЗ» тощо для інших двох кнопок.
Замість того, щоб щось друкувати на РК-дисплеї, ви можете використовувати ці комутатори для виконання іншого завдання. Наприклад, ви можете використовувати перемикач1 для відображення значення температури, перемикач2 для відображення значень вологості та перемикач 3 для відображення значень тиску тощо.
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')
Тепер всередині циклу while true , функція pixels.fill використовується, щоб освітлити Neo Pixels різними кольорами. Тож Pi запрограмований на те, щоб на одну секунду запалювали нео-пікселі червоно-зеленим та синім кольорами.
Ви також можете використовувати ці пікселі Neo як індикатори. Наприклад, ви можете підсвітити один Neo Pixel червоним кольором, щоб вказати, що Pi підключений до джерела живлення, або можна використовувати інші світлодіоди, щоб вказати, що Pi отримує або надсилає Дані тощо
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)
Тестування РК-капелюха Raspberry Pi RGB
Зібравши РК-дисплей та зв’язавши його з Raspberry Pi, ми всі готові використовувати цей РК-капелюх PI RGB. Для цього запустіть код python, використовуючи команду нижче.
python code_filename.py
Тепер натисніть перемикачі. Коли ви натискаєте перемикач SW0, він повинен надрукувати на екрані 'UP'. Для перемикача SW2 слід надрукувати "Вниз", а також для решти перемикачів.
Повні робочі відео разом з кодом Python наводяться нижче.