İçindekiler:

PICO Kullanan RGB Termometre: 6 Adım
PICO Kullanan RGB Termometre: 6 Adım

Video: PICO Kullanan RGB Termometre: 6 Adım

Video: PICO Kullanan RGB Termometre: 6 Adım
Video: SMS ile Ev Otomasyonu (Akıllı Ev Sistemleri) - Arduino GSM Shield Kullanımı & Kodlar 2024, Kasım
Anonim
Image
Image

Bugünkü çabamızın nihai sonucu buydu. Akrilik bir kap içine yerleştirilmiş bir RGB LED şerit kullanarak odanızın ne kadar sıcak olduğunu, sıcaklığı okumak için bir sıcaklık sensörüne bağlı olan bir termometredir. Ve bu projeyi hayata geçirmek için PICO'yu kullanacağız.

Adım 1: Bileşenler

RGB Şeridi Transistörler ve Bir Güç Kaynağı ile Güçlendirme
RGB Şeridi Transistörler ve Bir Güç Kaynağı ile Güçlendirme
  • PICO, mellbell.cc'de mevcuttur (17 $)
  • 1 metre RGB LED şerit
  • 3 TIP122 Darlington transistör, ebay'de 10'luk bir paket (3,31 $)
  • 1 PCA9685 16 kanallı 12 bit PWM sürücüsü, ebay'de (2,12 ABD doları) mevcuttur
  • 12v güç kaynağı
  • 3 1k ohm direnç, ebay'de 100'lük bir paket (0,99 $)
  • Ebay'de bulunan bir breadboard (2,30 $)
  • Erkek - dişi jumper kabloları, ebay'de 40'lık bir demet (0,95 $)

Adım 2: RGB Şeridi Transistörler ve Bir Güç Kaynağı ile Güçlendirme

RGB Şeridi Transistörler ve Bir Güç Kaynağı ile Güçlendirme
RGB Şeridi Transistörler ve Bir Güç Kaynağı ile Güçlendirme
RGB Şeridi Transistörler ve Bir Güç Kaynağı ile Güçlendirme
RGB Şeridi Transistörler ve Bir Güç Kaynağı ile Güçlendirme
RGB Şeridi Transistörler ve Bir Güç Kaynağı ile Güçlendirme
RGB Şeridi Transistörler ve Bir Güç Kaynağı ile Güçlendirme

LED şeritler, LED'lerle doldurulmuş esnek devre kartlarıdır. Evinizde, arabanızda veya bisikletinizde kullanabileceğiniz için birçok şekilde kullanılırlar. Bunları kullanarak harika RGB giyilebilir ürünler bile oluşturabilirsiniz.

Peki, nasıl çalışırlar? Aslında oldukça basit. LED şeridindeki tüm LED'ler paralel olarak bağlanır ve büyük bir RGB LED gibi davranırlar. Çalıştırmak için şeridi 12v yüksek akımlı bir güç kaynağına bağlamanız yeterlidir.

LED şeridi bir mikrodenetleyici ile kontrol etmek için güç kaynağını kontrol kaynağından ayırmanız gerekir. LED şeridin 12v'ye ihtiyacı olduğundan ve mikrodenetleyicimiz bu kadar çıkış voltajı sağlayamadığından ve bu nedenle PICO'muzdan kontrol sinyallerini gönderirken harici bir 12v yüksek akım güç kaynağı bağlarız.

Ayrıca, içindeki her bir LED'in - kırmızı, yeşil ve mavi LED'lerin - çalışması için 20mA'ya ihtiyacı olduğundan, her bir RGB hücresinin akım çekişi yüksektir, bu da tek bir RGB hücresini çalıştırmak için 60mA'ya ihtiyacımız olduğu anlamına gelir. Ve bu çok problemlidir, çünkü GPIO pinlerimiz pin başına sadece maksimum 40mA sağlayabilir ve RGB şeridini doğrudan PICO'ya bağlamak onu yakacaktır, bu yüzden lütfen yapmayın.

