Mundarija:

PICO yordamida RGB termometr: 6 qadam
PICO yordamida RGB termometr: 6 qadam

Video: PICO yordamida RGB termometr: 6 qadam

Video: PICO yordamida RGB termometr: 6 qadam
Video: drone #shorts 2024, Iyul
Anonim
Image
Image

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

RGB chizig'ini tranzistorlar va quvvat manbai bilan quvvatlantirish
RGB chizig'ini tranzistorlar va quvvat manbai bilan quvvatlantirish
  • 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

RGB chizig'ini tranzistorlar va quvvat manbai bilan quvvatlantirish
RGB chizig'ini tranzistorlar va quvvat manbai bilan quvvatlantirish
RGB chizig'ini tranzistorlar va quvvat manbai bilan quvvatlantirish
RGB chizig'ini tranzistorlar va quvvat manbai bilan quvvatlantirish
RGB chizig'ini tranzistorlar va quvvat manbai bilan quvvatlantirish
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

RGB LED chizig'ining ranglarini boshqarish
RGB LED chizig'ining ranglarini boshqarish
RGB LED chizig'ining ranglarini boshqarish
RGB LED chizig'ining ranglarini boshqarish
RGB LED chizig'ining ranglarini boshqarish
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

Sensor o'qishiga qarab RGB LED tasmasini rangini boshqaring
Sensor o'qishiga qarab RGB LED tasmasini rangini boshqaring
Sensor o'qishiga qarab RGB LED tasmasini rangini boshqaring
Sensor o'qishiga qarab RGB LED tasmasini 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

Yakuniy kod
Yakuniy kod
Yakuniy kod
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

Image
Image

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: