Arduino ldr için arama sonuçları

  • Arduino ile Ldr ışık değişimini RGB Led ile gösterme

    Arduino Başlangıç ​​Seti: Proje 4

    Proje adı: RENK KARIŞTIRMA LAMBASI

    Video_2019-12-19_170334

    Keşfedin: analog çıkış, haritalama değerleri

    Kod:

    const int redPin = 11;// Red LED
    const int greenPin = 10; // Green LED
    const int bluePin = 9; // Blue LED
    
    const int redSensorPin = A0; //variable to store sensor reading
    const int greenSensorPin = A1; //variable to store sensor reading
    const int blueSensorPin = A2;//variable to store sensor reading
    
    int redValue = 0;
    int greenValue = 0;
    int blueValue = 0;
    
    int redSensorValue = 0;
    int greenSensorValue = 0;
    int blueSensorValue = 0;
    void setup() {
      Serial.begin(9600);// open a serial port
      pinMode(redPin, OUTPUT); // define redPin as OUTPUT
      pinMode(greenPin, OUTPUT);// define greenPin as OUTPUT
      pinMode(bluePin, OUTPUT);// define bluePin as OUTPUT
    }
    void loop() {
    redSensorValue = analogRead(redSensorPin);
    delay(5);
    greenSensorValue = analogRead(greenSensorPin);
    delay(5);
    blueSensorValue = analogRead(blueSensorPin);
    
    Serial.print("Raw Sensor Values \t Red: ");// \t equivalent to TAB key on the keyboard
    Serial.print(redSensorValue);
    Serial.print("\t Green: ");
    Serial.print(greenSensorValue);
    Serial.print("\t Blue: ");
    Serial.println(blueSensorValue);
    redValue = redSensorValue/4;
    greenValue = greenSensorValue/4;
    blueValue = blueSensorValue/4;
    Serial.print("Mapped Sensor Values \t Red: ");
    Serial.print(redValue);
    Serial.print("\t Green: ");
    Serial.print(greenValue);
    Serial.print("\t Blue: ");
    Serial.println(blueValue);
    analogWrite(redPin, redValue);
    analogWrite(greenPin, greenValue);
    analogWrite(bluePin, blueValue);
    }

    kütüphaneler ve  taslak

    Bu projede, şu parçalara ihtiyacınız vardı:

    1.Aruduino Uno R3 (Arduino’nun diğer sürümünü de kullanabilirsiniz)

    2. atlama kabloları

    3. Direnç 6 adet (3 adet 220 Ohm ve 3 adet 10 KOhm)

    4. Breadboard yarım boy 

    5. RGB LED (ortak katot kullanılmış) 1 adet

    6. Fotorezistörler (fotoseller) 3 adet

    7. Arduino IDE (siz indirebilirsiniz burada  )

    8. JELLER (kırmızı, yeşil, mavi clors)

    GENELYanıp sönen LED’ler eğlenceli olabilir, peki ya onları solmak ya da renkleri karıştırmak?You might expect that it’s just a mater of providing less voltage to an LED to get it to fade. The Arduino can’t vary the output voltage on its pins, it can only output 5V. Hence you’ll need to use a technique called Pulse Width Modulation (PWM) to fade LEDs. PWM rapidly turns the output pin high and low over a fixed period of time. The change happens faster than the human eye can see. It’s similar to the way movies work, quickly flashing a number of still images to create the illusion of motion. When you’re rapidly turning the pin HIGH and LOW, it’s as if you were changing the voltage. The percentage of time a pin is HIGH in a period is called duty cycle. When the pin is HIGH for half of the period and LOW for the other half, the duty cycle is 50%. A lower duty cycle gives you a dimmer LED than a higher duty cycle. The Arduino Uno has six pins set aside for PWM (digital pins 3, 5, 6, 9, 10, and 11), they can be identifed by the ~ next to their number on the board.Soluk LED’leri veya renklerini karıştırmaya ne dersiniz? Bunun sadece bir LED’e solmasını sağlamak için daha az voltaj sağlayan bir malzeme olmasını bekleyebilirsiniz. Arduino, pinlerindeki çıkış voltajını değiştiremez, sadece 5V çıkış verebilir. Darbe Genişliği Modülasyonu (PWM) adlı bir teknik kullanmanız gerekecektir.LED’leri solmaya. PWM, çıkış pimini sabit bir süre boyunca hızlı bir şekilde yüksek ve alçaltır. Değişim insan gözünün görebileceğinden daha hızlı gerçekleşir. Filmlerin çalışma biçimine benzer, hareket yanılsaması yaratmak için bir dizi hareketsiz görüntüyü çabucak bitirir. Pimi YÜKSEK ve DÜŞÜK olarak hızla döndürdüğünüz zaman, sanki voltajı değiştiriyormuşsunuz gibi. Bir pimin belirli bir dönemde YÜKSEK olduğu sürenin yüzdesine görev döngüsü denir. Pim, dönemin yarısı için YÜKSEK ve diğer yarısı için DÜŞÜK olduğunda görev döngüsü% 50’dir. Daha düşük görev döngüsü, daha yüksek görev döngüsünden daha kısık bir LED verir. Arduino Uno, PWM için ayrılan altı pime sahiptir (dijital pimler 3, 5, 6, 9, 10 ve 11), karttaki numaralarının yanında ~ ile tanımlanabilirler.

    Bu projedeki girdiler için foto dirençleri kullanacaksınız (fotoseller veya aynı zamanda ışığa bağlı dirençler olarak da bilinen ışık miktarına bağlı olarak dirençlerini değiştiren sensörler). Dirençlerin bir ucunu Arduino’nuza bağlarsanız, pildeki voltajı kontrol ederek dirençteki değişimi ölçebilirsiniz.

    DEVRE

    Breadboard’unuzu bağlayın, böylece her iki tarafta da güç ve toprak elde edin. Üç fotorezistörü ekmek tahtasının üzerine yerleştirin, böylece orta bölmeyi bir taraftan diğerine geçirirler. Her fotorezistörün bir ucunu güç kaynağına takın. Diğer tarafta toprağa 10 kilometrelik bir direnç bağlayın. Bu direnç, fotorezistör ile seri halindedir ve birlikte bir voltaj bölücü oluştururlar. Ohm Kanununa göre buluştukları noktadaki voltaj, dirençlerinin oranıyla orantılı. Fotorezistörün direnci, ışık vurduğunda değiştikçe, bu kavşaktaki voltaj da değişir. Dirençle aynı tarafta, foto dirençleri bağlantı teli ile 0, 1 ve 2 numaralı Analog Giriş pinlerine bağlayın. Üç renkli jeli alın ve her fotorezistörün üzerine bir tane yerleştirin. Kırmızı jeli A0’a bağlı fotorezistörün üzerine yerleştirin, A1’e bağlı olanın üzerinde yeşil ve A2’ye bağlı olanın üzerinde mavi. Bu filtrelerin her biri, kapladığı sensöre yalnızca belirli bir dalga boyunda ışık sağlar. Kırmızı filtre yalnızca kırmızı ışığı, yeşil filtre yalnızca yeşil ışığı ve mavi filtre yalnızca mavi ışığı geçer. Bu, sensörlerinize çarpan ışıktaki bağıl renk seviyelerini tespit etmenizi sağlar. 4 ayaklı LED, ortak bir katot RGB LED’dir.

    LED’in içinde ayrı kırmızı, yeşil ve mavi elemanlar ve bir ortak zemin (katot) vardır. Katod ile Arduino’nun PWM pimlerinden çıkan anotlara (220 ohm’luk dirençlerle anotlara bağlı olan) bir voltaj farkı yaratarak, LED’in üç rengi arasında solmasına neden olursunuz. LED üzerindeki en uzun pimin ne olduğuna dikkat edin, onu breadboard’unuza yerleştirin ve bu pimi toprağa bağlayın. Diğer üç pimi, 220-ohm dirençli serideki 9, 10 ve 11 numaralı dijital pimlere bağlayın. Her LED ucunu doğru PWM pimine bağladığınızdan emin olun.

    KOD

    Giriş ve çıkış için kullandığınız pimler için sabitleri ayarlayın, böylece hangi sensörün LED üzerinde hangi renk ile eşleştiğini takip edebilirsiniz. Veri türü için const int kullanın . Gelen sensör değerleri ve LED’i solmak için kullanacağınız çıkış değerleri için değişkenler ekleyin. İnt datatype’i tüm değişkenler için kullanabilirsiniz . In kurulum () , 9600 bps seri iletişim başlar. Seri monitördeki sensörlerin değerlerini görmek için bunu kullanacaksınız. Ek olarak, LED’in solmasını sağlamak için kullanacağınız eşlenmiş değerleri görebileceksiniz. Ayrıca, LED pinlerini pinMode () ile çıkış olarak tanımlayın . Gelen döngü () ile A0, A1 ve A2 sensör değerleri okumak analogRead ()ve değeri uygun değişkenlerde saklayın. ADC çalışmasını yapmak için bir milisaniye harcadığı için her analog Okuma () arasına küçük bir gecikme () koyun . Sensör değerlerini bir satıra yazdırın. “ \ T ” klavyedeki “sekme” tuşuna basmaya eşdeğerdir. LED’in parlaklığını PWM ile değiştirme işlevine analogWrite () adı verilir.. İki argüman gerekir: yazılacak pin ve 0-255 arasında bir değer. Bu ikinci sayı, Arduino’nun belirtilen pime çıkartacağı görev döngüsünü gösterir. 255 değeri, pimi her zaman YÜKSEK olarak ayarlayarak ekli LED’i olabildiğince parlak hale getirir. 127 değeri, LED’i daha kısık hale getirerek, pimi dönemin yarısı kadar HIGH’a ayarlayacaktır. 0, LED’i ff döndürerek, pimi her zaman LOW olarak ayarlayacaktır. Sensör değerini 0-1023 arasındaki bir değerden analogWrite () için 0-255 arasında bir değere dönüştürmek için, sensör değerini 4’e bölün. Yeni haritalanan değerleri kendi satırlarına yazdırın.BAŞLANGIÇ

    Arduino’nuzu programlayıp kablolu hale getirdikten sonra seri monitörü açın. LED, odanızdaki ışığın baskın rengine bağlı olarak muhtemelen kirli beyaz bir renkte olacaktır. Seri monitördeki sensörlerden gelen değerlere bakın, dengeli bir aydınlatmaya sahip bir ortamdaysanız, sayı muhtemelen oldukça tutarlı olmalıdır. Bulunduğunuz odadaki ışığı kapatın ve sensörlerin değerlerine ne olduğunu görün. Bir el feneri ile, sensörlerin her birini ayrı ayrı aydınlatın ve seri monitörde değerlerin nasıl değiştiğini ve LED’in renginin nasıl değiştiğini görün. Foto dirençler bir jel ile kaplandığında, sadece belirli bir dalga boyunda ışığa tepki verirler. Bu size renklerin her birini bağımsız olarak değiştirme fırsatı verecektir.

    Fotorezistörün çıktısının 0 ila 1023 arasında değişmediğini fark edebilirsiniz. Muhtemelen LED’in solmasının doğrusal olmadığını fark edeceksiniz. LED yarı parlaklıkta olduğunda, daha parlak hale geldiği görülüyor. Çünkü gözlerimiz parlaklığı doğrusal olarak algılamıyor. Işığın parlaklığı, yalnızca analoga yazdığınız seviyeye () değil, aynı zamanda ışığın kullanıcıdan uzaklığına, gözünüzün ışığa olan mesafesine ve ışığın odadaki diğer ışığa göre parlaklığına bağlıdır. .ÖZET Artık RGB LED’i üzerinde kontrol sizde. Artık LED’leri parlaklaştırmak veya kısmak kolaydır. analogWrite () , görev döngüsünü değiştirerek 3, 5, 6, 9, 10 veya 11 pinlerine bağlı PWM bileşenlerini sağlayan işlevdir. Işığı kullanmanın çeşitli yolları vardır. LED’in kayması için delik açılmış bir pinpon topu, hoş bir kullanıcı veya yarı saydam bir yapıştırıcı içerisindeki ışığı kaplamak veya ışığın yüzeyini zımparalamak için yapar.

    Bu konuda Youtube’daki filmlerden birini izleyin – buraya tıklayın

  • Arduino ile LDR Işık Kontrol Uygulaması ile melodi

    Arduino Başlangıç ​​Seti: Proje 6

    Proje adı: IŞIK TERMİNİ

    Keşfedin: tone () işleviyle ses çıkarmak, analog sensörleri kalibre etmek

    Kod:

    int sensorValue;
    int sensorLow = 1023;
    int sensorHigh = 0;
    const int ledPin = 13;
    void setup() {
    pinMode(ledPin, OUTPUT);
    digitalWrite(ledPin, HIGH);
    while (millis() < 5000) {
    sensorValue = analogRead(A0);
    if (sensorValue > sensorHigh) {
    sensorHigh = sensorValue;
    }
    if (sensorValue < sensorLow) {
    sensorLow = sensorValue;
    }
    }
    digitalWrite(ledPin, LOW);
    }
    void loop() {
    sensorValue = analogRead(A0);
    int pitch =
    map(sensorValue,sensorLow,sensorHigh, 50, 4000);
    tone(8,pitch,20);
    delay(10);
    }
    

    sketch

    Bu projede, şu parçalara ihtiyacınız var:

    1.Aruduino Uno R3 (Arduino’nun diğer sürümünü de kullanabilirsiniz)

    2. atlama kabloları

    3. Direnç 1 adet (10 KOhm)

    4. Breadboard yarım boy 

    5. Arduino IDE (siz indirebilirsiniz burada  )

    6. Fotorezistör (fotosel) 1 adet

    7. Piezo zil 1 adet

    GENEL

    Bu Uygulama ile Bir müzisyenin parmaklarını tuşlara dokunmadan yukarı aşağı hareket ettirerek bir müzik çalmasını öğreneceksiniz.

    Bir theremin, bir müzisyenin ellerinin enstrüman etrafındaki hareketlerine dayanarak ses yapan bir enstrümandır. Muhtemelen birini korkutucu filmlerde duymuşsundur. Bu arada, antenlerin kapasitif değişimini okuyarak, performansçı ellerinin iki antene göre nerede olduğunu tespit eder. Bu antenler, sesi yaratan analog devrelere bağlanır. Bir anten sesin frekansını ve diğer ses seviyesini kontrol eder. Arduino bu enstrümandaki gizemli sesleri tam olarak çoğaltamasa da, tone () işlevini kullanarak bunları taklit etmek mümkündür . Aşağıdaki resim analogWrite () ve ton () tarafından yayılan darbeler arasındaki farkı göstermektedir. Bu, hoparlör veya piezo gibi bir dönüştürücünün farklı hızlarda ileri geri hareket etmesini sağlar. Arduino ile kapasitansı algılamak yerine, ışık miktarını tespit etmek için bir fotorezistör (fotosel) kullanacaksınız. Ellerinizi sensörün üzerinde hareket ettirerek, fotorezistörün yüzüne düşen ışık miktarını, Arduino Starter Kit Projesi 4’te olduğu gibi değiştireceksiniz. Analog pinteki voltajdaki değişiklik hangi frekans notunun çalınacağını belirleyecektir. Arduino Başlangıç ​​Kiti Projesi 4’teki gibi bir voltaj bölücü devre kullanarak fotorezistörleri Arduino’ya bağlayacaksınız. Muhtemelen önceki projede analogRead () kullanarak bu devreyi okuduğunuzda fark etmişsinizdir.okumalarınız 0 ila 1023 arasında değişmedi. Toprağa bağlanan sabit direnç aralığın alt ucunu ve ışığınızın parlaklığı üst ucunu sınırlar. Sınırlı bir aralığa yerleşmek yerine, yüksek ve düşük değerleri alan sensör okumalarını kalibre edersiniz, bunları aralığınızdan olabildiğince fazla alan çıkarmak için map () işlevini kullanarak bunları ses frekanslarına eşleştirirsiniz . Bu, farklı ışık koşullarına sahip bir oda gibi, devrenizi yeni bir ortama taşıdığınızda sensör okumalarını ayarlama avantajına sahip olacaktır. Piezo, elektrik aldığında titreyen küçük bir elementtir. Hareket ettiğinde, etrafındaki havayı uzaklaştırır, ses dalgaları oluşturur.

    DEVRE

    Geleneksel bunlar, sesin frekansını ve sesini kontrol edebilir. Bu örnekte, yalnızca frekansı kontrol edebileceksiniz. Arduino üzerinden ses seviyesini kontrol edemeseniz de, hoparlöre gelen voltaj seviyesini manuel olarak değiştirmek mümkündür. Breadboard’unuzda dış bus hatlarını güç ve toprağa bağlayın. Piezo’nuzu alın ve bir ucu toprağa, diğerini Arduino’daki dijital pim 8’e bağlayın. Fotorezistörünüzü bir uçtan 5V’a bağlayarak breadboard’a yerleştirin. Diğer ucunu Arduino’nun analog IN 0 pimine bağlayın ve 10 kilometrelik bir dirençle topraklayın. Bu devre, Arduino Başlangıç ​​Kiti Proje 4’teki voltaj bölücü devresi ile aynıdır.

    KODCreate a variable to hold the analogRead() value from the photoresistor. Next, create variables for the high and low values. You are going to set the initial value in the sensorLow variable to 1023, and set the value of the sensorHigh variable to 0. When you first run the program, you will compare these numbers to the sensor’s readings to find the real maximum and minimum values. Create a constant named ledPin. You will use this as an indicator that your sensor has finished calibrating. For this project, use the on-board LED connected to pin 13. In the setup(), change the pinMode() of ledPin to OUTPUT, and turn the light on. The next steps will calibrate the sensor’s maximum and minimum values. You’ll use a while() statement to run a loop for 5 seconds. while() loops run until a certain condition is met. In this case you’re going to use the millis() function to check the current time. millis() reports how long the Arduino has been running since it was last powered on or reset.In the loop, you’ll read the value of the sensor; if the value is less than sensorLow (initially 1023), you’ll update that variable. If it is greater than sensorHigh (initially 0), that gets updated. When 5 seconds have passed, the while() loop will end. Turn off the LED attached to pin 13. You’ll use the sensor high and low values just recorded to scale the frequency in the main part of your program. In the loop(), read the value on A0 and store it in sensorValue. Create a variable named pitch. The value of pitch is going to be mapped from sensorValue. Use sensorLow and sensorHigh as the bounds for the incoming values. For starting values for output, try 50 to 4000. These numbers set the range of frequencies the Arduino will generate. Next, call the tone() function to play a sound. It takes three arguments: what pin to play the sound on (in this case pin 8), what frequency to play (determined by the pitch variable), and how long to play the note (try 20 milliseconds to start).Ardından, sese çalması için biraz zaman vermek üzere 10 milisaniye boyunca bir gecikme () arayın.

    AnalogRead () değerini fotorezistörden tutmak için bir değişken oluşturun . Sonra, yüksek ve düşük değerler için değişkenler oluşturun. SensorLow değişkenindeki başlangıç​​değerini 1023 olarak ve sensörHigh değişkeninin değerini 0 olarak ayarlayacaksınız . Programı ilk çalıştırdığınızda, gerçek maksimum ve minimum değerleri bulmak için bu sayıları sensörün okumaları ile karşılaştıracaksınız. . LedPin adlı bir sabit oluşturun . Bunu, sensörünüzün kalibrasyonunun bittiğini gösteren bir gösterge olarak kullanacaksınız. Bu proje için, on-board olarak pim 13 bağlanmış LED kullanmak kurulum () , değiştirmek pinMode () ait ledPinÇIKIŞ’a gidin ve ışığı açın. Bir sonraki adımlar sensörün maksimum ve minimum değerlerini kalibre edecektir. 5 saniye boyunca bir döngü çalıştırmak için while () ifadesini kullanacaksınız. while () döngüler belirli bir koşul yerine getirilinceye kadar çalışır. Bu durumda , geçerli saati kontrol etmek için millis () işlevini kullanacaksınız. millis (), Arduino’nun ne zamandan beri çalıştırıldığından veya sıfırlandığından beri ne kadar süredir çalıştığını Döngüde, sensörün değerini okursunuz; değer sensorLow’dan düşükse (başlangıçta 1023), bu değişkeni güncelleyeceksiniz. SensorHigh değerinden büyükse (başlangıçta 0), bu güncellenir. 5 saniye geçtikten sonra , ()döngü sona erecek. Pim 13’e bağlı LED’i çevirin. Programın ana bölümündeki frekansı ölçeklemek için yeni kaydedilen yüksek ve düşük değerleri kullanın. Gelen döngü () , A0 değerini okumak ve sensorValue saklayın. Pitch adlı bir değişken oluşturun. Pitchin değeri sensorValue’dan eşlenecek . Gelen değerlerin sınırları olarak sensorLow ve sensorHigh kullanın . Çıkış için başlangıç ​​değerleri için, 50 ila 4000’i deneyin. Bu sayılar, Arduino’nun üreteceği frekans aralığını belirler. Sonra, tonu arayın ()Bir ses çalmak için Bu üç argüman alır: Sesi çalmak için hangi pin (bu durumda pin 8), hangi frekansı çalmak (adım değişkeni tarafından belirlenir) ve notun ne kadar süre çalınacağını (başlamak için 20 milisaniye deneyin). Sesi çalması için bir süre vermek üzere 10 milisaniye boyunca bir gecikme () .BAŞLANGIÇ

    Arduino’yu ilk açtığınızda, sensörü kalibre etmeniz için 5 saniyelik bir pencere vardır. Bunu yapmak için, elinize ulaşan ışık miktarını değiştirerek elinizi fotorezistör üzerinde yukarı ve aşağı hareket ettirin. Enstrümanı çalarken kullanmak istediğiniz hareketleri ne kadar yaklaştırırsanız kalibrasyon o kadar iyi olacaktır. 5 saniye sonra kalibrasyon tamamlanacak ve Arduino’daki LED sönecektir. Bu olduğunda, piezodan gelen bir ses duymalısınız! Sensöre düşen ışık miktarı değiştikçe, piezonun çaldığı frekans da olmalıdır.ÖZETAralık haritası () perde belirler fonksiyonu oldukça geniştir, müzikal stil için doğru bir uyum olanları bulmaya frekansları değiştirmeyi deneyin. Ton () işlevi çok PWM gibi çalışır analogWrite () fakat anlamlı bir di ff eden farkla. Gelen analogWrite () frekansı sabittir; Bu periyottaki bakliyat oranını görev döngüsünü değiştirmek için değiştirirsiniz. İle tonu () hala darbeleri göndererek, ancak bunların frekansı değişiyor. tone () her zaman% 50 görev döngüsünde darbeler (pimin yüksek olduğu zamanın yarısı, düşük olduğu zamanın yarısı). Tonu ()fonksiyonu, bir hoparlörü veya piezoyu attığında farklı frekanslar üretme yeteneği verir. Sensörleri bir voltaj bölücü devresinde kullanırken, muhtemelen 0 – 1023 arasında tam bir değer aralığı elde edemezsiniz. Sensörleri kalibre ederek, girişlerinizi kullanılabilir bir aralıkla eşleştirmek mümkündür.Bu konuda Youtube’daki filmlerden birini izleyin – buraya tıklayın

  • Gece olunca Otomatik Yanan Minik LED

    Gece olunca Otomatik Yanan Minik LED

    Burada sunulan minik LED gece işaretçisi, gece veya ortamında yeterli ortam ışığı olmadığında uyanan otomatik bir ışık işaretidir. Karanlıkta aktif olan herkes (yürüme, binme, yüzme, vb.) Bu taşınabilir işaretçiyi karanlıkta net ve belirgin bir işaret koymak için bir güvenlik aracı olarak kullanabilir. Yazarın prototipi Şekil 1’de gösterilmiştir.

    1: Yazarın prototipi

    Devre ve Çalışma

    LED gece işaretçisinin devre şeması Şekil 2’de gösterilmektedir. Digispark kartı, 9V pil ve diğer birkaç bileşenden oluşur. Devrenin merkezinde Digispark Attiny85 kurulu bulunuyor. Digispark kartı konektörleri CON1 konektörü ile temsil edilir. Donanım, Vin pimi aracılığıyla 6F22 (9V) alkalin pil ile güçlendirilmiştir. Harici sinyal (LED1), küçük sinyal transistörü BC547 (T1) etrafına kablolanmış düşük güçlü bir sürücü etkinleştirilerek kullanılır.

    Şekil 2: LED gece işaretleyicisinin devre şeması

    Anakartın analog giriş pimine P2 bağlı fotoğraf direnci (LDR1), yeterli ortam ışığı olmadığında yanıp sönen yerleşik P1 piminden harici LED1 işaretçisini kontrol etmek için kullanılır.

    Program (night_marker.ino) Arduino programlama dilinde yazılmıştır. Digispark kartında, bilgisayardaki Arduino IDE üzerinden programlamak için bir USB arayüzü olarak bir konektör bulunur. Ayrıca, küçük kod iyi yorumlanmıştır, bu da gereksinime göre kolay modifikasyon sağlar.

    İnşaat ve test

    LED gece işaretçisinin PCB yerleşimi Şekil 3’te ve bileşen yerleşimi Şekil 4’te gösterilmiştir. Bileşenleri PCB’ye devre şemasına göre monte edin.

    3: LED gece işaretleyicisinin PCB düzeni4: PCB için bileşen yerleşimi

    PCB ve Bileşen Düzeni PDF’lerini indirin: Buraya Tıklayın

    Kaynak Klasörü İndir

    Breadboard prototipi, boşta 20mA’nın (> 200 lux) hemen üstünde ve aktif durumda (<10 lux) 25mA’nın hemen altında akım tüketimi ile iyi çalışan 9V pil (6F22) ile test edildi. 6F22 9V pil yerine 2S lityum-iyon / lityum-polimer pil (7.4V) önerilir. Yanlış pil girişi Digispark kartını kızartabileceğinden, pilin doğru kutuplarla bağlandığından emin olun.

    Tamamlanmış cihazı su geçirmez, şeffaf / yarı saydam bir kutuya, tercihen bir güç açma / kapama anahtarına (şematikte gösterilmemiştir) yerleştirin. LDR1, LED1 ve güç anahtarını monte etmek için muhafazanın ön / üst panelinde yeterli delikler açın. Ek olarak, Digispark kartının USB konektörü için kutunun bir tarafına dikdörtgen bir pencere ekleyin.

    https://drive.google.com/file/d/1x5Wc4CuRRcIA96l07o-756wbI49ZVGUH/view?usp=sharing

  • Yeraltı Madenleri veya Mağaralarda Işık Seviyesini İzleme devresi

    Yeraltı Madenleri veya Mağaralarda Işık Seviyesini İzleme devresi

    Bu devre her zaman çevredeki ışık şiddetini  izler, LCD’de ışık seviyesini gösterir ve ışık seviyesi düştüğünde alarm çalar. Bu sistemler sağlık, savunma, madencilik, robotik ve benzeri gibi uygulamalarda geliştirilmekte ve kullanılmaktadır.

    Yeraltı madenciliği ortamında ve mağaralarda ışık normalde düşüktür ve az gören insanlar için düşük ışık koşullarında çalışmak zorlaşır. Bu nedenle, bu tür bir devre veya kameralı benzer bir cihaz kullanılarak bu alanlarda ışık seviyesinin önceden kontrol edilmesi gerekir.

    Bu devre, yeraltı maden ve mağaralarındaki çeşitli uzak konumlarda ışığın yoğunluğunu kontrol etmek için bir drone üzerine kurulabilen düşük maliyetli bir sistemdir. Enerji tasarrufu, görev programı göstergesi ve ev otomasyon sistemi olarak da kullanılabilir.

    Devre ve çalışma

    Madencilik ve arkeoloji için ışık seviyesi izleme sisteminin devre şeması Şekil 1’de gösterilmiştir. Arduino Uno Board1, piezo buzzer PZ1, LDR1, 16 × 2 LCD (LCD1) ve diğer birkaç bileşen etrafında inşa edilmiştir.

    1: Işık seviyesi izleme sisteminin devre şeması

    Işık LDR1’in yüzeyine düştüğünde, LDR1’in direnci düşüktür ve bu nedenle içinden yüksek akım akar. Geceleri veya karanlıkta LDR1 çevresinde, direnç artar ve mega-ohm’a kadar çıkar ve bu nedenle LDR1’den sadece küçük akım akar. Ardından, piezo zili düşük ışık seviyesini gösteren bir alarm çalar.

    LCD1’de ışık seviyesi, görme yoğunluğu seviyesi ve görme, loş görüş, net görüş ve kristal netliği gibi görüş durumu yüzdesi ile görüntülenir. LDR1’deki voltaj çıkışı analogdur ve Arduino’daki dahili bir analogdan dijitale dönüştürücü aracılığıyla dijitale dönüştürülür. Analog voltaj 0V ila 5V arasındadır ve eşdeğer dijital aralık 0V ila 1023V arasındadır, Arduino IDE’nin seri ekranında görüntülenir .

    Işık sensörü

    Bir foto direnç veya foto iletken hücre, ışığa bağlı değişken bir dirençtir. Direnci, üzerine düşen ışık yoğunluğundaki artışla azalır. LDR1, foto iletkenlik özelliği sergiler. Işık yoğunluğunu ve cihaz değiştirme işlemlerini tespit etmek için birçok devrede bir fotoğraf direnci kullanılabilir.

    Buzzer

    Bir piezoelektrik zil (PZ1) piezoelektrik etkiye dayalı ses üretir. Piezoelektrik malzemeye elektrik potansiyeli uygulanarak basınç değişimi veya gerinimi oluşturma, buradaki temel prensiptir.

    Bir piezoelektrik zil iki iletken arasındaki piezo kristallerinden oluşur. Bu kristallere bir potansiyel uygulandığında, bir iletkeni iterler ve diğerini çekerler. Bu itme ve çekme eylemi ses dalgasına neden olur.

    Görüntüle

    LCD1 modülünde on altı pim bulunur. Pim 1 topraklanmış ve pim 2 Vcc’dir. Pim 3, kontrast ayarı için kullanılır. Bu, VR1 potmetre bağlanarak yapılır. Pin 4, kayıt seçme (RS) pinidir ve pin 5 okuma / yazma modu içindir. Bu pimdeki mantık yüksek okuma modunu ve düşük mantık yazma modunu etkinleştirir.

    Pin 6 (EN), LCD1’in etkinleştirilmesi içindir. Bu pimdeki yüksek-alçak sinyali modülü etkinleştirir. Pin 7 (D0) – pin 14 (D7) arasında veri pinleridir. Komutlar ve veriler bu pimler aracılığıyla LCD1 modülüne beslenir. Pin 15 (LED +) anottur ve pin 16 (LED-) dahili arka ışık LED’inin katotudur.

    Yazılım

    Program Arduino programlama dilinde / çiziminde yazılmıştır. Arduino Uno’daki A0 ila A5 analog giriş sinyalleridir. Program, bu pimlerdeki giriş sinyallerini algılar ve PC ve LCD1’deki seri monitördeki ilgili voltaj seviyelerini yazdırır. LDR1, A0 pinine ve piezo ziline Arduino Uno’nun 13 pinine bağlanır.

    Arduino IDE, programı derlemek ve Arduino’ya yüklemek için kullanılır. Tools menüsünden doğru kartı seçin, COM portunu seçin ve programı (vision.ino) bilgisayardaki standart USB portundan yükleyin.®Arduino IDE’deki Board

    Kaynak Klasörü İndir

    İnşaat ve test

    Işık seviyesi izleme sisteminin PCB yerleşimi Şekil 2’de ve bileşen yerleşimi Şekil 3’te gösterilmiştir. Devreyi monte ettikten sonra devreyi, ışığın LDR1 üzerine düşeceği bir yere yerleştirin.

    Şekil 2: Işık seviyesi izleme sisteminin PCB düzeni3: PCB için bileşen yerleşimi

    PCB ve Bileşen Düzeni PDF’lerini indirin: buraya tıklayın

    Bağlantıları devre şemasına göre kontrol edin. LCD1’deki ışık yoğunluğu seviyesini kontrol edin. Düşük ışık yoğunluğu olduğunda, yani yüzde yirminin altında, piezo zili çalar ve LCD1, LDR1 sensörünün etrafındaki ışığa bağlı olarak durumu hiçbir görüşe veya loş görüşe güncelleyecektir.

    Işık yoğunluğu yüzde yirminin üzerindeyse, piezo zili duyulmaz ve LCD1, LDR1 sensörünün etrafındaki ışığa bağlı olarak durumu net görüş veya kristal netliği olarak gösterir.

     

     

    https://drive.google.com/file/d/10sA8y8kRnBpDpe1BxR9d6TAGok6uuhbe/view?usp=sharing

  • IOT Ev Otomasyonu ile Otomatik PID Kontrollü Ortam Işığı Kontrol Sistemi

    IOT Ev Otomasyonu ile Otomatik PID Kontrollü Ortam Işığı Kontrol Sistemi

    Oda ışığımızın parlaklığını
    ihtiyacımıza göre otomatik olarak ayarlaması şaşırtıcı olmaz mı? Veya
    telefonumuzun LED ışıklarının parlaklığını kontrol edebilirsek ? Bu sadece hayatımızı daha rahat hale getirmekle kalmayacak, aynı zamanda
    çok fazla enerji tasarrufu yapmamıza da yardımcı olacaktır .
    Tüm bunlar PID (Oransal İntegral Türev)
    kontrolör kullanılarak yapılabilir. Bu kontrolörün hesaplanması için üç adım vardır Kp, Ki, Kd.

    • Kp: –Burada p orantılıdır ve çıktı değeri
      hata değeri ile doğru orantılıdır. Hata yüksekse, kontrollü çıkış
      da yüksektir ve mevcut hata değeri ile ilgilenir.
    • Ki: –Burada integral kontrolü temsil ediyorum.
      İstenen değeri elde edene kadar entegrasyonu kullanarak hatayı ortadan kaldırır .
    • Kd: –Burada d, türev kontrol anlamına gelir. Bu kontrolör,
      zaman içindeki mevcut değişime dayanarak gelecekteki hatayı tahmin etmekten sorumludur .

    PID kontrolörü ışık parlaklığını aşağıdaki adımlarda kontrol eder.
    1. PID kontrolörü ilk önce ışık sensöründen değeri okur
    2. Ardından sensörün mevcut değerinden
    parlaklık için istenen ayar noktasına kadar olan hatayı hesaplar
    3. Hesaplamadan sonra PID, çıkışını LED ve parlaklığı
    karşılamak için verir istenen ayar noktası.

    Ne yapacağız?

    Bu projede, PID
    kontrolör ışığı ile bir IOT Ev otomasyon sistemi yapacağız . IOT sistemimiz aşağıdaki özelliklere sahiptir:

    • Uygulama kontrollü ışık parlaklığı
    • Uygulamayı kullanarak RGB renk kontrolörü
    • Uyarlanabilir bir parlaklık sistemi
    • Zamana dayalı Otomatik ışık / Fan denetleyicisi.

    Gerekli malzemeler

    • 1 RGB LED
    • 1 LDR
    • 110 OHM Direnç
    • 1 Arduino UNO
    • Bluetooth HC O5
    • 1 Led
    • Röle Modülü

    Kodlama

    Arduino IDE’ye ‘PID_V1’ kütüphanesini kurduk. Bundan sonra
    kodlamaya başlayabiliriz .
    Kodumuzun ilk bölümünde,
    projemiz için gerekli olan farklı değerleri saklamak için birkaç değişken oluşturacağız . Bundan sonra ‘PID_V1’ ve
    ‘SoftwereSerial’ kütüphanesini kodlamak için başlatacağız (Bakınız Şekil 2).
    Daha sonra, G / Ç pimleri için pinmodları
    ve Bluetooth HC 05 için baud hızını ayarladığımız bir kurulum işlevi oluşturacağız. Burada bu kodda
    9600 baud hızı kullandık , ancak
    Bluetooth modülü ayarınıza göre farklı baud hızı kullanabilirsiniz . (Bakınız Şekil 3).

    Şekil 1. Arduino KoduŞekil 2. Pinodların ayarlanması

    Daha sonra, girişleri uygulamadan alıp
    ‘seri’ adlı bir değişkende sakladığımız bir döngü işlevi oluşturulur . Bundan sonra
    , LED ışık parlaklığını, fanı ve RGB led rengini kontrol etmek için birkaç koşul yaratılır . Bundan sonra
    , led ışığı
    uyarlanabilir parlaklık moduna ayarlamak için analog değeri kontrol eden bir ‘while döngüsü’ oluşturacağız . While while döngüsü 50’den küçük bir değer okursa
    adaptif parlaklığa geçer.

    Şekil 5. PID kontrolörü için Arduino kodu.

    Uygulama Yapımı

    Projemizde RGB ışık rengini, oda ışık
    parlaklığını, otomatik ve manuel modda uyarlanabilir ışığı, tarih ve
    saat kontrollü ışığı kontrol eden sistemlere sahibiz . Ve bir android
    uygulaması kullanarak bu özellikleri vereceğiz .

    Burada uygulama yapmak için kodular uygulama oluşturucuyu kullanacağız (ayrıca
    MIT uygulama mucitini de kullanabilirsiniz ). Kodular uygulama oluşturucuda, uygulama için bir düzen oluşturacağız ve mizanpaja
    aşağıdaki bileşenleri ekleyeceğiz:

    • 1 Liste seçici
    • 4 düğme
    • 3 Metin Kutusu
    • 2 Saat Zamanlayıcı
    • 1 Bluetooth istemcisi
    • 4 kaydırma çubuğu

    Şekil 6. Uygulama Düzeni

    Uygulama düzenini oluşturduktan ve yukarıdaki bileşenleri ekledikten sonra,
    kod bloklarına gidin ve Şekil 7’de gösterildiği gibi kod bloklarına katılın
    . Kaynak kodu ve uygulamayı aşağıdaki bağlantıdan indirebilirsiniz.

    İndirme Kodu 

    Şekil 7. Kod Blokları

    Bağ

    Arduino UNO Bileşenler
    Pim 7 Bluetooth TX
    Pim 8 Bluetooth Rx
    GND Bluetooth GND
    5V Bluetooth VCC
    3V RGB LED Ortak Katot
    Pim 5 RGB Led R pimi
    Pim 6 RGB Led G Pimi
    Pim 11 RGB Led B pimi
    Pim 3 LED ışığı
    Pim A0 Işık Sensörü LDR Pin
    Pim A3 Anahtar Pimi

    Şekil 10. Devre Şeması.

    Test yapmak

    Önce bileşenleri ve röleyi çalıştırın, ardından oluşturduğumuz uygulamayı açın.
    Şimdi, uygulamanın her özelliğini tek tek test edin. Önce uygulamadaki bağlantı düğmesine dokunun
    ve Bluetooth HC 05’i seçin. Başarılı bağlantıdan sonra
    ilk kaydırma çubuğunu hareket ettirerek uygulamanın LED ışığının parlaklığını kontrol edebilirsiniz .
    Kaydırma çubuğunu hareket ettirin ve ışığın parlaklığını ihtiyacınıza göre ayarlayın.

    Şekil 11. LED ve RGB kontrolü için kaydırma çubuğu

    Ayrıca, uygulamadaki ışıkları kapatma / açma düğmelerini kullanarak ışıkları kapatabilir / açabilirsiniz. Eğer varsa
    RGB ruh ışık rengini değiştirmek istiyorum, 3., 4 th kullanmak, 5. kaydırıcı çubuklar için
    istediğiniz rengi seçin.
    Tatil veya ofisteyken oda ışıklarınızın otomatik olarak kapanmasını sağlamak için
    sol taraftaki metin kutusundaki tarih ve saati ayarlayın . Uygulama, ayarlanan saat ve tarihte ışıkları otomatik olarak kapatır.

    Şekil 12. Otomatik kapanma ışığının tarih ayarı

    Şimdi projenin ana işlevini yani PID uyarlanabilir parlaklık
    sistemini test edelim . Cihazdaki otomatik düğmeyi açın. Bu, cihazın
    otomatik parlaklık moduna geçmesini sağlar ve LED, parlaklığını
    PID denetleyici kodunda ayarlanan değere göre otomatik olarak değiştirir .
    Not: – Sen değiştirebilirsiniz Kp, Ki, Kd için isabet ve deneme yöntemiyle kodunda değerleri
    daha doğru ve iyi uyarlamalı parlaklık olsun.

     

    https://drive.google.com/file/d/14ZgMzrRnSy8aJVMucAfGpSrzNJd_6Rir/view?usp=sharing