Ancak, bir çözüm var ve buna Darlington Transistör deniyor ki bu, ihtiyaçlarımızı karşılamak için akımımızı artırmamıza yardımcı olacak çok yüksek akım kazancına sahip bir çift transistör.

Önce akım kazancı hakkında daha fazla bilgi edelim. Akım kazancı, transistörlerin bir özelliğidir, bu, transistörden geçen akımın onunla çarpılacağı anlamına gelir ve denklemi şöyle görünür:

yük akımı = giriş akımı * transistör kazancı.

Bu bir Darlington transistöründe daha da güçlüdür, çünkü bu tek bir transistör değil bir çift transistördür ve etkileri birbirleriyle çarpılarak bize büyük akım kazançları verir.

Şimdi LED şeridini harici güç kaynağımıza, transistöre ve tabii ki PICO'muza bağlayacağız.

  • Baz (transistör) → D3 (PICO)
  • Kollektör (transistör) → B (LED şerit)
  • Verici (transistör) → GND
  • +12 (LED şerit) → +12 (güç kaynağı)

PICO'nun GND'sini güç kaynakları topraklamasına bağlamayı unutmayın

Adım 3: RGB LED Şerit Renklerini Kontrol Etme

RGB LED Şeridi Renklerini Kontrol Etme
RGB LED Şeridi Renklerini Kontrol Etme
RGB LED Şeridi Renklerini Kontrol Etme
RGB LED Şeridi Renklerini Kontrol Etme
RGB LED Şeridi Renklerini Kontrol Etme
RGB LED Şeridi Renklerini Kontrol Etme

PICO'muzun tek bir PWM pinine (D3) sahip olduğunu biliyoruz, bu da 16 LED'imizi doğal olarak kontrol edemediği anlamına geliyor. Bu nedenle, PICO'nun PWM pinlerini genişletmemizi sağlayan PCA9685 16-kanal 12-bit PWM I2C modülünü tanıtıyoruz.

Her şeyden önce, I2C nedir?

I2C, cihazın adresini ve hangi verilerin gönderileceğini adresleyerek bir veya daha fazla cihazla iletişim kurmak için sadece 2 kablo içeren bir iletişim protokolüdür.

İki tür cihaz vardır: Birincisi, veri göndermekten sorumlu olan ana cihaz, diğeri ise verileri alan bağımlı cihazdır. İşte PCA9685 modülünün pin çıkışları:

  • VCC → Bu, kartın kendisinin gücüdür. 3-5v maks.
  • GND → Bu negatif pindir ve devreyi tamamlamak için GND'ye bağlanmalıdır.
  • V+ → Bu, servolardan herhangi biri modülünüze bağlıysa servolara güç sağlayacak isteğe bağlı bir güç pimidir. Herhangi bir servo kullanmıyorsanız, bağlantısını kesebilirsiniz.
  • SCL → Seri saat pimi ve onu PICO'nun SCL'sine bağlarız.
  • SDA → Seri Veri pini ve onu PICO'nun SDA'sına bağlarız.
  • OE → çıkış etkin pin, bu pin DÜŞÜK aktiftir, pin DÜŞÜK olduğunda tüm çıkışlar etkinleştirilir, YÜKSEK olduğunda tüm çıkışlar devre dışı bırakılır. Ve bu isteğe bağlı pin, modülün pinlerini hızlı bir şekilde etkinleştirmek veya devre dışı bırakmak için kullanılır.

16 bağlantı noktası vardır, her bağlantı noktası V+, GND, PWM'ye sahiptir. Her PWM pini tamamen bağımsız çalışır ve servolar için ayarlanmıştır ancak LED'ler için kolayca kullanabilirsiniz. Her PWM 25mA akımı kaldırabilir, bu yüzden dikkatli olun.

