Mündəricat:

PICO istifadə edərək RGB termometr: 6 addım
PICO istifadə edərək RGB termometr: 6 addım

Video: PICO istifadə edərək RGB termometr: 6 addım

Video: PICO istifadə edərək RGB termometr: 6 addım
Video: BTT Manta M8P v2 - Basics with CB1 v2.2 2024, Noyabr
Anonim
Image
Image

Bugünkü səyimizin son nəticəsi idi. İstiliyi oxumaq üçün bir temperatur sensoru ilə əlaqəli olan akril qabda yerləşdirilmiş bir RGB LED şeridi istifadə edərək otağınızın nə qədər isti olduğunu sizə xəbər verəcək bir termometrdir. Bu layihəni həyata keçirmək üçün PICO -dan istifadə edəcəyik.

Addım 1: Komponentlər

RGB Stripini Transistorlar və Güc mənbəyi ilə gücləndirmək
RGB Stripini Transistorlar və Güc mənbəyi ilə gücləndirmək
  • PICO, mellbell.cc saytında mövcuddur (17 dollar)
  • 1 metrlik RGB LED şeridi
  • 3 TIP122 Darlington transistoru, ebayda 10 paket (3.31 dollar)
  • 1 PCA9685 16 kanallı 12 bit PWM sürücüsü, ebay-da mövcuddur ($ 2.12)
  • 12V güc mənbəyi
  • 3 1k ohm rezistor, ebayda 100 paket (0.99 dollar)
  • Çörək taxtası, ebay -da mövcuddur (2.30 dollar)
  • Kişi - qadın tullanan tellər, ebayda 40 ədəd paket (0.95 dollar)

Addım 2: RGB Stripini Transistorlar və Güc mənbəyi ilə gücləndirmək

RGB Stripini Transistorlar və Güc mənbəyi ilə gücləndirmək
RGB Stripini Transistorlar və Güc mənbəyi ilə gücləndirmək
RGB Stripini Transistorlar və Güc mənbəyi ilə gücləndirmək
RGB Stripini Transistorlar və Güc mənbəyi ilə gücləndirmək
RGB Stripini Transistorlar və Güc mənbəyi ilə gücləndirmək
RGB Stripini Transistorlar və Güc mənbəyi ilə gücləndirmək

LED şeritləri, LED -lərlə doldurulmuş çevik lövhələrdir. Evinizdə, avtomobilinizdə və ya velosipedinizdə istifadə edə biləcəyiniz kimi bir çox cəhətdən istifadə olunur. Onlardan istifadə edərək hətta sərin RGB geyilə bilən qurğular da yarada bilərsiniz.

Yaxşı, necə işləyirlər? Əslində olduqca sadədir. LED şeridindəki bütün LEDlər paralel olaraq bağlanır və böyük bir RGB LED kimi hərəkət edirlər. Və onu işə salmaq üçün zolağı 12v yüksək cərəyan enerji mənbəyinə bağlamaq kifayətdir.

LED şeridini bir mikro nəzarətçi ilə idarə etmək üçün güc mənbəyini nəzarət mənbəyindən ayırmaq lazımdır. LED şeridinin 12v -ə ehtiyacı olduğu üçün və mikro nəzarətçimiz bu qədər çıxış gərginliyi təklif edə bilmir və buna görə də PICO -dan idarəetmə siqnallarını göndərərkən xarici 12v yüksək cərəyan mənbəyi bağlayırıq.

Həm də hər bir RGB hüceyrəsinin cari çəkilişi yüksəkdir, çünki içindəki hər bir LED - qırmızı, yaşıl və mavi LED -lərin işləməsi üçün 20mA lazımdır, bu da tək bir RGB hüceyrəsini işıqlandırmaq üçün 60mA -ya ehtiyacımız olduğunu göstərir. Və bu çox problemlidir, çünki GPIO pinlərimiz hər pin üçün maksimum 40mA təmin edə bilər və RGB şeridini birbaşa PICO -ya bağlamaq onu yandıracaq, buna görə də bunu etməyin.

Ancaq bir həll var və buna ehtiyacımızı ödəmək üçün cərəyanızı artırmağa kömək edəcək çox yüksək cərəyan qazana malik bir cüt tranzistor olan Darlington Transistoru deyilir.

Əvvəlcə cari qazanc haqqında daha çox məlumat əldə edək. Cari qazanc, tranzistordan keçən cərəyanın onunla vurulacağını bildirir və onun tənliyi belə görünür:

yük cərəyanı = giriş cərəyanı * tranzistor qazancı.

Bu, Darlington tranzistorunda daha da güclüdür, çünki tək deyil, bir cüt tranzistordur və onların təsirləri bir -biri ilə çoxalır və bizə böyük cərəyan qazandırır.

İndi LED şeridini xarici enerji mənbəyimiz olan tranzistora və əlbəttə ki, PICO -ya bağlayacağıq.

  • Baza (tranzistor) → D3 (PICO)
  • Kollektor (tranzistor) → B (LED şeridi)
  • Emitter (tranzistor) → GND
  • +12 (LED şeridi) → +12 (enerji mənbəyi)

PICO -nun GND -ni enerji mənbələrinə birləşdirməyi unutmayın

Addım 3: RGB LED şeridinin rənglərinə nəzarət

RGB LED şeridinin rənglərinə nəzarət
RGB LED şeridinin rənglərinə nəzarət
RGB LED şeridinin rənglərinə nəzarət
RGB LED şeridinin rənglərinə nəzarət
RGB LED şeridinin rənglərinə nəzarət
RGB LED şeridinin rənglərinə nəzarət

PICO -nun tək bir PWM pininə (D3) sahib olduğunu bilirik ki, bu da 16 LED -i yerli olaraq idarə edə bilmir. Bu səbəbdən PICO-nun PWM sancaqlarını genişləndirməyə imkan verən PCA9685 16 kanallı 12 bit PWM I2C modulunu təqdim edirik.

Əvvəla, I2C nədir?

I2C, cihazın ünvanını və hansı məlumatları göndərməklə bir və ya daha çox cihazla əlaqə qurmaq üçün yalnız 2 teldən ibarət olan bir əlaqə protokoludur.

İki növ cihaz var: Birincisi, məlumatların göndərilməsindən məsul olan əsas cihaz, digəri isə məlumatı qəbul edən qul cihazdır. PCA9685 modulunun pin çıxışları:

  • VCC → Bu, lövhənin öz gücüdür. Maksimum 3-5v
  • GND → Bu mənfi pindir və dövrəni tamamlamaq üçün GND -yə qoşulmalıdır.
  • V+ → Bu, modulunuza hər hansı biri qoşulduqda servoları enerji ilə təmin edəcək isteğe bağlı bir pindir. Heç bir servo istifadə etmirsinizsə, onu əlaqəsiz olaraq tərk edə bilərsiniz.
  • SCL → Serial saat pimi və biz onu PICO SCL -ə bağlayırıq.
  • SDA → Serial Data pin və onu PICO -nun SDA -ya bağlayırıq.
  • OE → çıxış effektiv pin, bu pin LOW aktivdir, pin LOW olduqda bütün çıxışlar aktivdir, YÜKSƏK olduqda bütün çıxışlar deaktiv edilir. Və bu isteğe bağlı pin, modul sancaqlarını tez bir zamanda aktivləşdirmək və ya söndürmək üçün istifadə olunur.

16 liman var, hər portda V+, GND, PWM var. Hər bir PWM pin tamamilə müstəqil işləyir və servolar üçün qurulub, ancaq onları LED -lər üçün asanlıqla istifadə edə bilərsiniz. Hər bir PWM 25mA cərəyanı idarə edə bilər, buna görə diqqətli olun.

İndi modulumuzun pinlərini və nə etdiyini bildiyimiz üçün, RGB LED şeridimizi idarə edə bilmək üçün PICO -nun PWM pinlərinin sayını artırmaq üçün istifadə etməyə imkan verir.

Bu modulu TIP122 tranzistorları ilə birlikdə istifadə edəcəyik və bunları PICO -ya necə bağlamalısınız:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → BAZA (ilk TIP122).
  • PWM 1 (PCA9685) → BAZA (ikinci TIP122).
  • PWM 2 (PCA9685) → BAZA (üçüncü TIP122).

