Devreler

Robot Nasıl İnşa Edilir - Ders 6: CO2 Yoğunluğunu İzleyen Arduino Robotu İnşa Edin: 11 Adım

Yahboom Roboduino smart robot compatible with Arduino and Scratch3.0

Yahboom Roboduino smart robot compatible with Arduino and Scratch3.0

İçindekiler:

Anonim

Bu, “Bir Robot Nasıl Yapılır” Serisinin beşinci rehberidir. Bu eğiticide, robot platformunu CO2 sensörüyle birleştireceğiz, böylece belirli bir bölgenin CO2 yoğunluğunu tespit edebileceksiniz.

Son dört derste olduğu gibi, burada bir Arduino robot kiti (Korsan: Bluetooth 4.0 ile 4WD Arduino Mobil Robot Kiti) örnek olarak kullanılmıştır.

Dersler Menüsü:

Ders 1: Giriş

Ders 2: Temel Bir Arduino Robotu Oluşturun

Ders 3: Bir Çizgi İzleme Arduino Robotu Oluşturma

Ders 4: Engelleri Önleyebilecek Bir Arduino Robotu Oluşturun

Ders 5: Işık ve Ses Efektleri Olan Bir Arduino Robotu Oluşturun

Ders 6: Ortamı İzleyebilecek Bir Arduino Robotu Oluşturun

Ders 7: Bluetooth Kontrollü bir Arduino Robotu Oluşturun

Donanım bileşenleri

Arduino için CO2 Gaz Sensörü × 1

Gereçler:

Aşama 1:

Dijital Dokunmatik Sensör × 1

Adım 2:

Arduino Için LCD Tuş Kalkanı × 1

Aşama 3:

M3 * 6MM Naylon sütunlar ve kravat sarar

4. Adım:

MONTAJ TALİMATI:

1. ADIM: Dokunma sensörünü ekleyin

Naylon sütunların sabitlenmesi için dokunmatik sensörde iki delik vardır.

Naylon sütunları sabitleyin. Lütfen bu sütunları fazla çevirmeyin.

Adım 5:

Ardından dokunmatik sensörü plakaya takın.

6. Adım:

2. ADIM: LCD Ekranı Ekleyin

Kıyıları LCD ekranın dört deliğine kaydırın ve sabitleyin. Bağların kalan kısmını kesin.

7. Adım:

ADIM3: CO2 Sensörünü Ekleyin

Naylon sütunlarını CO2 Sensörüne sabitleyin. CO2 Sensörünü sensör plakasına takın.

8. adım:

Montajı neredeyse tamamlıyorsun. Lütfen daha sonra devre bağlantısı üzerinde çalışmamız gerektiği için üst plakayı platforma sabitlemeyin.

9. adım:

DONANIMI BAĞLAYIN:

Lütfen kabloları düzenli tutunuz.

Arayüz aşağıdaki gibi renklidir:

Kırmızı güç gösterir

Siyah zemini gösterir

Mavi, Analog Giriş Pimini gösterir

Yeşil, Dijital G / Ç Pimini gösterir

LCD monitör bu özel sırayla VCC, GND, SCL ve SDA'ya bağlanmalıdır.

10. Adım:

KODLAMA

DHT11_Display.ino adlı kodu bulun ve indirin. LiquidCrystal_I2C ve CO2 kütüphanesini unutma.

11. adım:

Kodu başarıyla indirdikten sonra, LCD ekranda gerçek zamanlı CO2 yoğunluğu gösterilecektir. Dokunma sensörünün burada iki işlevi vardır:

1. Bir süre sonra sensöre dokunmazsanız, otomatik olarak kapanacaktır.

2. Diğer çevresel verileri izlemek için daha fazla sensör eklemek istiyorsanız, dokunmatik sensör LCD'deki izleme verilerini değiştirebilir.

KOD SİNOPSİS Kütüphane önemlidir. Kütüphaneyi kütüphanesiz anlamak zor.

#include #include

LiquidCrystal_I2C lcd (0x20,16,2);

# "CO2.h" dahil

CO2Sensör CO2ppm;

Burada, sensörün pimlerini tanımlamak için kullanılan bir değişken olan CO2Pin'i bilmeniz gerekir.

int CO2Pin = A1;

Yani DHT11Pin, Analog Pin1'i temsil eder. Yani, CO2 sensörümüz Analog Pin1’e bağlı.

Aşağıdaki zaman değişkenleri için bazı beyanlar. TouchPin, dokunma sensörünü temsil ederken, 13 dijital pin içindir.

uzun akımMillis = 0;

uzun öncekiMillis;

uzun aralık = 4000;

int sayısı = 0; //sayıları saymak

int touchPin = 13;

İnitasyon için bir kurulum olan setup () işlevini getirin.

pinMode (touchPin, GİRİŞ);

Ardından, dokunma sensörünü bir yazma modunda tutun. Özel bilgi için, pinMode () işlevini tanıtan Arduino Web Sitesindeki Arduino Referansını (www.arduino.cc) kontrol edebilirsiniz.

Daha sonra, LCD ekranı başlatmanız ve LCD ekranın hazır olduğunu gösteren LCD ışığını açmanız gerekir.

lcd.init ();

lcd.backlight ();

gecikmesi (100);

lcd.setBacklight (0);

Şimdi döngü () işlevinin sırası gelir. Önce değeri dokunmatik sensörden okumalı ve sonra bu verileri bir değişken touchState ile saklamalıyız.

int touchState = digitalRead (touchPin);

Ardından, dokunma sensörüne parmaklarınızla dokunduğunuzda kontrolörün YÜKSEK sinyali alacağını kontrol edin, 1 sayıya eklenmelidir.

eğer (touchState == HIGH) {count ++; öncekiMillis = millis (); }

Burada sayım, ekrana kaç kez dokunduğunuz anlamına gelir. Ancak, sensöre yalnızca bir kez dokunursanız, her dokunuş için geçen süre millis () işlevine dahil edilir.

Dokunma süresinin uzunluğunu if ile başlayan bir alt cümle ile değiştiririz. Buradaki aralık, kurduğumuz dokunma süresi anlamına gelir. Böylelikle, dokunma sırasında dört saniye içinde hangi işlemin gerçekleştirileceğini biliyoruz.

if (currentMillis - priorMillis <Interval) {// 4 saniyede bir şeyler yap

else {// 4 saniyeden fazla bir şey yap}

lcd.setBacklight (0);

SetBacklight () işlevi, LCD arka lambasını kapatmak için kullanılır.

Sensöre dört saniyeden uzun süre dokunduğumuzda ne gibi önlemler alınmalıdır?

Sensöre dört saniyeden uzun süre dokunursak, LCD arka lambasının kapatılabileceğini biliyoruz.

dokunmanın dört saniye içerisinde ne yapılması gerektiği.

eğer (count == 1) {// Tek dokunuşla, LCD ekran hiçbir fark göstermez}

Aksi halde (count == 2) {// İki kez dokunursanız, LCD ekranda değer gösterilecektir}

Dokunmatik sensöre dört saniye içinde bir kez daha basın; ekran hala kapalı olurdu. Yalnızca aynı anda iki kez dokunursanız, LCD arka ışığı yanacak ve CO2 yoğunluğu değerleri gösterilecektir.

Lütfen son kez sensöre dokunduktan sonra sayımı sıfır tutmayı unutmayın.

= 0 sayısı;

Böylece tam kod şöyle olacaktır:

if (count == 1) {lcd.setBacklight (0); }

başka eğer (count == 2) {lcd.backlight (); DustShow (); = 0 sayısı; }

Öyleyse, öncekiMillis ile karşılaştırabileceğimiz şu andaki zamanı izlememiz gerekir. Bu nokta çok önemlidir.

currentMillis = millis ();

Verileri okumak için CO2ppm.Read () işlevi kullanılır. Ve verileri CO2 sensöründen saklamak için CO2Value değişkeni kullanılacaktır.

int CO2Value = CO2ppm.Orada (CO2Pin);

LCD ekranla ilgili fonksiyonu nasıl kullanacağımız.

lcd.setCursor (0,0);

lcd.setCursor (0,1);

SetCursor (sütun, satır) işlevi, köşeli ayraç içinde sıfırdan başlayarak imlecin hangi sütun ve satırın gösterildiğini göstermek için kullanılır.

lcd.print (CO2Value);

print () bu rakamın doğrudan ekranda gösterilebileceği anlamına gelir.

lcd.print ("");

lcd.print ("") ekranda gösterilen boş alan anlamına gelir. Ekranı temizlemek için kullanılır.

Çoklu Sensörlerin Bir Birleşimi Bir çeşit sensör satın aldıktan sonra çoklu çevresel sensörleri nasıl birleştirirsiniz?

Endişelenme. Size çoklu sensörlerin test edilmesi için bir kodlama şablonu sunacağız. Söz konusu şablona bakarak kombinasyon üzerinde ayarlamalar yapabilirsiniz. Aslında, teori, LCD ekran değişiklikleri için adımlar olması dışında, tek sensörle aynıdır.

Aşağıdaki kırmızı kodlamanın değiştirilmesi gerekiyor. Bu saymadan önce bahsettiğimizde, parmakların sensöre kaç kez dokunduğunu belirtir. Bu nedenle, count = 2, iki kez bastığımız anlamına gelir ve ilk sensör için rakamları gösterir. Devam et! Lütfen sayınızı tekrar sıfır tutacağınızı unutmayın.

Basit kod:

if (currentMillis - öncekiMillis <Aralık) {

if (count == 1) {lcd.setBacklight (0); }

aksi takdirde (sayım == 2) {//No.1 Sensör Sensörü1Show (); lcd.backlight (); }

Aksi halde (count == 3) {//No.2 Sensör Sensörü2Show (); lcd.backlight (); sayım = 0; }

Elbette, başlatma ayarları, başlangıçta değişkenlerin bildirilmesi, sensör için önemlidir.

Kodlarınızı nasıl değiştireceğiniz konusunda hala bir fikriniz yoksa, referans için WeatherStation.ino adlı örnek kodu kontrol edebilirsiniz.