Sirkuit

Cara Membangun Robot - Pelajaran 6: Membangun Robot Arduino yang Dapat Memantau Kepadatan CO2: 11 Langkah

Cara sederhana membuat robot pemadam api lilin dengan arduino dan driver L298P

Cara sederhana membuat robot pemadam api lilin dengan arduino dan driver L298P

Daftar Isi:

Anonim

Ini adalah tutorial kelima dari Seri 'Cara Membangun Robot'. Dalam tutorial ini, kami akan menggabungkan platform robot dengan sensor CO2 sehingga Anda dapat mendeteksi kepadatan CO2 di area tertentu.

Sama seperti empat tutorial terakhir, kit robot Arduino (Pirate: 4WD Arduino Mobile Robot Kit dengan Bluetooth 4.0) digunakan di sini sebagai contoh.

Menu Pelajaran:

Pelajaran 1: Pendahuluan

Pelajaran 2: Membangun Robot Arduino Dasar

Pelajaran 3: Membangun Robot Pelacakan Garis Arduino

Pelajaran 4: Bangun Robot Arduino yang Dapat Menghindari Rintangan

Pelajaran 5: Membangun Robot Arduino Dengan Efek Cahaya Dan Suara

Pelajaran 6: Membangun Robot Arduino yang Dapat Memantau Lingkungan

Pelajaran 7: Membangun Robot Arduino yang Terkendali Bluetooth

Komponen perangkat keras

Sensor Gas CO2 untuk Arduino × 1

Persediaan:

Langkah 1:

Sensor Sentuh Digital × 1

Langkah 2:

LCD Keypad Shield Untuk Arduino × 1

Langkah 3:

M3 * 6MM Kolom nilon dan dasi-membungkus

Langkah 4:

INSTRUKSI PERAKITAN:

LANGKAH 1: Tambahkan sensor sentuh

Ada dua lubang pada sensor sentuh untuk memperbaiki kolom Nylon.

Perbaiki kolom Nylon. Tolong jangan terlalu memutar kolom-kolom itu.

Langkah 5:

Kemudian pasang sensor sentuh di piring.

Langkah 6:

LANGKAH2: Tambahkan Layar LCD

Geser pantai ke empat lubang layar LCD dan perbaiki. Potong bagian sisa dasi.

Langkah 7:

LANGKAH3: Tambahkan Sensor CO2

Perbaiki kolom Nylon pada Sensor CO2. Pasang Sensor CO2 pada pelat sensor.

Langkah 8:

Anda hampir menyelesaikan perakitan. Tolong jangan pasang pelat atas ke platform karena kita perlu bekerja pada koneksi sirkuit nanti.

Langkah 9:

HUBUNGI PERANGKAT KERAS:

Harap menjaga kabel tetap rapi.

Antarmuka diwarnai sebagai berikut:

Merah menunjukkan kekuatan

Hitam menunjukkan tanah

Biru menunjukkan Pin Input Analog

Hijau menunjukkan Digital I / O Pin

Monitor LCD harus terhubung ke VCC, GND, SCL dan SDA dalam urutan tertentu.

Langkah 10:

CODING

Temukan kode bernama DHT11_Display.ino dan unduh. Jangan lupa perpustakaan untuk LiquidCrystal_I2C dan CO2.

Langkah 11:

Setelah berhasil mengunduh kode, kerapatan CO2 waktu nyata akan ditampilkan di layar LCD. Sensor sentuh memiliki dua fungsi di sini:

1. Jika Anda tidak menyentuh sensor setelah beberapa waktu, itu akan mati secara otomatis.

2. Jika Anda ingin menambahkan lebih banyak sensor untuk memantau data lingkungan lainnya, sensor sentuh dapat mengganti data pemantauan pada LCD.

Pustaka SYNOPSIS Perpustakaan penting. Sulit untuk memahami perpustakaan tanpa perpustakaan.

#include #include

LCD LiquidCrystal_I2C (0x20,16,2);

#termasuk "CO2.h"

CO2 Sensor CO2ppm;

Di sini Anda perlu tahu tentang CO2Pin, variabel yang digunakan untuk mendeklarasikan pin sensor.

int CO2Pin = A1;

Yaitu, DHT11Pin mewakili Analog Pin1. Dengan kata lain, sensor CO2 kami terhubung ke Analog Pin1.

Berikut ini adalah beberapa deklarasi untuk variabel waktu. TouchPin mewakili sensor sentuh, sementara 13 singkatan pin digital.

long currentMillis = 0;

longMillis sebelumnya;

Interval panjang = 4000;

int count = 0; // menghitung angka

int touchPin = 13;

Bawa fungsi pengaturan (), yang merupakan pengaturan untuk initasi.

pinMode (touchPin, INPUT);

Kemudian pertahankan sensor sentuh dengan mode ketik-in. Untuk informasi spesifik, Anda dapat memeriksa Referensi Arduino di Situs Web Arduino (www.arduino.cc), yang memperkenalkan fungsi pinMode ().

Selanjutnya, Anda perlu menginisialisasi layar LCD dan menyalakan lampu LCD, yang menunjukkan bahwa layar LCD siap.

lcd.init ();

lcd.backlight ();

keterlambatan (100);

lcd.setBacklight (0);

Sekarang giliran fungsi loop (). Pertama kita perlu membaca nilai dari sensor sentuh dan kemudian menyimpan data tersebut dengan satu variabel touchState.

int touchState = digitalRead (touchPin);

Kemudian periksa apakah pengontrol akan menerima sinyal TINGGI setelah Anda menyentuh sensor sentuh dengan jari Anda, 1 akan ditambahkan ke hitungan.

if (touchState == HIGH) {count ++; previousMillis = millis (); }

Dengan ini menghitung berarti berapa kali Anda telah menyentuh layar. Tetapi jika Anda hanya menyentuh sensor satu kali, maka jumlah waktu untuk setiap sentuhan akan dimasukkan dalam fungsi millis ().

Kami mengubah lama waktu sentuh dengan sub kalimat yang dimulai dengan if. Interval di sini berarti periode untuk sentuhan yang kami atur. Dengan demikian, kita tahu tindakan apa yang harus diambil dalam empat detik sentuhan dan lebih dari empat detik sentuhan.

if (currentMillis - previousMillis <Interval) {// lakukan sesuatu dalam 4 detik

lain {// lakukan sesuatu lebih dari 4 detik}

lcd.setBacklight (0);

Fungsi setBacklight () digunakan untuk mematikan lampu latar LCD.

Tindakan apa yang harus diambil ketika kita menyentuh sensor selama lebih dari empat detik

Jika kita menyentuh sensor selama lebih dari empat detik, kita tahu bahwa lampu latar LCD dapat dimatikan.

tindakan apa yang harus diambil dalam empat detik sentuhan.

jika (hitung == 1) {// Satu sentuhan, layar LCD tidak akan menunjukkan perbedaan apa pun}

kalau tidak (hitung == 2) {// Sentuh dua kali, nilainya akan ditampilkan di layar LCD}

Tekan sensor sentuh sekali lagi dalam waktu empat detik; layar akan tetap mati. Hanya jika Anda menyentuhnya dua kali secara bersamaan, lampu latar LCD akan menyala dan angka kepadatan CO2 akan ditampilkan.

Harap ingat untuk menjaga penghitungan sebagai nol setelah Anda menyentuh sensor untuk terakhir kalinya.

hitung = 0;

Jadi kode lengkapnya adalah:

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

lain jika (hitung == 2) {lcd.backlight (); DustShow (); hitung = 0; }

Maka kita perlu melacak waktu saat ini karena kita dapat membandingkannya denganMillis sebelumnya. Poin ini sangat penting.

currentMillis = millis ();

Fungsi CO2ppm.Read () digunakan untuk membaca data. Dan variabel CO2Value akan digunakan untuk menyimpan data dari sensor CO2.

int CO2Value = CO2ppm.Read (CO2Pin);

Inilah cara kami menggunakan fungsi yang terkait dengan layar LCD.

lcd.setCursor (0,0);

lcd.setCursor (0,1);

Fungsi setCursor (kolom, baris) digunakan untuk menunjukkan kolom dan baris mana kursor ditampilkan, mulai dari nol di dalam tanda kurung.

lcd.print (CO2Value);

print () berarti angka ini dapat ditampilkan di layar secara langsung.

lcd.print ("");

lcd.print ("") berarti ruang kosong yang ditampilkan di layar. Ini digunakan untuk menghapus layar.

Kombinasi Berbagai Sensor Bagaimana Anda bisa menggabungkan beberapa sensor lingkungan setelah Anda membeli beberapa jenis sensor?

Jangan khawatir. Kami akan menawarkan kepada Anda template pengkodean untuk pengujian beberapa sensor. Anda dapat membuat penyesuaian kombinasi dengan merujuk ke template yang disebutkan. Faktanya, teorinya sama dengan sensor tunggal kecuali bahwa ada langkah-langkah untuk perubahan layar LCD.

Pengodean merah di bawah ini perlu dimodifikasi. Kami sebutkan sebelumnya bahwa hitungan mengacu pada berapa kali jari menyentuh sensor. Jadi, hitung = 2 berarti kita telah menekan dua kali dan ini menunjukkan angka untuk sensor pertama. Teruskan! Harap diingat bahwa Anda akan tetap menghitung nol lagi.

Kode sampel:

if (currentMillis - previousMillis <Interval) {

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

lain jika (hitung == 2) {//No.1 Sensor Sensor1Show (); lcd.backlight (); }

lain jika (hitung == 3) {//No.2 Sensor Sensor2Show (); lcd.backlight (); hitung = 0; }

Tentu saja, pengaturan inisiasi, deklarasi variabel di awal, untuk sensor itu penting.

Anda dapat memeriksa kode sampel bernama WeatherStation.ino untuk referensi jika Anda masih tidak tahu cara memodifikasi kode Anda.