Съдържание:

RGB термометър, използващ PICO: 6 стъпки
RGB термометър, използващ PICO: 6 стъпки

Видео: RGB термометър, използващ PICO: 6 стъпки

Видео: RGB термометър, използващ PICO: 6 стъпки
Видео: Raspberry Pi Pico MicroPython Chapter 10 - Waveshare lcd 1602 rgb module 2024, Юли
Anonim
Image
Image

Това беше крайният резултат от нашите усилия днес. Това е термометър, който ще ви уведоми колко е топло в стаята ви, като използвате RGB LED лента, поставена в акрилен контейнер, който е свързан с температурен сензор за отчитане на температурата. И ние ще използваме PICO, за да оживим този проект.

Стъпка 1: Компоненти

Захранване на RGB лентата с транзистори и източник на захранване
Захранване на RGB лентата с транзистори и източник на захранване
  • PICO, достъпно на mellbell.cc ($ 17)
  • 1 метрова RGB LED лента
  • 3 TIP122 Darlington транзистор, пакет от 10 в ebay ($ 3.31)
  • 1 PCA9685 16-канален 12-битов PWM драйвер, наличен в ebay ($ 2.12)
  • 12v източник на захранване
  • 3 1k ohm резистора, пакет от 100 в ebay ($ 0,99)
  • Макет, наличен в ebay ($ 2.30)
  • Мъжки - женски джъмперни проводници, пакет от 40 в ebay ($ 0,95)

Стъпка 2: Захранване на RGB лентата с транзистори и източник на захранване

Захранване на RGB лентата с транзистори и източник на захранване
Захранване на RGB лентата с транзистори и източник на захранване
Захранване на RGB лентата с транзистори и източник на захранване
Захранване на RGB лентата с транзистори и източник на захранване
Захранване на RGB лентата с транзистори и източник на захранване
Захранване на RGB лентата с транзистори и източник на захранване

LED лентите са гъвкави платки, които са пълни със светодиоди. Те се използват по много начини, тъй като можете да ги използвате в къщата си, колата или велосипеда си. Можете дори да създадете готини RGB носими устройства, като ги използвате.

И така, как работят? Всъщност е доста просто. Всички светодиоди в LED лентата са свързани паралелно и действат като един огромен RGB светодиод. И за да го стартирате, просто трябва да свържете лентата към източник на захранване с висок ток 12v.

За да управлявате LED лентата с микроконтролер, трябва да отделите източника на захранване от източника на управление. Тъй като LED лентата се нуждае от 12v, а нашият микроконтролер не може да предложи толкова голямо изходно напрежение и затова свързваме външен източник на захранване с висок ток 12v, докато изпращаме управляващите сигнали от нашия PICO.

Също така текущото теглене на всяка RGB клетка е високо, тъй като всеки отделен светодиод в нея - червеният, зеленият и синият светодиод - се нуждае от 20mA, за да работи, което означава, че имаме нужда от 60mA, за да работи, осветява една RGB клетка. И това е много проблематично, защото нашите GPIO щифтове могат да захранват максимум 40mA на пин, а свързването на RGB лентата към PICO директно ще го изгори, така че моля не го правете.

Но има решение и то се нарича Дарлингтънски транзистор, който е чифт транзистори с много високо усилване на тока, което ще ни помогне да увеличим тока си, за да задоволим нуждите си.

Нека първо да научим повече за текущата печалба. Текущото усилване е свойство на транзисторите, което означава, че токът, преминаващ през транзистора, ще бъде умножен по него и уравнението му изглежда така:

ток на натоварване = входен ток * усилване на транзистора.

Това е още по -силно в транзистор от Дарлингтън, тъй като това е чифт транзистори, а не единствен, а техните ефекти се умножават помежду си, което ни дава огромни текущи печалби.

Сега ще свържем LED лентата към нашия външен източник на захранване, транзистора и разбира се нашия PICO.

  • База (транзистор) → D3 (PICO)
  • Колектор (транзистор) → B (LED лента)
  • Излъчвател (транзистор) → GND
  • +12 (LED лента) → +12 (източник на захранване)

Не забравяйте да свържете GIC на PICO към заземяващите източници на захранване

Стъпка 3: Контролиране на цветовете на RGB LED лентата

Контрол на цветовете на RGB LED лентата
Контрол на цветовете на RGB LED лентата
Контрол на цветовете на RGB LED лентата
Контрол на цветовете на RGB LED лентата
Контрол на цветовете на RGB LED лентата
Контрол на цветовете на RGB LED лентата

Знаем, че нашият PICO има един PWM пин (D3), което означава, че той не може да контролира нашите 16 светодиода. Ето защо въвеждаме PCA9685 16-канален 12-битов PWM I2C модул, който ни позволява да разширим PICO PWM щифтовете.

На първо място, какво е I2C?

I2C е комуникационен протокол, който включва само 2 проводника за комуникация с едно или повече устройства чрез адресиране на адреса на устройството и кои данни да се изпращат.

