• Arduino kullanarak LED şeridin bağlantı şeması ve kontrolü. LED şeridi arduino'ya bağlama ve kontrol etme

    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
    Bipolar transistör aracılığıyla 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 Darlington derlemesini şu adresten kullanabilirsiniz: çift ​​kutuplu transistörler ULN2003, ULN2803 yongalarında.

    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.

    Arduino LED şeridini kontrol etmek için uygun güçte bir transistör seçmeniz gerekir. 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.

    için bağlantı şeması arduino rgb NEDEN OLMUŞ:

    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.

    Bu yazımızda basit bir RGB LED ile adreslenebilir bir LED arasındaki fark olan renkli LED'lerden bahsedeceğiz, onu uygulamalar, nasıl çalıştıkları, LED bağlantılarının şematik resimleriyle nasıl kontrol edildikleri hakkında bilgilerle destekleyeceğiz.

    LED'ler - elektronik bileşenışık yayma özelliğine sahiptir. Bugün çeşitli elektronik ekipmanlarda yaygın olarak kullanılmaktadırlar: el fenerlerinde, bilgisayarlarda, Ev aletleri, arabalar, telefonlar vb. Birçok mikrodenetleyici projesi, LED'leri bir şekilde kullanır.

    İki ana amaçları vardır.:

    Ekipman çalışmasının gösterilmesi veya herhangi bir olayın bildirilmesi;
    dekoratif amaçlı kullanım (aydınlatma ve görselleştirme).

    İçeride LED, tek bir pakette toplanmış kırmızı (kırmızı), yeşil (yeşil) ve mavi (mavi) kristallerden oluşur. Dolayısıyla adı - RGB (Şek. 1).

    2. Mikrodenetleyici kullanmak

    Bununla birlikte, birçok farklı ışık tonu elde edebilirsiniz. RGB LED, bir mikrodenetleyici (MK), örneğin Arduino (Şekil 2) tarafından kontrol edilir.

    tabii ki yapabilirsin basit blok 5 volt güç kaynağı, akımı sınırlamak için 100-200 ohm'luk dirençler ve üç anahtar, ancak daha sonra parlamayı ve rengi manuel olarak kontrol etmeniz gerekecek. Bu durumda istenilen ışık tonuna ulaşmak mümkün olmayacaktır (Res. 3-4).

    Mikrodenetleyiciye yüzlerce renkli LED bağlamanız gerektiğinde sorun ortaya çıkıyor. Denetleyicinin sınırlı sayıda pimi vardır ve her LED'in üçü renkten sorumlu olan dört pime ihtiyacı vardır ve dördüncü pim ortaktır: LED türüne bağlı olarak anot veya katot olabilir.

    3. RGB kontrolü için kontrolör

    MK çıkışlarını boşaltmak için özel kontrolörler WS2801 (5 volt) veya WS2812B (12 volt) kullanılır (Şekil 5).

    Ayrı bir kontrolör kullanımı ile birkaç MK çıkışını işgal etmeye gerek yoktur, sadece bir sinyal çıkışı ile sınırlandırılabilir. MK, WS2801 LED kontrol denetleyicisinin "Veri" girişine bir sinyal gönderir.

    Bu sinyal, 24 bit renk parlaklık bilgisi (her renk için 8 bitlik 3 kanal) ve ayrıca dahili kaydırma yazmacı için bilgi içerir. Hangi LED bilgisinin adreslendiğini belirlemenizi sağlayan kaydırma yazmacıdır. Böylece, mikrodenetleyicinin bir çıkışını kullanmaya devam ederken birkaç LED'i seri olarak bağlamak mümkündür (Şekil 6).

    4. Adreslenebilir LED

    Bu, yalnızca doğrudan çip üzerinde entegre bir WS2801 denetleyicisi bulunan bir RGB LED'dir. LED'in muhafazası, yüzeye montaj için bir SMD bileşeni olarak yapılır. Bu yaklaşım, LED'leri birbirine mümkün olduğunca yakın yerleştirmenize olanak tanıyarak parlamayı daha ayrıntılı hale getirir (Şek. 7).

    Çevrimiçi mağazalarda, bir metreye 144 adede kadar parça sığdığında adreslenebilir LED şeritler bulabilirsiniz (Şek. 8).

    Bir LED'in tam parlaklıkta yalnızca 60-70 mA tükettiğini düşünmeye değer, örneğin 90 LED'e bir bant bağlarken ihtiyacınız olacak güçlü blok en az 5 amperlik bir akıma sahip güç kaynağı. Hiçbir durumda LED şeridi kontrolör üzerinden çalıştırmayın, aksi takdirde aşırı ısınır ve yükten yanar. Kullanmak dış kaynaklar beslenme (Şek. 9).

    5. Adreslenebilir LED eksikliği

    adreslenebilir LED Şerit Işıkçok düşük sıcaklıklarda çalışamaz: -15'te kontrolör arızalanmaya başlar, daha şiddetli donlarda arızalanma riski yüksektir.

    İkinci dezavantaj, bir LED arızalanırsa, geri kalan her şeyin zincir boyunca çalışmayı reddetmesidir: dahili kaydırma yazmacı daha fazla bilgi iletemez.

    6. Adreslenebilir LED şeritlerin uygulanması

    Adresli LED şeritler, arabaların, akvaryumların, fotoğraf çerçevelerinin ve tabloların dekoratif aydınlatmasında, iç mimaride, yılbaşı süsü olarak vb. kullanılabilir.

    LED şeridin bir bilgisayar monitörü için Ambilight arka ışığı olarak kullanılması ilginç bir çözümdür (Şek. 10-11).

    Mikrodenetleyici kullanıyorsanız arduino tabanı, LED şerit () ile çalışmayı kolaylaştırmak için FastLed kitaplığına ihtiyacınız olacak.

    RGB LED şerit, üzerine iletkenler ve RGB LED'ler (tam renkli) uygulanmış esnek bir şerittir. İÇİ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 tamponlar 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. LED şerit nemli bir ortamda kullanılacaksa, kontaklara ek olarak 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 karmaşık olmayan arduino projesi PWM (darbe genişlik modülasyonu) kontrolü için tasarlanmıştır. PWM görev döngüsünü değiştirerek her rengin seviyesini bağımsız olarak değiştirebilir. Bu sayede farklı renkler yüzdelik oranlarda karıştırılarak herhangi bir renk oluşturulabilir. Panodaki kodlayıcıyı çevirmek, kullanıcının seçim yapmasını sağlar istenen kanal ve parlaklığını değiştirin. Düşük anahtarlama direncine sahip transistörler, kullanımda bile çok düşük ısı yayılımı sağlar. Büyük bir sayı LED'ler. Örneğin, IRF540 transistörü çok düşük bir RDS geçiş direncine sahiptir - yaklaşık 70 mΩ.

    Teyp Denetleyici Şeması

    RGB LED, kırmızı, yeşil ve maviyi içeren çok yaygın bir LED şerit türüdür. led çip bir binada. Aynı muhafaza içinde olmalarına rağmen, her bir kristal bağımsız olarak kontrol edilebilir. Bu fonksiyon sayesinde, kullanarak çok sayıda farklı renk elde edebiliriz. RGB LED'ler ve tabii ki ortaya çıkan renk bir kaydırıcı ile dinamik olarak değiştirilebilir.

    Ana kontrolör kullanılarak yapılır arduino uno. Kodlayıcıdan gelen giriş verilerini okur ve bu bilgilere göre transistörler anahtarlanır. Transistörler, dahili PWM işlevlerine sahip olan 9, 10 ve 11 numaralı pinler tarafından sürülür. Kodlayıcı sinyalleri A ve B'nin yönü, modüle bağlı olan 2 ve 3 öğeleri kullanılarak okunur. Kodlayıcı düğmesi bir kanal seçmek için kullanılır ve giriş olarak ayarlanan pin 1'e bağlanır.

    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 bağlantıları ve DHT 11 sensörlü LED şerit

    ö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.

    Arduino ve RGB program kodu - 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 ile %30 arasında dışarı vermek için 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