Mundarija:
- 1 -qadam: komponentlar
- 2 -qadam: RGB chizig'ini tranzistorlar va quvvat manbai bilan quvvatlantirish
- 3 -qadam: RGB LED chizig'ining ranglarini boshqarish
- 4 -qadam: Sensor o'qishiga qarab RGB LED chizig'ining rangini boshqaring
- 5 -qadam: Yakuniy kod
- 6 -qadam: Siz tugadingiz
Video: PICO yordamida RGB termometr: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Bu bizning bugungi harakatlarimizning yakuniy natijasi edi. Bu termometr bo'lib, u haroratni o'lchash uchun harorat sensori bilan bog'langan akril idishga joylashtirilgan RGB LED tasmasini ishlatib, sizning xonangiz qanchalik iliqligini bildiradi. Va biz bu loyihani hayotga tatbiq etish uchun PICOdan foydalanamiz.
1 -qadam: komponentlar
- PICO, mellbell.cc saytida mavjud ($ 17)
- 1 metrli RGB LED tasmasi
- 3 TIP122 Darlington tranzistorli, ebayda 10 ta to'plam ($ 3.31)
- 1 PCA9685 16 kanalli 12 bitli PWM drayveri, ebayda mavjud ($ 2.12)
- 12V quvvat manbai
- 3 1k ohmli rezistorlar, ebayda 100 ta to'plam ($ 0.99)
- Ebayda mavjud non paneli ($ 2.30)
- Erkak - ayol jumper simlari, ebayda 40 ta to'plam (0,95 dollar)
2 -qadam: RGB chizig'ini tranzistorlar va quvvat manbai bilan quvvatlantirish
LED chiziqlar - bu LEDlar bilan to'ldirilgan moslashuvchan elektron platalar. Ular ko'p jihatdan ishlatiladi, chunki siz ularni uyingizda, mashinangizda yoki velosipedda ishlatishingiz mumkin. Siz hatto ulardan foydalangan holda ajoyib RGB taqiladigan kiyimlarni yaratishingiz mumkin.
Xo'sh, ular qanday ishlaydi? Bu aslida juda oddiy. LED chizig'idagi barcha LEDlar parallel ulangan va ular bitta katta RGB LED kabi ishlaydi. Va uni ishga tushirish uchun siz chiziqni 12V yuqori oqim quvvat manbaiga ulashingiz kifoya.
LED tasmasini mikrokontroller bilan boshqarish uchun quvvat manbaini nazorat manbaidan ajratish kerak. Chunki LED chizig'iga 12V kerak, va bizning mikrokontrollerimiz bu qadar yuqori voltli kuchlanishni ta'minlay olmaydi va shuning uchun biz PICO -dan nazorat signallarini yuborish bilan birga tashqi 12V yuqori oqim manbaiga ulanamiz.
Bundan tashqari, har bir RGB katakchasining joriy chizig'i yuqori, chunki har bir LED - qizil, yashil va ko'k LEDlarning ishlashi uchun 20mA kerak, ya'ni bitta RGB yacheykasini yoqish uchun bizga 60mA kerak. Va bu juda muammoli, chunki bizning GPIO pinlari har bir pin uchun maksimal 40mA etkazib berishi mumkin va RGB tasmasini PICO -ga to'g'ridan -to'g'ri ulash uni yoqib yuboradi, shuning uchun buni qilmang.
Ammo, yechim bor va u Darlington tranzistori deb ataladi, bu juda yuqori oqimga ega bo'lgan tranzistorlar, bu bizga ehtiyojimizni qondirish uchun oqimimizni kuchaytirishga yordam beradi.
Keling, hozirgi daromad haqida ko'proq bilib olaylik. Joriy daromad - bu tranzistorlarning xususiyati, ya'ni tranzistor orqali o'tadigan oqim unga ko'paytiriladi va uning tenglamasi quyidagicha ko'rinadi:
yuk oqimi = kirish oqimi * tranzistorli daromad.
Bu Darlington tranzistorida yanada kuchliroq, chunki u bitta emas, balki bir juft tranzistor bo'lib, ularning ta'siri bir -biriga ko'payib, bizga katta daromad keltiradi.
Endi biz LED tasmasini tashqi quvvat manbaiga, tranzistorga va albatta PICO -ga ulaymiz.
- Asosiy (tranzistor) → D3 (PICO)
- Kollektor (tranzistor) → B (LED tasmasi)
- Emitent (tranzistor) → GND
- +12 (LED tasmasi) → +12 (quvvat manbai)
PICO GND -ni quvvat manbalariga ulashni unutmang
3 -qadam: RGB LED chizig'ining ranglarini boshqarish
Biz bilamizki, bizning PICO -da bitta PWM pin (D3) bor, bu bizning 16 ta LEDni o'z -o'zidan boshqarolmaydi. Shuning uchun biz PCA9685 16 kanalli 12 bitli PWM I2C modulini taqdim etmoqdamiz, bu bizga PICO PWM pinlarini kengaytirish imkonini beradi.
Birinchidan, I2C nima?
I2C - bu bir yoki bir nechta qurilmalar bilan aloqa qilish uchun qurilmaning manzilini va qaysi ma'lumotlarni yuborish orqali faqat 2 ta simni o'z ichiga olgan aloqa protokoli.
Ikkita turdagi qurilmalar mavjud: birinchisi - ma'lumotlarni uzatish uchun mas'ul bo'lgan asosiy qurilma, ikkinchisi - ma'lumotlarni qabul qiladigan qul qurilmasi. Bu erda PCA9685 modulining pinli chiqishlari:
- VCC → Bu boshqaruv kengashining kuchi. Maksimal 3-5V
- GND → Bu manfiy pim va kontaktlarning zanglashiga olib kelishi uchun u GND ga ulangan bo'lishi kerak.
- V+ → Bu sizning ixtiyoriy modulingiz ulangan bo'lsa, servolarni quvvat bilan ta'minlaydigan ixtiyoriy quvvat pinidir. Agar siz hech qanday servo ishlatmasangiz, uni uzib qo'yishingiz mumkin.
- SCL → Seriyali soat pimi va biz uni PICO ning SCL -ga ulaymiz.
- SDA → Seriya ma'lumotlari pinasi va biz uni PICO SDA -ga ulaymiz.
- OE → chiqish yoqilgan pin, bu pin LOW faol, pin LOW bo'lsa, barcha chiqishlar yoqiladi, yuqori bo'lsa, barcha chiqish o'chiriladi. Va bu ixtiyoriy pin modul pinlarini tezda yoqish yoki o'chirish uchun ishlatiladi.
16 ta port bor, har bir portda V+, GND, PWM mavjud. Har bir PWM pinasi mustaqil ravishda ishlaydi va ular servo uchun o'rnatiladi, lekin siz ularni LEDlar uchun osongina ishlatishingiz mumkin. Har bir PWM 25 mA tokni boshqarishi mumkin, shuning uchun ehtiyot bo'ling.
Endi biz modulning pinlari nima ekanligini va nima qilayotganini bilganimizdan, RGB LED tasmasini boshqarishimiz uchun PICO PWM pinlarining sonini ko'paytirish uchun foydalanishga ruxsat beramiz.
Biz ushbu modulni TIP122 tranzistorlari bilan birga ishlatmoqchimiz va siz ularni PICO -ga shunday ulashingiz kerak:
- VCC (PCA9685) → VCC (PICO).
- GND (PCA9685) → GND.
- SDA (PCA9685) → D2 (PICO).
- SCL (PCA9685) → D3 (PICO).
- PWM 0 (PCA9685) → BASE (birinchi TIP122).
- PWM 1 (PCA9685) → BASE (ikkinchi TIP122).
- PWM 2 (PCA9685) → BASE (uchinchi TIP122).
PICO GND -ni GND quvvat manbaiga ulashni unutmang. PCA9685 VCC pinini +12 voltli quvvat manbaiga ulamang, aks holda u shikastlanadi
4 -qadam: Sensor o'qishiga qarab RGB LED chizig'ining rangini boshqaring
Bu loyihadagi oxirgi qadam va uning yordamida bizning loyihamiz "ahmoqlik" dan aqlli bo'lishga va o'z muhitiga qarab o'zini tutish qobiliyatiga aylanadi. Buning uchun biz PICO -ni LM35DZ harorat sensori bilan bog'laymiz.
Bu sensor atrofidagi haroratga bog'liq bo'lgan analog chiqish voltajiga ega. U 0 Selsiyga mos keladigan 0v dan boshlanadi va 0c dan yuqori har bir daraja uchun kuchlanish 10mV ga oshadi. Bu komponent juda oddiy va faqat 3 ta oyog'i bor va ular quyidagicha bog'langan:
- VCC (LM35DZ) → VCC (PICO)
- GND (LM35DZ) → GND (PICO)
- Chiqish (LM35DZ) → A0 (PICO)
5 -qadam: Yakuniy kod
Endi bizda PICO bilan bog'liq hamma narsa bor, shuning uchun LEDlar haroratga qarab rangini o'zgartirishi uchun dasturlashni boshlaylik.
Buning uchun bizga quyidagilar kerak:
Konst. "tempSensor" deb nomlangan o'zgaruvchi A0 qiymatiga ega, u o'qishni harorat sensori orqali oladi
Boshlang'ich qiymati 0 bo'lgan "sensorReading" nomli tamsayı o'zgaruvchisi. Bu sensor sensori o'qilishini saqlaydigan o'zgaruvchi
Boshlang'ich qiymati 0 bo'lgan "volts" nomli o'zgaruvchan o'zgaruvchi. Bu o'zgaruvchan sensori xom o'qish qiymatini voltgacha saqlaydi
"Temp" deb nomlangan float o'zgaruvchisi boshlang'ich qiymati 0. Bu o'zgaruvchan sensori volt o'qilishini saqlaydi va uni haroratga aylantiradi
Boshlang'ich qiymati 0 bo'lgan "xaritada" nomli butun sonli o'zgaruvchi. Bu biz o'zgaruvchini xaritaga kiritadigan PWM qiymatini saqlaydi va bu o'zgaruvchi LED chizig'ining rangini boshqaradi
Ushbu koddan foydalanib, PICO harorat sensori ma'lumotlarini o'qiydi, uni voltga, keyin Selsiyga aylantiradi va nihoyat, Selsiy darajasini PWM qiymatiga moslashtiradi, uni bizning LED chizig'imiz o'qishi mumkin va aynan shu bizga kerak.
6 -qadam: Siz tugadingiz
Bundan tashqari, biz LED tasmasini chiroyli tarzda turishi uchun akril idish yasadik. Agar siz SAPR fayllarini yuklab olishni xohlasangiz, bu erda topishingiz mumkin.
Endi sizda ajoyib ko'rinadigan LED termometr bor, u sizga haroratni qaraganingizda avtomatik ravishda xabar beradi, bu eng kam aytganda juda qulay: P
Agar sizda biron bir taklif yoki mulohazangiz bo'lsa, sharh qoldiring va bizni Facebookda kuzatishni yoki mellbell.cc saytiga tashrif buyurib, yanada ajoyib tarkibni olishni unutmang.
Tavsiya:
OLED moduli yordamida DIY xonali termometr: 7 qadam (rasmlar bilan)
OLED moduli yordamida DIY xonali termometr: DS18B20 sensori va OLED moduli yordamida xona termometrini yasashni o'rganamiz. Biz asosiy taxta sifatida Piksey Pico -dan foydalanamiz, lekin eskiz ham Arduino UNO va Nano platalari bilan mos keladi, shuning uchun siz ham ulardan foydalanishingiz mumkin
Smartfondan kontaktsiz termometr / portativ termometr sifatida foydalaning: 8 qadam (rasmlar bilan)
Smartfonni kontaktsiz termometr / portativ termometr sifatida ishlating: tana haroratini kontaktsiz / kontaktsiz termometr kabi o'lchash. Men bu loyihani yaratdim, chunki Thermo Gun hozir juda qimmat, shuning uchun men DIY qilish uchun alternativa olishim kerak. Maqsad - byudjetning past versiyasi. Ta'minotlarMLX90614Ardu
Raqamli termometr DHT11 ESP8266 yordamida: 4 qadam
Raqamli termometr DHT11 ESP8266 yordamida: Oldingi maqolada men DH11 va uni 7 segment, LCD, seriyali monitor va RGB uzuk kabi chiqish qurilmalarida qanday ko'rsatish haqida gaplashdim va bu maqolada men sizga harorat va namlikni qanday kuzatishni ko'rsataman mobil telefonda brauzerdan foydalanish
Arduino asosidagi kontaktsiz infraqizil termometr - Arduino yordamida IQ asosidagi termometr: 4 qadam
Arduino asosidagi kontaktsiz infraqizil termometr | IQ asosidagi termometr Arduino yordamida: Salom bolalar, biz ko'rsatma beramiz, biz arduino yordamida aloqa qilmaydigan termometrni yaratamiz, chunki ba'zida suyuqlik/qattiqning harorati juda yuqori yoki pastgacha bo'ladi, keyin u bilan aloqa qilish va uni o'qish qiyin. bu sahnada harorat
NodeMCU va LM35 yordamida raqamli termometr: 5 qadam
NodeMCU va LM35 yordamida raqamli termometr: O'zingizning raqamli termometringizni yarating va har qanday joydan Internet orqali haroratni kuzatib turing. Biz LM35 harorat sensori bilan NodeMCU 1.0 (ESP-12E) bilan bog'lanamiz. LM35-bu harorat sensori