PICO -nun GND -ni enerji təchizatı GND -yə bağlamağı unutmayın. PCA9685 VCC pinini +12 volt gücə bağlamadığınızdan əmin olun, yoxsa zədələnəcək

Addım 4: Sensorun Oxumasından asılı olaraq RGB LED Şerit Rəngini İdarə Edin

Sensorun oxunuşundan asılı olaraq RGB LED şeridi rəngini idarə edin
Sensorun oxunuşundan asılı olaraq RGB LED şeridi rəngini idarə edin
Sensorun oxunuşundan asılı olaraq RGB LED şeridi rəngini idarə edin
Sensorun oxunuşundan asılı olaraq RGB LED şeridi rəngini idarə edin

Bu, bu layihədəki son addımdır və bununla birlikdə layihəmiz "axmaqlıqdan" ağıllı olmağa və ətrafından asılı olaraq davranış qabiliyyətinə çevriləcəkdir. Bunu etmək üçün PICO -nuzu LM35DZ temperatur sensoru ilə birləşdirəcəyik.

Bu sensor, ətrafındakı temperaturdan asılı olan analog çıxış gərginliyinə malikdir. 0 Selsi ilə əlaqəli 0v -də başlayır və 0c -dən yuxarı hər dərəcə üçün gərginlik 10mV artır. Bu komponent çox sadədir və yalnız 3 ayağı var və bunlar aşağıdakı kimi bağlanır:

  • VCC (LM35DZ) → VCC (PICO)
  • GND (LM35DZ) → GND (PICO)
  • Çıxış (LM35DZ) → A0 (PICO)

Addım 5: Son Kod

Yekun Kod
Yekun Kod
Yekun Kod
Yekun Kod

İndi PICO -ya bağlı hər şeyə sahib olduğumuzdan, LED -lərin temperaturdan asılı olaraq rəngini dəyişməsi üçün onu proqramlaşdırmağa başlayaq.

Bunun üçün aşağıdakılara ehtiyacımız var:

Bir konst. temperatur sensorundan oxunuşunu alan A0 dəyərli "tempSensor" adlı dəyişən

Başlanğıc dəyəri 0 olan "sensorReading" adlı tam ədəd dəyişənidir. Bu, xam sensorun oxunuşunu xilas edəcək dəyişəndir

Başlanğıc dəyəri 0 olan "volts" adlı bir dəyişkən dəyişəndir. Bu, çevrilmiş sensorun xam oxu dəyərini volta saxlayacaq dəyişəndir

Başlanğıc dəyəri 0 olan "temp" adlı bir üzən dəyişən. Bu, çevrilən sensor volt oxunuşlarını saxlayacaq və onu temperatura çevirəcək dəyişəndir

Başlanğıc dəyəri 0 olan "mapped" adlı bir Tamsayı dəyişən. Bu, temp dəyişəninin xəritələndirdiyi PWM dəyərini xilas edəcək və bu dəyişən LED şeridi rəngini idarə edir

Bu kodu istifadə edərək, PICO, temperatur sensörünün məlumatlarını oxuyacaq, volta, sonra Selsiyə çevirəcək və nəhayət, Selsi dərəcəsini LED şeridimiz tərəfindən oxunacaq bir PWM dəyərinə uyğunlaşdıracaq və bu bizə lazım olan şeydir.

Addım 6: Hazırsınız

Image
Image

Gözəl bir şəkildə ayağa qalxması üçün LED şeridi üçün akril qab hazırladıq. Yükləmək istəyirsinizsə CAD fayllarını burada tapa bilərsiniz.

İndi inanılmaz dərəcədə əlverişli olan baxdığınız zaman temperaturu avtomatik olaraq bildirən möhtəşəm bir LED termometriniz var: P

Hər hansı bir təklifiniz və ya geribildiriminiz varsa bir şərh yazın və daha zəhmli məzmun üçün bizi facebook -da izləməyi və ya mellbell.cc -də ziyarət etməyi unutmayın.

Tövsiyə: