Мазмуну:
- 1 -кадам: Компоненттер
- 2 -кадам: RGB тилкесин транзисторлор жана кубат булагы менен иштетүү
- 3 -кадам: RGB LED тилкесинин түстөрүн көзөмөлдөө
- 4 -кадам: RGB LED тилкесинин түсүн сенсордун окуусуна жараша көзөмөлдөңүз
- 5 -кадам: Акыркы код
- 6 -кадам: Сиз бүттүңүз
Video: PICO колдонуу RGB термометр: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул биздин бүгүнкү аракетибиздин акыркы натыйжасы болду. Бул термометр, бул температураны окуу үчүн температура сенсоруна туташкан акрил идишке жайгаштырылган RGB LED тилкесин колдонуу менен сиздин бөлмөңүздө канчалык жылуу экенин билдирип турат. Бул долбоорду ишке ашыруу үчүн биз PICO колдонобуз.
1 -кадам: Компоненттер
- PICO, mellbell.cc жеткиликтүү ($ 17)
- 1 метр RGB LED тилкеси
- 3 TIP122 Darlington транзистору, ebayдеги 10 таңгак ($ 3.31)
- 1 PCA9685 16 каналдуу 12 бит PWM драйвери, ebayде жеткиликтүү ($ 2.12)
- 12в кубат булагы
- 3 1k ohm резисторлору, ebayдеги 100 таңгак ($ 0.99)
- Нан тактасы, ebayда жеткиликтүү ($ 2.30)
- Эркек - аял секирүүчү зымдар, ebayдеги 40 таңгак ($ 0.95)
2 -кадам: RGB тилкесин транзисторлор жана кубат булагы менен иштетүү
LED тилкелери - бул LED менен толтурулган ийкемдүү схемалар. Алар ар кандай жолдор менен колдонулат, анткени сиз аларды үйүңүздө, машинаңызда же велосипедде колдоно аласыз. Аларды колдонуу менен сиз RGB салкын кийимдерин түзө аласыз.
Ошентип, алар кантип иштейт? Бул чындыгында абдан жөнөкөй. LED тилкесиндеги бардык LEDлер параллель туташкан жана алар бир чоң RGB LED сыяктуу иштешет. Жана аны иштетүү үчүн, жөн гана тилкени 12в жогорку токтун булагына туташтыруу керек.
LED тилкесин микроконтроллер менен башкаруу үчүн, энергия булагын башкаруу булагынан ажыратуу керек. LED тилкесине 12 в керектелет, жана биздин микроконтроллер ушунчалык көп чыңалуу сунуш кыла албайт, ошондуктан биз тышкы 12в жогорку токтун булагын туташтырып, башкаруу сигналдарын биздин PICOдон жөнөтөбүз.
Ошондой эле, ар бир RGB уячасынын учурдагы тартылуусу жогору, андагы ар бир LED - кызыл, жашыл жана көк LEDлердин иштеши үчүн 20mA керек, башкача айтканда, бир RGB уячасын жарыктандыруу үчүн 60mA керек. Бул абдан көйгөйлүү, анткени биздин GPIO казыктары бир пинге 40 мА максимум жеткире алат жана RGB тилкесин PICOго туташтыруу аны өрттөп жиберет, андыктан муну жасабаңыз.
Бирок, бир чечим бар жана ал Дарлингтон Транзистору деп аталат, бул биздин муктаждыктарыбызды канааттандыруу үчүн агымыбызды жогорулатууга жардам бере турган, өтө жогорку токко ээ болгон транзисторлор жубу.
Келгиле, адегенде учурдагы киреше жөнүндө көбүрөөк билели. Учурдагы пайда транзисторлордун менчиги, бул транзистордон өткөн токтун көбөйтүлүшүн билдирет жана анын теңдемеси мындай болот:
жүк агымы = киргизүү агымы * транзистордук киреше.
Бул Дарлингтон транзисторунда дагы күчтүү, анткени бул бир эмес, бир жуп транзистор жана алардын эффекттери бири -бири менен көбөйтүлүп, бизге учурдагы чоң кирешелерди берет.
Эми биз LED тилкесин тышкы энергия булагыбызга, транзисторго жана албетте PICOго туташтырабыз.
- Негизги (транзистор) → D3 (PICO)
- Коллектор (транзистор) → В (LED тилкеси)
- Эмиттер (транзистор) → GND
- +12 (LED тилкеси) → +12 (энергия булагы)
PICOнун GND'ин электр булактарына туташтырууну унутпаңыз
3 -кадам: RGB LED тилкесинин түстөрүн көзөмөлдөө
Биз билебиз, биздин PICO бир PWM пини (D3) бар, бул биздин 16 светодиодду жергиликтүү түрдө башкара албайт дегенди билдирет. Мына ошондуктан биз PCA9685 16 каналдуу PWM I2C модулун киргизип жатабыз, ал бизге PICOнун PWM казыктарын кеңейтүүгө мүмкүндүк берет.
Биринчиден, I2C деген эмне?
I2C - бул бир же бир нече түзмөк менен байланышуу үчүн 2 гана зымды камтыган байланыш протоколу, бул түзмөктүн дарегине кайрылып, кайсы маалыматтарды жөнөтүү керек.
Түзмөктөрдүн эки түрү бар: биринчиси - маалыматтарды жөнөтүү үчүн жооптуу болгон башкы түзүлүш, экинчиси - маалыматты кабыл алуучу кулдук түзмөк. Бул жерде PCA9685 модулунун төөнөгүчтөрү бар:
- VCC → Бул тактанын күчү. 3-5v макс.
- GND → Бул терс пин болуп саналат жана ал схеманы аягына чыгаруу үчүн GNDге туташышы керек.
- V+ → Бул сиздин модулуңузга туташкан бирөө болсо, сервоприемниктерге энергия бере турган кошумча кубаткыч. Эгерде сиз кандайдыр бир сервоприёмду колдонбосоңуз, аны ажыратып койсоңуз болот.
- SCL → Сериялык саат пин, жана биз аны PICOнун SCLине туташтырабыз.
- SDA → Сериялык маалымат пин, жана биз аны PICOнун SDAсына туташтырабыз.
- OE → чыгаруу иштетилген пин, бул пин LOW активдүү, пин төмөн болгон учурда бардык чыгуулар иштетилет, ал жогору болгондо бардык чыгымдар өчүрүлөт. Жана бул кошумча пин модулдун казыктарын тез иштетүү же өчүрүү үчүн колдонулат.
16 порт бар, ар бир порт V+, GND, PWMге ээ. Ар бир PWM пин толугу менен көз карандысыз иштейт жана алар servo үчүн орнотулган, бирок сиз аларды LED үчүн оңой колдоно аласыз. Ар бир PWM 25мА токту башкара алат, андыктан этият болуңуз.
Эми биз модулубуздун казыктары жана ал эмне кыларын билебиз, аны PGBO PWM казыктарынын санын көбөйтүү үчүн колдонууга уруксат беребиз, ошондо биз RGB LED тилкесин башкара алабыз.
Биз бул модулду TIP122 транзисторлору менен бирге колдонобуз жана аларды PICOго кантип туташтыруу керек:
- VCC (PCA9685) → VCC (PICO).
- GND (PCA9685) → GND.
- SDA (PCA9685) → D2 (PICO).
- SCL (PCA9685) → D3 (PICO).
- PWM 0 (PCA9685) → БАЗА (биринчи TIP122).
- PWM 1 (PCA9685) → БАЗА (экинчи TIP122).
- PWM 2 (PCA9685) → BASE (үчүнчү TIP122).
PICOнун GND менен энергия булагынын GND байланыштырууну унутпаңыз. Жана PCA9685 VCC пинин электр менен камсыздоонун +12 вольтуна туташтырбаңыз, болбосо бузулат
4 -кадам: RGB LED тилкесинин түсүн сенсордун окуусуна жараша көзөмөлдөңүз
Бул бул долбоордун акыркы кадамы жана аны менен биздин долбоор "келесоо болуудан" акылдуу болууга жана айлана -чөйрөгө жараша өзүн алып жүрүү жөндөмүнө айланат. Бул үчүн биз PICOбузду LM35DZ температура сенсоруна туташтырабыз.
Бул сенсордун айланасындагы температурага көз каранды аналогдук чыгуу чыңалуусу бар. 0 Цельсий боюнча 0vден башталат жана 0c жогору болгон ар бир даража үчүн чыңалуу 10мВга жогорулайт. Бул компонент абдан жөнөкөй жана болгону 3 буту бар жана алар төмөнкүчө туташкан:
- VCC (LM35DZ) → VCC (PICO)
- GND (LM35DZ) → GND (PICO)
- Чыгаруу (LM35DZ) → A0 (PICO)
5 -кадам: Акыркы код
Эми бизде PICO менен байланышкан нерселердин бардыгы бар, аны LEDлер температурага жараша түсүн өзгөртүү үчүн программалоону баштайлы.
Бул үчүн бизге төмөнкүлөр керек:
A const. температура сенсорунан окуусун алган A0 мааниси бар "tempSensor" деп аталган өзгөрмө
Баштапкы мааниси 0 "sensorReading" деп аталган бүтүн өзгөрмө. Бул чийки сенсордун окуусун сактап калат
Баштапкы мааниси 0 "вольт" деп аталган калкыма өзгөрмөсү. Бул өзгөрүлгөн сенсордун чийки окуу маанисин вольтко сактап калат
Баштапкы мааниси 0 "temp" деп аталган калкыма өзгөрмөсү. Бул которулган сенсор вольттун көрсөткүчтөрүн сактап, аны температурага айландыруучу өзгөрмө
Баштапкы мааниси 0 болгон "картага түшүрүлгөн" бүтүн өзгөрмө. Бул биз температуранын өзгөрмөсүн картага алган PWM маанисин сактап калат жана бул өзгөрмө LED тилкесинин түсүн башкарат
Бул кодду колдонуп, PICO температура сенсорунун маалыматын окуйт, аны вольтко, андан кийин Цельсийге айландырат жана акыры Цельсий даражасын PWM маанисине картага түшүрөт, аны биздин LED тилкесибиз окуй алат жана дал ушул бизге керек.
6 -кадам: Сиз бүттүңүз
Биз ошондой эле LED тилкеси үчүн акрил идиш жасадык, ал жакшы турушу үчүн. CAD файлдарын бул жерден таба аласыз, эгерде сиз аларды жүктөгүңүз келсе.
Сизде азыр эң сонун көрүнгөн LED термометр бар, ал сизге температураны карасаңыз автоматтык түрдө айтат, бул эң аз дегенде айтуу үчүн абдан ыңгайлуу: P
Эгерде сизде кандайдыр бир сунуштар же сын -пикирлер болсо, комментарий калтырыңыз жана бизди фейсбуктан ээрчигенди же mellbell.cc баракчасына кирип, укмуштуудай мазмунга ээ болууну унутпаңыз.
Сунушталууда:
Байланышсыз термометр / портативдүү термометр катары смартфонду колдонуңуз: 8 кадам (сүрөттөр менен)
Смартфонду контактсыз термометр / портативдүү термометр катары колдонуңуз: термо тапанча сыяктуу контактсыз / контактсыз дене температурасын өлчөө. Мен бул долбоорду түздүм, анткени Thermo Gun азыр абдан кымбат, ошондуктан DIY жасоого альтернатива алышым керек. Ал эми максаты аз бюджеттик версиясы менен жасалат.SuppliesMLX90614Ardu
Санарип термометр DHT11 ESP8266 колдонуу: 4 кадам
Санарип термометр DHT11 ESP8266 колдонуу менен: Мурунку макалада мен DH11ди жана аны 7 Segment, LCD, Serial monitor жана RGB ring сыяктуу чыгаруучу түзмөктөрдө кантип көрсөтүү керектигин талкууладым. уюлдук телефондо браузерди колдонуу
Ардуиного негизделген байланышсыз инфракызыл термометр - IR негизделген термометр Arduino колдонуу: 4 кадам
Ардуиного негизделген байланышсыз инфракызыл термометр | IR негизделген термометр Arduino колдонуу: Салам балдар бул көрсөтмөлөрдө биз ардуинону колдонобуз. ошол сахнада температура
Санариптик термометр NodeMCU жана LM35ти колдонуу: 5 кадам
Санариптик термометр NodeMCU жана LM35ти колдонуп: Интернеттен каалаган жерден санарип термометрин түзүп, температурасын көзөмөлдөп туруу керек. Биз LM35 температура сенсорун NodeMCU 1.0 (ESP-12E) менен байланыштырабыз. LM35-температура сенсору
PICO колдонуу менен үйдү жарык кылуу: 9 кадам
PICO аркылуу үйдөгү жарыктандыруу: Жарыктын түсүн өзгөртүү менен бөлмөнүн маанайын өзгөрткүңүз келген жок беле? Ооба, бүгүн сиз так ушундай кылууну үйрөнөсүз. Анткени, бул долбоор менен сиз каалаган жерде жайгаштыра турган Bluetooth көзөмөлдөгөн RGB чөйрө жарык системасын түзөсүз