Artık modülümüzün pinlerinin ne olduğunu ve ne yaptığını bildiğimize göre, RGB LED şeridimizi kontrol edebilmemiz için PICO'nun PWM pinlerinin sayısını artırmak için kullanalım.

Bu modülü TIP122 transistörlerle birlikte kullanacağız ve bunları PICO'nuza şu şekilde bağlamanız gerekir:

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

PICO'nun GND'sini güç kaynağının GND'sine bağlamayı unutmayın. PCA9685 VCC pinini güç kaynağının +12 voltuna BAĞLAMADIĞINIZDAN emin olun, aksi takdirde hasar görür

Adım 4: Sensörün Okumasına Bağlı Olarak RGB LED Şerit Rengini Kontrol Edin

Sensörün Okumasına Bağlı Olarak RGB LED Şerit Rengini Kontrol Edin
Sensörün Okumasına Bağlı Olarak RGB LED Şerit Rengini Kontrol Edin
Sensörün Okumasına Bağlı Olarak RGB LED Şerit Rengini Kontrol Edin
Sensörün Okumasına Bağlı Olarak RGB LED Şerit Rengini Kontrol Edin

Bu projedeki son adımdır ve onunla birlikte projemiz "aptal" olmaktan akıllı olmaya ve çevreye bağlı olarak hareket etme yeteneğine sahip olmaya dönüşecektir. Bunu yapmak için PICO'muzu LM35DZ sıcaklık sensörüne bağlayacağız.

Bu sensör, etrafındaki sıcaklığa bağlı olan bir analog çıkış voltajına sahiptir. 0 Santigrat'a karşılık gelen 0v'de başlar ve 0c'nin üzerindeki her derece için voltaj 10mV artar. Bu bileşen çok basittir ve sadece 3 bacağı vardır ve aşağıdaki şekilde bağlanırlar:

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

Adım 5: Son Kod

Son Kod
Son Kod
Son Kod
Son Kod

Artık PICO'muza bağlı her şeye sahip olduğumuza göre, LED'lerin sıcaklığa bağlı olarak renk değiştirmesi için programlamaya başlayalım.

Bunun için aşağıdakilere ihtiyacımız var:

Bir inşaat Sıcaklık sensöründen okumasını alan A0 değerine sahip "tempSensor" adlı değişken

Başlangıç değeri 0 olan "sensorReading" adlı bir tamsayı değişkeni. Bu, ham sensör okumasını kaydedecek değişkendir

Başlangıç değeri 0 olan "volt" adlı bir şamandıra değişkeni. Dönüştürülen sensörün ham okuma değerini volta kaydedecek olan değişkendir

Başlangıç değeri 0 olan "temp" adlı bir kayan değişken. Bu, dönüştürülmüş sensör volt okumalarını kaydedecek ve sıcaklığa dönüştürecek değişkendir

Başlangıç değeri 0 olan "mapped" adlı bir Tamsayı değişkeni. Bu, temp değişkenini eşlediğimiz PWM değerini kaydeder ve bu değişken LED şerit rengini kontrol eder

Bu kodu kullanarak, PICO, sıcaklık sensörünün verilerini okuyacak, onu volta, ardından Santigrat'a dönüştürecek ve son olarak, Santigrat derecesini LED şeridimiz tarafından okunabilen bir PWM değerine eşleyecek ve tam da ihtiyacımız olan şey bu.

Adım 6: Bitirdiniz

Image
Image

LED şeridin güzel bir şekilde ayakta durması için akrilik bir kap da yaptık. İndirmek isterseniz CAD dosyalarını burada bulabilirsiniz.

Artık, baktığınızda size sıcaklığı otomatik olarak söyleyen harika görünümlü bir LED termometreniz var, ki bu da en hafif tabiriyle oldukça uygun:P

Herhangi bir öneriniz veya geri bildiriminiz varsa yorum bırakın ve daha fazla harika içerik için bizi facebook'ta takip etmeyi veya mellbell.cc'de bizi ziyaret etmeyi unutmayın.

Önerilen: