• RGB LED'i Arduino'ya bağlama. RGB LED'ler: Adreslenebilir LED Şerit

    Arduino, herhangi bir cihazı kontrol etmek için idealdir. ATmega mikroişlemcisi, bir çizim programı kullanarak, büyük miktar ayrık çıkışlar, analog-dijital girişler/çıkışlar ve PWM kontrolörleri.

    Kodun esnekliği nedeniyle, ATmega mikrodenetleyici, çeşitli otomasyon modüllerinde yaygın olarak kullanılmaktadır, buna dayanarak bir LED aydınlatma kontrol kontrolörü oluşturmak mümkündür.

    Arduino ile yük kontrolü prensibi

    Arduino kartında iki tip çıkış portu vardır: dijital ve analog (PWM denetleyici). Dijital bağlantı noktasının iki olası durumu vardır - mantıksal sıfır ve mantıksal bir. Bir LED bağlarsanız, ya yanar ya da yanmaz.

    Analog çıkış, ayarlanabilir bir görev döngüsü ile yaklaşık 500 Hz frekansa sahip bir sinyalin uygulandığı bir PWM denetleyicisidir. PWM denetleyicisi nedir ve nasıl çalıştığı İnternette bulunabilir. Başından sonuna kadar analog bağlantı noktası sadece yükü açıp kapatmak değil, üzerindeki voltajı (akımı) değiştirmek de mümkündür.

    Komut sözdizimi

    Dijital çıkış:

    pinMode(12, ÇIKIŞ);- 12 numaralı bağlantı noktasını veri çıkış bağlantı noktası olarak ayarlayın;
    digitalWrite(12, YÜKSEK);- LED'i aydınlatan ayrık çıkış 12'ye mantıksal bir birim uyguluyoruz.

    Analog çıkış:

    analogOutPin = 3;- bağlantı noktası 3'ü bir analog değer çıkışı verecek şekilde ayarlayın;
    analogWrite(3, değer);- çıkışta 0 ila 5V voltajlı bir sinyal oluşturuyoruz. Değer – 0 ila 255 arası sinyal görev döngüsü. 255 değeriyle, maksimum voltaj.

    Arduino ile LED'leri kontrol etmenin yolları

    Doğrudan bağlantı noktası üzerinden yalnızca zayıf bir LED bağlanabilir ve o zaman bile sınırlayıcı bir dirençle daha iyidir. Daha güçlü bir yük bağlamaya çalışmak onu devre dışı bırakır.

    LED şeritler dahil daha güçlü yükler için bir elektronik anahtar - bir transistör kullanılır.

    Transistör anahtar türleri

    • iki kutuplu;
    • Alan;
    • Kompozit (Darlington montajı).
    Yük bağlantı yöntemleri
    Başından sonuna kadar iki kutuplu transistör Bir alan etkili transistör aracılığıyla Voltaj anahtarı ile

    Yüksek bir mantık seviyesi uygulandığında (digitalWrite(12, YÜKSEK);)çıkış portundan transistörün tabanına toplayıcı-emitör zinciri yoluyla, referans voltajı yüke akacaktır. Bu şekilde LED'i açıp kapatabilirsiniz.

    Alan etkili bir transistör benzer şekilde çalışır, ancak akımla değil voltajla kontrol edilen bir "taban" yerine bir tahliyeye sahip olduğundan, bu devrede bir sınırlayıcı direnç isteğe bağlıdır.

    Bipolar görünüm, güçlü yükleri düzenlemenize izin vermez. İçinden geçen akım 0.1-0.3A seviyesinde sınırlıdır.

    Alan etkili transistörler, 2A'e kadar akımla daha güçlü yüklerle çalışır. daha fazlası için güçlü yük kullanmak FET'ler 9A'ya kadar akım ve 60V'a kadar voltaj ile Mosfet.

    Alan yerine, ULN2003, ULN2803 mikro devrelerinde Darlington çift kutuplu transistör grubunu kullanabilirsiniz.

    Elektronik voltaj anahtarının ULN2003 çipi ve devre şeması:

    LED şeridin düzgün kontrolü için transistörün çalışma prensibi

    Transistör, sadece elektronlar için bir musluk gibi çalışır. Bipolar transistörün tabanına sağlanan voltaj veya alanın boşalması etkisi ne kadar yüksekse, emitör-toplayıcı zincirindeki direnç o kadar düşük, yükten geçen akım o kadar yüksek olur.

    Transistörü Arduino analog portuna bağlayarak, ona 0 ile 255 arasında bir değer atayın, toplayıcıya veya tahliyeye uygulanan voltajı 0'dan 5V'a değiştirin. Kollektör-emetör devresi sayesinde yük referans geriliminin %0'ından %100'üne geçecektir.

    LED'i kontrol etmek için teyp arduino uygun güçte bir transistör seçmek gereklidir. LED metreye güç sağlamak için çalışma akımı 300-500mA'dır, bu amaç için bir güç bipolar transistörü uygundur. Daha uzun uzunluklar için bir alan etkili transistör gereklidir.

    şema LED bağlantıları arduino için bantlar:

    Andurino ile RGB Bant Kontrolü

    Arduino, tek çipli LED'lerin yanı sıra renkli LED'lerle de çalışabilir. Her bir rengin çıkışlarını Arduino analog çıkışlarına bağlayarak, her bir kristalin parlaklığını keyfi olarak değiştirerek istediğiniz parlaklık rengini elde edebilirsiniz.

    Arduino RGB LED için bağlantı şeması:

    Arduino RGB teyp kontrolü benzer şekilde oluşturulmuştur:

    Arduino RGB denetleyicisi en iyi alan etkili transistörlerde toplanır.

    İçin pürüzsüz kontrol parlaklık iki düğme kullanılabilir. Biri ışımanın parlaklığını artıracak, diğeri azalacaktır.

    Arduino LED Şerit Parlaklık Kontrol Çizimi

    int led = 120; düzenlemek ortalama seviye parlaklık

    geçersiz kurulum()(
    pinMode(4, ÇIKIŞ); 4. analog bağlantı noktasını çıkış olarak ayarlayın
    pinMode(2, GİRİŞ);

    pinMode(4, GİRİŞ); düğmeleri yoklamak için giriş için 2. ve 4. dijital bağlantı noktasını ayarlayın
    }
    geçersiz döngü()(

    button1 = digitalRead(2);

    button2 = digitalRead(4);
    eğer (düğme1 == YÜKSEK) ilk düğmeye basmak parlaklığı artıracaktır
    {
    led=led+5;

    analogWrite(4, led);
    }
    eğer (düğme2 == YÜKSEK) ikinci düğmeye basmak parlaklığı azaltır
    {
    led \u003d led - 5;

    analogWrite(4, led);
    }

    Birinci veya ikinci düğmeyi basılı tutarken, kontrol kontağına uygulanan voltaj yumuşak bir şekilde değişir. elektronik anahtar. Ardından, parlaklıkta yumuşak bir değişiklik olacaktır.

    Arduino kontrol modülleri

    Tam teşekküllü bir LED şerit sürücüsü oluşturmak için sensör modüllerini kullanabilirsiniz.

    IR kontrolü

    Modül, 20 komuta kadar programlamaya izin verir.

    Sinyal yarıçapı yaklaşık 8 m'dir.

    Takım fiyatı 6 c.u.

    radyo kanalına göre

    100 m'ye kadar menzile sahip dört kanallı ünite

    Takım fiyatı 8 c.u.

    Daireye yaklaşırken bile aydınlatmayı açmanıza izin verir.

    Temassız

    Mesafe sensörü, eli hareket ettirerek ışığın parlaklığını artırabilir ve azaltabilir.

    5 m'ye kadar menzil.

    Modül fiyatı 0,3 c.u.

    NEDEN OLMUŞ RGB şeritüzerine iletkenler ve RGB LED'ler (tam renkli) uygulanmış esnek bir banttır. İÇİNDE Son zamanlarda LED şeritler mimaride, araba ve motosiklet ayarlarında, kostümlerde, dekorasyonlarda vb. yaygın olarak kullanılmaktadır. Örneğin yüzme havuzlarında kullanılabilen su geçirmez bantlar da vardır.

    İki tür LED şerit vardır: analog ve dijital.
    Analog teyplerde tüm LED'ler paralel bağlanır. Bu nedenle, tüm LED şeridin rengini ayarlayabilirsiniz, ancak ayarlayamazsınız. belirli renk Belirli bir LED için. Bu bantların bağlanması kolaydır ve pahalı değildir.
    Dijital LED şeritler biraz daha karmaşıktır. Her LED için ek olarak bir mikroçip takılmıştır, bu da herhangi bir LED'i kontrol etmeyi mümkün kılar. Bu tür bantlar normalden çok daha pahalıdır.

    Bu yazımızda sadece analog LED şeritlerle çalışmayı ele alacağız.

    Analog RGB LED şeritler

    Veri Sayfası:
    - 10,5 mm genişlik, 3 mm kalınlık, segment başına 100 mm uzunluk
    - su geçirmez
    - altta 3M bant
    - maks. akım tüketimi (12V, Beyaz renk) - Segment başına 60mA
    - parlaklık rengi (dalga boyu, nm): 630nm/530nm/475nm

    RGB LED Şerit Şeması

    Bant rulolar halinde sağlanır ve 10 cm uzunluğunda bölümlerden oluşur.Her bölüm 5050 boyutunda 3 RGB LED içerir. her bölümde 9 LED olduğu ortaya çıkıyor: 3 kırmızı, 3 yeşil ve 3 mavi. Kesit sınırları işaretlenir ve bakır pedler içerir. Bu nedenle, gerekirse bant kesilebilir ve güvenli bir şekilde lehimlenebilir. LED şerit şeması:

    Enerji tüketimi

    Bandın her bölümünde seri bağlı 3 LED vardır, bu nedenle 5V'luk bir besleme çalışmaz. Güç kaynağı 12V olmalıdır, ancak voltaj ve 9V sağlayabilirsiniz, ancak o zaman LED'ler o kadar parlak yanmaz.

    Bir segment LED hattı, 12V ile çalıştırıldığında yaklaşık 20mA çeker. O. beyaz yanıyorsa (yani kırmızı %100, yeşil %100 ve mavi %100), bölümün güç tüketimi yaklaşık 60mA olacaktır.

    Artık tüm bandın mevcut tüketimini kolayca hesaplayabilirsiniz. Yani bandın uzunluğu 1 metredir. Bantta 10 adet bölüm vardır (her biri 10 cm). Beyaz renkli bant tüketimi 60mA*10=600mA veya 0.6A olacaktır. Renkler arasında PWM solma efekti kullanırsanız, güç tüketimi yarıya indirilebilir.

    Bant bağlantısı

    Bandı bağlamak için telleri 4 yastığa lehimlemek gerekir. Beyaz kabloyu +12V için, diğer renkleri LED'lerin renklerine uyacak şekilde kullandık.

    ayırmak koruyucu film bandın sonunda. Bağlantının hangi taraftan yapılacağı önemli değil çünkü. bant simetriktir.

    Pedleri açığa çıkarmak için yalıtım katmanını soyun.

    Onlarla mücadele et.

    Dört teli lehimleyin. Çok telli bir tel (örneğin, PV3 veya PVA kablosu) kullanmak daha iyidir, daha esnektir.

    Isıyla daralan makaron, suya ve dış etkenlere karşı koruma sağlamak için kullanılabilir. Eğer LED Şerit Işık nemli bir ortamda kullanılacaksa, kontaklara ayrıca silikon sürülebilir.

    LED şerit ile çalışma

    Bant, herhangi bir mikrodenetleyici ile kolayca kullanılabilir. LED'leri kontrol etmek için Darbe Genişliği Modülasyonu (PWM) kullanılması önerilir. Bant uçlarını doğrudan MK uçlarına bağlamayın çünkü. bu büyük bir akım yüküdür ve kontrolör yanabilir. Transistör kullanmak daha iyidir.

    NPN transistörleri veya daha iyi N-kanalı mosfetleri kullanabilirsiniz. Bir transistör seçerken, transistörün maksimum anahtarlama akımının bir marjla alınması gerektiğini unutmayın.

    Bir LED Şeridi Arduino Denetleyicisine Bağlama

    Bir LED şeridi popüler olana bağlamanın bir örneğini düşünün. Bağlanmak için ucuz ve popüler mosfetleri kullanabilirsiniz. TIP120 gibi geleneksel iki kutuplu transistörleri de kullanabilirsiniz. Ancak mosfet ile karşılaştırıldığında daha fazla voltaj kaybına sahiptir, bu nedenle yine de eskisinin kullanılması önerilir.
    Aşağıdaki diyagram gösterir RGB bağlantısı N-kanallı mosfetler kullanılırken LED şerit. Mosfet kapısı kontrolörün pin1'ine, drenaj pin2'ye ve kaynak pin3'e bağlanır.

    Aşağıda, geleneksel iki kutuplu transistörler (örneğin TIP120) kullanıldığında bağlantı şeması gösterilmektedir. Transistörün tabanı kontrolörün pin1'ine, toplayıcı pin2'ye ve yayıcı pin3'e bağlanır. Kontrolörün tabanı ile çıkışı arasına 100-220 ohm dirençli bir direnç koymalısınız.

    İLE Arduino denetleyicisi 9-12 Volt voltajlı bir güç kaynağı bağlayın ve LED şeridinden gelen + 12V, kontrolörün Vin terminaline bağlanmalıdır. 2 ayrı güç kaynağı kullanabilirsiniz, sadece kaynağın ve kontrolörün "topraklarını" bağlamayı unutmayın.

    Program örneği

    Bandı kontrol etmek için kontrolörün PWM çıkışı kullanılacaktır, bunun için 3, 5, 6, 9, 10 veya 11 pinleri için analogWrite () işlevini kullanabilirsiniz. analogWrite (pin, 0) ile LED yanmaz ışık, analogWrite (pin, 127 ) ile LED tam güçte yanar ve analogWrite(pin, 255) ile LED maksimum parlaklıkta yanar. Arduino için örnek bir çizim aşağıdadır:

    #define REDPIN 5 #define GREENPIN 6 #define BLUEPIN 3 #define FADESPEED 5 // sayı ne kadar yüksek olursa, solma o kadar yavaş geçersiz olur setup() ( pinMode(REDPIN, OUTPUT); pinMode(GREENPIN, OUTPUT); pinMode( BLUEPIN , OUTPUT); ) boş döngü() ( int r, g, b; // (r = 0; r 0; b--) ( analogWrite(BLUEPIN, b); gecikme(FADESPEED) için maviden mora doğru solma ; ) // (g = 0; g 0; r--) ( analogWrite(REDPIN, r); delay(FADESPEED); ) // for (b = 0; b 0; g--) ( analogWrite(GREENPIN, g); gecikme(FADESPEED); ) )

    Bu cihazları kontrol etmek için bir RGB denetleyicisi kullanılır. Ama onun yanında son yıllarda arduino kartı kullanılmaya başlandı.

    Arduino - çalışma prensibi

    arduino kurulu

    Arduino kartı, programlanabilir bir mikro denetleyicinin kurulu olduğu bir cihazdır. ona bağlı çeşitli sensörler, kontroller veya kodlayıcı ve verilen bir taslağa (program) göre kart, SPI protokolünü kullanan diğer Arduino kartları dahil olmak üzere motorları, LED'leri ve diğer aktüatörleri kontrol eder. Cihaz üzerinden kontrol edilebilir uzak, bluetooth modülü, HC-06, Wi-Fi, ESP veya internet ve düğmeler. En popüler kartlardan bazıları Arduino Nano ve arduino uno, Arduino'nun yanı sıra profesyonel mini– ATmega 328 mikrodenetleyici tabanlı cihaz


    Dış görünüş arduino pro Mini
    Görünüm Arduino Uno
    Görünüm Arduino mikro

    Programlama Arduino ortamında açık bir şekilde gerçekleştirilir. kaynak kodu yüklenmiş normal bilgisayar. Programlar USB üzerinden indirilir.

    Arduino ile yük kontrolü prensibi


    arduino kontrolü

    Kartın, her ikisi de dijital, iki duruma sahip - açık ve kapalı ve analog, 500 Hz frekanslı bir PWM denetleyicisi aracılığıyla kontrol edilen birçok çıkışı vardır.

    Ancak çıkışlar, 5 V voltajla 20 - 40 mA akım için tasarlanmıştır. Bu, bir gösterge RGB LED'i veya 32x32 mm LED matris modülüne güç sağlamak için yeterlidir. Daha güçlü bir yük için bu yeterli değildir.

    Birçok projede bu sorunu çözmek için ek cihazlar bağlamanız gerekir:

    • Röle. 5V besleme gerilimine sahip bireysel rölelere ek olarak, tüm tertibatlar vardır. farklı miktar kontakların yanı sıra yerleşik başlatıcılarla.
    • Bipolar transistörlerdeki yükselteçler. Bu tür cihazların gücü kontrol akımı ile sınırlıdır, ancak birkaç elemandan bir devre monte edebilir veya bir transistör düzeneği kullanabilirsiniz.
    • Alan etkisi veya MOSFET transistörleri. Birkaç amperlik akıma ve 40 - 50 V'a kadar gerilime sahip yükleri sürdürebilirler. Bir mosfeti bir PWM'ye ve bir motora veya başka bir endüktif yüke bağlarken, şunlara ihtiyacınız vardır: koruyucu diyot. LED'lere veya LED lambalara bağlandığında bu gerekli değildir.
    • Genişletme kartları.

    LED şeridi Arduino'ya bağlama


    led şeridi arduinoya bağlama

    Uzman görüşü

    Alexey Bartosh

    Elektrikli ekipmanların ve endüstriyel elektroniklerin onarımı, bakımı konusunda uzman.

    bir uzmana sorun

    Arduino Nano, elektrik motorlarından daha fazlasını kontrol edebilir. LED şeritler için de kullanılırlar. Ancak kartın çıkış akımı ve gerilimi yetersiz olduğundan doğrudan bağlantı LED'li şeritler, ardından kontrolör ile LED şerit arasına ek cihazlar takılmalıdır.

    röle aracılığıyla


    Röle üzerinden bağlantı

    Röle cihaza dijital bir çıkışa bağlanır. Yardımı ile kontrol edilen şeridin yalnızca iki durumu vardır - açık ve kapalı. Kırmızı-mavi-yeşil şeridi kontrol etmek için üç röleye ihtiyaç vardır. Böyle bir cihazın kontrol edebileceği akım, bobinin gücü ile sınırlıdır (düşük güçlü bir bobin, büyük kontakları kapatamaz). Daha fazla güç bağlamak için röle tertibatları kullanılır.

    Bipolar transistör ile


    Bir transistör ile bağlantı

    Çıkış akımını ve voltajını yükseltmek için iki kutuplu bir transistör kullanılabilir. Yükün akım ve gerilimine göre seçilir. Kontrol akımı 20 mA'dan yüksek olmamalıdır, bu nedenle 1 - 10 kOhm'luk bir akım sınırlayıcı dirençle beslenir.

    Transistör kullanmak daha iyidir n-p-nİle ortak yayıcı. Daha yüksek kazanç için, çoklu elemanlı bir devre veya transistör düzeneği(çip yükseltici).

    Alan etkili transistör ile

    Bipolara ek olarak, bantları kontrol etmek için alan etkili transistörler kullanılır. Bu cihazlar için başka bir isim MOS veya MOSFET-transistördür.

    Böyle bir eleman, iki kutuplu olanın aksine, akımla değil kapıdaki voltajla kontrol edilir. Bu, küçük bir geçit akımının onlarca ampere kadar büyük yük akımlarını sürmesine izin verir.

    Eleman, akım sınırlayıcı bir dirençle bağlanır. Ayrıca parazite karşı hassastır, bu nedenle kontrolör çıkışı 10 kΩ'luk bir dirençle toprağa bağlanmalıdır.

    Genişletme kartları ile


    Bir Arduino'yu Genişletme Kartlarıyla Bağlama

    Röle ve transistörlerin yanı sıra hazır bloklar ve genişletme kartları kullanılmaktadır.

    Bu, Wi-Fi veya Bluetooth, L298N modülü gibi bir motor kontrol sürücüsü veya bir ekolayzır olabilir. Yükleri taşımak için tasarlanmıştır farklı güç ve gerilim. Bu tür cihazlar tek kanallıdır - yalnızca tek renkli bir bandı kontrol edebilirler ve çok kanallı - RGB ve RGBW cihazlarının yanı sıra WS 2812 LED'li bantlar için tasarlanmıştır.

    Program örneği


    Arduino ve LED şerit

    Arduino kartları kontrol edebilir LED tasarımlarönceden verilen programlar. Kütüphaneleri resmi siteden indirilebilir, İnternette bulunabilir veya kendiniz yeni bir eskiz (kod) yazabilirsiniz. Böyle bir cihazı kendi ellerinizle monte edebilirsiniz.

    Bu tür sistemleri kullanmak için bazı seçenekler şunlardır:

    • Aydınlatma kontrolü. Bir ışık sensörü yardımıyla, odadaki ışık hem hemen hem de güneş battıkça kademeli olarak parlaklık artışı ile açılır. Açma, sisteme entegrasyon ile wi-fi üzerinden de yapılabilir " akıllı ev” veya telefon bağlantısı ile.
    • Merdivenlerde veya uzun bir koridorda ışığı yakmak. Her basamağın ayrı ayrı led aydınlatması çok hoş duruyor. Panoya bir hareket sensörü bağlandığında, çalışması, bir zaman gecikmesiyle sıralı olarak, basamakların veya koridorların aydınlatılmasına neden olur ve bu elemanın devre dışı bırakılması, ters işleme yol açar.
    • Renkli müzik. Analog girişlere uygulama ses sinyali filtreler aracılığıyla, çıktı bir renkli-müzik enstalasyonu olacaktır.
    • Bilgisayar modifikasyonu. Uygun sensörler ve programlar yardımıyla LED'lerin rengi sıcaklığa veya işlemci yüküne bağlı olabilir veya rasgele erişim belleği. Böyle bir cihaz, dmx 512 protokolüne göre çalışır.
    • Çalışan ışıkların hızını bir kodlayıcı ile kontrol etme. Benzer kurulumlar WS 2811, WS 2812 ve WS 2812B yongalarında toplanır.

    Video talimatı

    Geçen sefer, bir LED şeridi L298 sürücüsü aracılığıyla bir arduinoya bağlamak için bir yöntem düşünülmüştü. Renk yönetimi programlı olarak gerçekleştirildi - Rastgele işlevi. Şimdi, DHT 11 sıcaklık ve nem sensörünün okumalarına göre LED şeridin renginin nasıl kontrol edileceğini bulmanın zamanı geldi.

    L298 sürücüsü üzerinden bir LED şerit bağlama örneği esas alınmıştır. Ayrıca, örneğe DHT 11 sensörünün okumalarını gösterecek olan LCD 1602 ekranı eklenmiştir.

    Proje için aşağıdaki Arduino öğelerine ihtiyacınız olacak:

    1. Arduino UNO kartı.
    2. LCD 1602 + I2C'yi görüntüleyin.
    3. DHT sıcaklık ve nem sensörü
    4. LED Şerit Işığı.
    5. Sürücü L298.
    6. Güç kaynağı 9-12V.
    7. Arduino ve ekran için kılıf (isteğe bağlı).

    Öncelikle devre şemasına bakalım (Şekil 1). Üzerinde, yukarıdaki tüm unsurları nasıl bağlamanız gerektiğini görebilirsiniz. Devreyi monte etmede ve bağlamada karmaşık bir şey yoktur, ancak çoğu insanın unuttuğu ve yanlış sonuçlara vardığı bir nüanstan bahsetmeye değer. çalışma LED'i- Arduino ile kurdeleler.

    Resim 1. devre şeması Arduino ve LED şeridi DHT 11 sensörüyle bağlama

    önlemek için değil doğru işlem LED şeridi (titreşim, renk uyuşmazlığı, eksik parlama vb.), tüm devrenin güç kaynağı ortak yapılmalıdır, yani. Arduino denetleyicisinin GND (toprak) pinlerini ve L298 sürücüsünü (LED şerit) bağlayın. Bunun nasıl yapıldığını şemada görebilirsiniz.

    Nem sensörünün bağlanması hakkında birkaç söz. Kayışsız çıplak bir DHT 11 satın alırsanız, sırasıyla birinci ve ikinci kontaklar, 5V ve Data arasında, nominal değeri 5-10 kOhm olan bir direnci lehimlemeniz gerekir. Sıcaklık ve nem ölçüm aralığı üzerinde yazılıdır. ters taraf sensör gövdesi DHT 11. Sıcaklık: 0-50 santigrat derece. Nem: %0-80.


    Şekil 2. doğru bağlantı nem sensörü DHT 11

    Projenin tüm unsurlarını şemaya göre monte ettikten sonra yazmanız gerekir. programlama kodu, bu da her şeyin istediğimiz gibi çalışmasını sağlayacak. Ve DHT 11 sensörünün (nem) okumalarına bağlı olarak rengi değiştirmek için LED şeridine ihtiyacımız var.

    DHT 11 sensörünü programlamak için ek bir kitaplığa ihtiyacınız olacaktır.

    kod arduino programları ve RGB - bant. Neme bağlı olarak şerit rengi değişir.

    #include #include //çalışmak için kitaplık LCD ekran 1602 #include //nem ve sıcaklık sensörü DHT 11 int chk ile çalışmak için kitaplık; //değişken, DHT11 sensöründeki tüm verileri saklayacak int hum; //değişken, DHT11 sensörü dht11 DHT'den alınan nem değerlerini saklayacaktır; //DHT tipinin nesnesi #define DHT11_PIN 4 //DHT11 sensörünün veri kontağı giriş 4'e bağlanır #define LED_R 9 //kanal R için pin #define LED_G 10 //kanal G için pin #define LED_B 11 //pin için kanal B / /değişkenler renk değerlerini saklayacak //üç rengin tümü karıştırıldığında gerekli renk elde edilecek int led_r=0, led_g=0, led_b=0; //0x27 adresi ile bir görüntüleme nesnesi tanımlanıyor //I2C kartı aracılığıyla projede bir görüntü kullanmayı unutmayın LiquidCrystal_I2C lcd(0x27,16,2); void setup() ( //ekran oluştur lcd.init(); lcd.backlight(); // pinleri çıkış olarak bildir pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); ) geçersiz döngü () ( chk = DHT.read(DHT11_PIN);//DHT11 sensöründen verileri oku //verileri ekrana ver lcd.print("Temp: "); lcd.print(DHT.temperature, 1); lcd .print( " C"); lcd.setCursor(0,1); lcd.print("Hum: "); lcd.print(DHT.nem, 1); lcd.print(" %"); delay(1500 ); / /sensörün doğru çalışması için, lcd.clear(); hum = DHT.nem; //nem okumalarını almak için bir gecikme gerekir //nem oranı %19 ila %30 aralığında yeşil renk if ((hum >= 19) && (hum<= 30)) { led_r = 1; led_g = 255; led_b = 1; } //в диапозоне от 31 до 40% влажности выдать красный цвет if ((hum >= 31) && (uğultu<= 40)) { led_r = 255; led_g = 1; led_b = 1; } //в диапозоне от 41 до 49% влажности выдать синий цвет if ((hum >= 41) && (uğultu<= 49)) { led_r = 1; led_g = 1; led_b = 255; } // подача сигналов цвета на выхода analogWrite(LED_R, led_r); analogWrite(LED_G, led_g); analogWrite(LED_B, led_b); }

    Etiketler: Etiketler


    Yeni Yıl arifesinde, çeşitli desenler oluşturma yeteneğine sahip bir Noel ağacı programlanabilir RGB çelenk oluşturmanızı öneririm.

    Bir çelenk için neye ihtiyacın var?

    WS2811 RGB Tam Renkli 12mm LED Dize DC 5V, Aliexpress'den 20$'a satın alınabilir. Böyle bir çelenkin normal ucu, uzunluğu artırmak için diğerine bağlanabilir. Bu makale ışık desenleri oluşturmak için tasarlanmıştır, bu nedenle elinizde farklı bir protokole sahip programlanabilir bir LED çelenk varsa, programı yeniden yazmanız ve çelengi veri sayfasına göre bağlamanız gerekir.
    Dizinizin çektiği akım için derecelendirilmiş 5 voltluk güç kaynağı. Genellikle satıcı, çelenk tarafından tüketilen akımı gösterir.
    Herhangi bir sürümün Arduino'su. Yazar standart bir Arduino Uno kullandı.
    yeşil akrilik boya
    Yalıtım bandı
    Tel.
    Garland'ı kontrolöre bağlamayı kolaylaştırmak için JST konektörlerinin olması arzu edilir.

    Bir Noel ağacı çelengi kurmaya başlamadan önce, tüm LED'lerin çalıştığından emin olun. İnternette WS2811'i Arduino'ya nasıl bağlayacağınızı bulabilirsiniz.

    WS2811'inizdeki veri sayfasından +5V ve GND pinlerini belirleyin
    Kırmızı = +5V
    Mavi=GND
    Beyaz = Veri

    Bağlantı resimde gösterildiği gibidir.

    Adafruit'in popüler WS2811 Arduino kitaplığını kurun. Kurulum talimatlarını buradan indirebilir ve okuyabilirsiniz:
    Ekteki kodu çelenkinizin uzunluğuna göre değiştirin. #LED_COUNT tanımla. Arduino programını indirip çalıştırın. Piksellerin 5 saniye boyunca kırmızıdan yeşile, maviden beyaza renk değiştirdiğini unutmayın. Bu, piksel içindeki 3 LED'in de iyi durumda olmasını sağlar.

    (indirme sayısı: 1085)

    Voltaj düşüşü değerlendirmesi.

    Her LED pikseli ve ardından bağlanan LED çelenk, bir tür voltaj düşüşüne neden olur. Bu nedenle, LED çelenkinizdeki 50 LED'den sonra, güç kaynağının voltajı gözle görülür miktarda düşecektir. Örneğin, 5v'den 4.7v'ye. Bu, ilkine bağladığınız bir sonraki çelenk 5v'den değil 4,7v'den güç alacağı ve ondan sonraki voltajın daha da düşeceği anlamına gelir. Sonuç olarak, her LED bir öncekinden daha koyu olacaktır. Sonuçta, voltaj 3,3 V'a düştüğünde, WS2811 protokol hizmet çipi çalışmayı durduracaktır.

    Her pikselde 3 LED olduğundan ve çelenk ışığının beyaz rengi, 3 LED'in de aynı şekilde yandığı anlamına geldiğinden, voltaj, örneğin yalnızca kırmızı LED'lerin açık olmasına göre daha fazla düşecektir. Test programını başlattığınızda çelenk uçlarında güçlü bir karartma fark ettiniz mi? Buraya ek bir 5V güç kaynağı bağlayabilirsiniz. Yazar bunu her 100 pikselde bir yaptı

    çelenk boyama.

    Normal Noel ışıkları, ağaçla karışması için yeşile boyanır. LED çelenkinizin farklı renklerde telleri vardır. Çelengi asın ve telleri akrilik boya ile yeşile boyayın, bu biraz zaman alacaktır. WS2811 kasalarını siyah elektrik bandıyla sarın, boyamaktan daha hızlı olacaktır.


    Her pikselin X ve Y konumunu belirleme

    Toplanan çelengi Noel ağacına asın. Bundan sonra, X ve Y'deki her pikselin konumunu hesaplayabilir ve bu verileri program koduna ekleyebilirsiniz. Bunu yapmak için bu dosyayı kodla birlikte kullanın. İlk işlevin açıklamasını kaldır döngü() 10 LED'in bölümlerini aydınlatan. 50'den fazla LED'iniz varsa, istediğiniz sayıyı belirtmeyi hatırlayarak bu bölümü basitçe kopyalayarak genişletebilirsiniz. #LED_COUNT tanımla

    Izgarayı, sol alt LED hücre 1.1'de olacak şekilde kaplamaya çalışın. Bu, programın ağacın ortasını hem X hem de Y yönlerinde belirleyebilmesi için yapılır. X ve Y koordinatlarını girmek manuel bir işlemdir, her bir koordinatı videoyu izleyerek alacaksınız. 200 koordinat kulağa korkutucu geliyor ama 20 dakika kadar sürecek.

    Izgarayı yazdırabilir ve bilgisayar monitörünüze veya telefon ekranınıza yapıştırabilirsiniz, böylece video düzenleyicilerle uğraşmak zorunda kalmazsınız.

    Ekteki dosya, tıpkı önceki dosya gibi, videodaki gibi çeşitli desenler arasında döngü oluşturan bir kod örneğidir.

    (indirme sayısı: 1240)

    Videodan programın mantığını anlayabilir ve kendi şablonlarınızı yazabilir veya kodu kendiniz değiştirebilirsiniz. Ekli diğer dosya, Arduino'nun başka bir cihazdan seri arayüz üzerinden kontrol edilmesini sağlayan bir kurulum dosyasıdır. Yazar, Arduino'yu kontrol etmek için Raspberry Pi'yi kullandı.

    İşte Arduino ve WS2811 kitini kullanan böyle bir Noel çelengi.

    (indirme sayısı: 1132)