Има два типа устройства: Първият е главното устройство, което отговаря за изпращането на данни, а другото е подчиненото устройство, което получава данните. Ето изводите на модула PCA9685:

  • VCC → Това е мощността на самата платка. 3-5v макс.
  • GND → Това е отрицателният извод и той трябва да бъде свързан към GND, за да завърши веригата.
  • V+ → Това е допълнителен захранващ щифт, който ще захранва сервомоторите, ако някой от тях е свързан към вашия модул. Можете да го оставите изключен, ако не използвате серво.
  • SCL → Сериен пинов часовник и го свързваме към SCL на PICO.
  • SDA → ПИН за серийни данни и го свързваме към SDA на PICO.
  • OE → изход с активиран изход, този щифт е активен LOW, когато щифтът е LOW всички изходи са разрешени, когато е HIGH всички изходи са забранени. И този незадължителен щифт се използва за бързо активиране или деактивиране на щифтовете на модула.

Има 16 порта, всеки порт има V+, GND, PWM. Всеки PWM пин работи напълно независимо и те са настроени за серво, но можете да ги използвате лесно за светодиоди. Всеки ШИМ може да обработва 25mA ток, така че бъдете внимателни.

Сега, когато знаем какви са щифтовете на нашия модул и какво прави, нека да го използваме за увеличаване на броя на PICO PWM щифтовете, така че да можем да контролираме нашата RGB LED лента.

Ще използваме този модул заедно с транзисторите TIP122 и ето как трябва да ги свържете към вашия PICO:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → БАЗА (първи TIP122).
  • ШИМ 1 (PCA9685) → БАЗА (втори TIP122).
  • PWM 2 (PCA9685) → БАЗА (трети TIP122).

Не забравяйте да свържете GIC на PICO с GND на захранването. И не забравяйте да не свързвате PCA9685 VCC щифта с +12 волта на захранването, в противен случай той ще се повреди

Стъпка 4: Контролирайте цвета на RGB LED лентата в зависимост от показанията на сензора

Контролирайте цвета на RGB LED лентата в зависимост от показанията на сензора
Контролирайте цвета на RGB LED лентата в зависимост от показанията на сензора
Контролирайте цвета на RGB LED лентата в зависимост от показанията на сензора
Контролирайте цвета на RGB LED лентата в зависимост от показанията на сензора

Това е последната стъпка в този проект и с него нашият проект ще се трансформира от „глупав“в умен и способен да се държи в зависимост от заобикалящата го среда. За да направим това, ще свържем нашия PICO с температурния сензор LM35DZ.

Този сензор има аналогово изходно напрежение, което зависи от температурата около него. Той започва при 0v, съответстващ на 0 по Целзий, и напрежението се увеличава с 10mV за всяка степен над 0c. Този компонент е много прост и има само 3 крака и те са свързани, както следва:

  • VCC (LM35DZ) → VCC (PICO)
  • GND (LM35DZ) → GND (PICO)
  • Изход (LM35DZ) → A0 (PICO)

Стъпка 5: Окончателният код

Окончателният кодекс
Окончателният кодекс
Окончателният кодекс
Окончателният кодекс

Сега, когато имаме всичко свързано с нашия PICO, нека започнем да го програмираме така, че светодиодите да променят цвета си в зависимост от температурата.

За това се нуждаем от следното:

Конст. променлива, наречена "tempSensor" със стойност A0, която получава отчитането си от температурния сензор

Целочислена променлива, наречена "sensorReading" с начална стойност 0. Това е променливата, която ще запази необработеното отчитане на сензора

Плаваща променлива, наречена "volts" с начална стойност 0. Това е променливата, която ще запише преобразуваната стойност на суровото отчитане на сензора във волта

Плаваща променлива, наречена "temp" с начална стойност 0. Това е променливата, която ще запише преобразуваните показания на волта на сензора и ще ги преобразува в температура

Целочислена променлива с име "картографирана" с начална стойност 0. Това ще запази PWM стойността, в която съпоставяме временната променлива, и тази променлива контролира цвета на LED лентата

Използвайки този код, PICO ще прочете данните от температурния сензор, ще ги преобразува във волта, след това в Целзий и накрая ще картографира градуса по Целзий в стойност на ШИМ, която може да бъде прочетена от нашата LED лента, и това е точно това, от което се нуждаем.

Стъпка 6: Готови сте

Image
Image

Направихме и акрилен контейнер за LED лентата, за да я изправим по хубав начин. Можете да намерите CAD файловете тук, ако искате да ги изтеглите.

Вече имате страхотно изглеждащ LED термометър, който автоматично ви показва температурата, когато го погледнете, което е доста удобно меко казано: P

Оставете коментар, ако имате предложения или обратна връзка, и не забравяйте да ни последвате във facebook или да ни посетите на mellbell.cc за още страхотно съдържание.

Препоръчано: