Arduino Başlangıç Seti: Proje 3
Proje adı: LOVE-O-METER video
Keşfedin: seri monitörü kullanarak analog giriş
Ekler: kütüphaneler
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ç 3 adet (her biri 220 Om)
4. Breadboard yarım boy
5. LED’ler (kırmızı) 3 adet
6. Sıcaklık sensörü TMP36 1 adet
7. Arduino IDE (siz indirebilirsiniz burada )
GENEL
Anahtarlar ve düğmeler harika olsa da, fiziksel dünya için on ve o ﬀ’dan daha çok şey var. Arduino dijital bir araç olsa da, sıcaklık veya ışık gibi şeyleri ölçmesi için analog sensörlerden bilgi alması mümkün. Bunu yapmak için, Arduino’nun dahili Analog-Dijital Dönüştürücüsünden (ADC) yararlanacaksınız. A0-A5 pinlerindeki analog, 0-1023 arasında bir değeri rapor edebilir ve bu değer 0 volt ile 5 volt arasında değişir. Cildinizin ne kadar sıcak olduğunu ölçmek için bir sıcaklık sensörü kullanacaksınız. Bu bileşen algıladığı sıcaklığa bağlı olarak değişen bir voltaj üretir. Üç pim vardır: biri toprağa, diğeri güce bağlanır ve üçüncüsü Arduino’nuza değişken bir voltaj verir. Bu projenin taslağında, sensörün çıktısını okuyacak ve LED’leri açıp kapatmak için kullanacaksınız. ne kadar sıcak olduğunu gösterir. Birkaç farklı sıcaklık sensörü modeli vardır. Bu model, TMP36 uygundur, çünkü santigrat derece cinsinden sıcaklıkla doğru orantılı olarak değişen bir voltaj üretir.
TMP36’nın teknik özelliklerine buradan bakın .
Arduino IDE, mikrodenetleyiciden sonuçları rapor etmenizi sağlayan seri monitör adı verilen bir araçla birlikte gelir. Seri monitörü kullanarak, sensörlerin durumu hakkında bilgi edinebilir ve devrenizde ne olduğu ve çalıştığı sırada kodunuz hakkında bir fikir edinebilirsiniz.
DEVRE
Bu projede, devam etmeden önce odanın sıcaklığını kontrol etmeniz gerekir. Şu anda işleri manuel olarak kontrol ediyorsunuz, ancak bu aynı zamanda kalibrasyon yoluyla da gerçekleştirilebilir. Taban sıcaklığını ayarlamak için bir düğme kullanmak veya Arduino’nun döngüyü başlatmadan önce bir örnek almasını sağlamak () ve bunu referans noktası olarak kullanmak mümkündür. Arduino 6 numaralı proje bununla ilgili ayrıntılara giriyor ya da Arduino yazılımıyla birlikte verilen Kalibrasyon örneğine bakabilirsiniz:
Breadboard’unuzu bağlayın, böylece güç ve toprak elde edin. 220 ohm’luk bir dirençle topraklamak için kullandığınız LED’lerin her birinin katodunu (kısa bacak) takın. LED’lerin anotlarını 2 ile 4 arasındaki pinlere bağlayın. Bunlar projenin göstergeleri olacaktır. TMP36’yı yuvarlatılmış kısmı Arduino’dan uzağa bakacak şekilde ekmek tahtasına yerleştirin (pimlerin sırası önemlidir!). Güç to ‘nin sol pimini güç tarafına ve sağ pimi toprağa bağlayın. Orta pimi Arduino’nuzdaki A0 pimine bağlayın. Bu, analog giriş pimi 0’dır. İnsanlarla etkileşime girmesi için sensörünüz için bir arayüz oluşturun.
KOD
Sabitler, programdaki şeyleri benzersiz bir şekilde adlandırmanıza izin verdikleri değişkenlerine benzer, ancak değişkenlerin aksine değiştiremezler. Kolay başvuru için analog girişi adlandırın ve taban sıcaklığını tutmak için sabit bir başka ad oluşturun. Bu taban çizgisinin üzerindeki her 2 derece için bir LED yanacaktır. Sensörün hangi pin üzerinde olduğunu belirlemek için burada kullanılan int veri tipini zaten gördünüz . Sıcaklık ﬂ yulaf veya ating yağlanma noktası sayısı olarak saklanıyor . Bu tür bir sayı ondalık basamağa sahiptir ve kesirler olarak ifade edilebilecek numaralar için kullanılır. Kurulumda Serial.begin () komutunu kullanacaksınız.. Bu, Arduino ve bilgisayar arasında bir bağlantı açar, böylece değerleri bilgisayar ekranındaki analog girişten görebilirsiniz. 9600 argümanı Arduino’nun haberleşme hızı, saniyede 9600 bit. Mikrodenetleyicinizden göndermeyi seçtiğiniz bilgileri görüntülemek için Arduino IDE’nin seri monitörünü kullanacaksınız. IDE’nin seri monitörünü açtığınızda, baud hızının 9600 olduğunu doğrulayın. Sıradaki, bazı pinleri çıkış olarak ayarlamak için bir () döngüsü. Bunlar LED’leri daha önce bağladığınız pimler. Bunun yerine dışarı hepsine özel isim ve yazmaya verme ) (pinMode her biri için işlevini, bir kullanabilirsiniz ) (içinhızlı bir şekilde hepsini geçmek için döngü. Bir programda yinelemek istediğiniz çok sayıda benzer şey varsa, bu kullanışlı bir numaradır. For () döngüsüne, 2 ile 4 numaralı pinler arasında sırayla çalışmasını söyleyin . In döngü () , adlı bir yerel değişken kullanacağız sensorVal sizin sensörden okuma saklamak için. Sensörden değeri elde etmek için, bir argüman alan analogRead () işlevini çağırırsınız : hangi pin voltaj okuması gerekir. 0 ile 1023 arasında olan değer, pim üzerindeki voltajın bir temsilidir. Serial.print () işlevi, Arduino’dan bağlı bir bilgisayara bilgi gönderir. Bu bilgiyi seri monitörünüzde görebilirsiniz. Serial.print () verirseniztırnak içinde bir argüman yazdığınız metni yazdıracaktır. Bir değişkeni argüman olarak verirseniz, bu değişkenin değerini yazdıracaktır. Küçük bir matematikle, pin üzerindeki gerçek voltajın ne olduğunu bulmak mümkün. Voltaj, 0 ile 5 volt arasında bir değer olacaktır ve kesirli bir kısma sahip olacaktır (örneğin, 2,5 volt olabilir), bu nedenle bir yulaf içinde saklamanız gerekir. Bu sayıyı tutmak için voltaj adlı bir değişken oluşturun. Divide sensorVal1024.0 ile ve 5.0 ile çarpın. Yeni numara, pimin üzerindeki voltajı temsil eder. Tıpkı sensör değerinde olduğu gibi, bunu seri monitöre yazdıracaksınız. Sensörün veri sayfasını incelerseniz, çıkış voltajının aralığı hakkında bilgi vardır. Veri sayfaları, elektronik bileşenler için el kitaplarına benzer. Diğer mühendisler için mühendisler tarafından yazılmıştır. Bu sensörün veri sayfası, sensördeki her 10 milivoltten oluşan değişimin, 1 santigrat derece sıcaklık değişimine eşdeğer olduğunu açıklar. Ayrıca, sensörün 0 derecenin altındaki sıcaklıkları okuyabildiğini gösterir. Bu nedenle, donma derecesinin altındaki değerler için bir o-set oluşturmanız gerekir (0 derece). Gerilimi alırsanız, 0,5’i çıkarın ve 100 ile çarpın, santigrat derece cinsinden doğru sıcaklığı elde edersiniz. Bu yeni numarayı, sıcaklık adı verilen bir bağlantı noktası değişkeninde saklayın. Artık gerçek sıcaklığa sahip olduğunuzda, bunu seri monitöre de yazdırın. Sıcaklık değişkeni bu döngüde yazdıracağınız son şey olduğundan, biraz farklı bir komut kullanacaksınız:Seri.println () . Bu komut, değeri gönderdikten sonra seri monitörde yeni bir satır oluşturacaktır. Bu, yazdırıldıkları sırada okumayı kolaylaştırmaya yardımcı olur. Gerçek sıcaklıkla, LED’leri aydınlatmak için bir if () … else ifadesi oluşturabilirsiniz. Başlangıç sıcaklığını başlangıç noktası olarak kullanarak, başlangıç seviyesinin üzerindeki her 2 derecelik sıcaklık artışı için bir LED’i yanacaksınız. Sıcaklık ölçeğinde ilerlerken bir dizi değer arayacaksınız. &&operatör mantıklı bir şekilde “ve” anlamına gelir. Birden fazla koşulu kontrol edebilirsiniz: “sıcaklık, taban çizgisinden 2 derece daha yüksekse ve taban çizgisinden 4 derecenin altındaysa.” Sıcaklık, taban çizgisinin iki ila dört derece arasındaysa, bu kod bloğu açılır. pin 3 üzerindeki LED de. Analog-Dijital Dönüştürücü sadece çok hızlı okuyabilir, bu yüzden döngünüzün sonuna küçük bir gecikme koymalısınız () . Çok sık okursanız, değerleriniz düzensiz görünecektir.
BAŞLANGIÇ
Arduino’ya yüklenen kodla, seri monitör simgesine tıklayın. Bunun gibi biçimlendirilmiş bir değer akışı görmelisiniz: Sensör: 210, Volt: .75, derece C: 18. Ekmek tavaya takılıyken parmaklarınızı sensörün etrafına koymaya çalışın ve değerlere ne olduğunu görün Seri monitörde. Sensör açık havada bırakıldığında sıcaklığın ne olduğuna dikkat edin. Seri monitörü kapatın ve programınızdaki baselineTemp sabitini, sıcaklık derecesini gözlemlediğiniz değere değiştirin. Kodunuzu tekrar yükleyin ve sensörü parmaklarınızda tutmayı deneyin. Sıcaklık arttıkça, LED’lerin birer birer açıldığını görmelisiniz. Birkaç kişinin birbiriyle uyumluluğunu test etmesi için bir arayüz oluşturun.
ÖZETSen kullandık analogRead () sizin Arduino içindeki değişiklikleri izlemek ve seri monitörü. Şimdi çok sayıda analog sensör ve giriş okumak mümkündür.
Bu konuda Youtube’daki filmlerden birini izleyin – buraya tıklayın