Litar

Bagaimana Membangun Robot - Pelajaran 6: Membina Robot Arduino yang Boleh Memantau Ketumpatan CO2: 11 Langkah

PASTI BISA !! TUTORIAL MEMBUAT ROBOT YANG DI KONTROL DARI HP ANDROID - ARDUINO PROJECT INDONESIA

PASTI BISA !! TUTORIAL MEMBUAT ROBOT YANG DI KONTROL DARI HP ANDROID - ARDUINO PROJECT INDONESIA

Isi kandungan:

Anonim

Ini adalah tutorial kelima 'Cara Membina Siri Robot'. Dalam tutorial ini, kami akan menggabungkan platform robot dengan sensor CO2 supaya anda dapat mengesan kepadatan CO2 kawasan 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: Pengenalan

Pelajaran 2: Membina Robot Arduino Asas

Pelajaran 3: Membina Tracking Line Arduino Robot

Pelajaran 4: Membina Robot Arduino Yang Boleh Dihindari Halangan

Pelajaran 5: Membina Robot Arduino Dengan Kesan Cahaya dan Bunyi

Pelajaran 6: Membina Robot Arduino Yang Boleh Memantau Alam Sekitar

Pelajaran 7: Membina Robot Arduino yang Dikendalikan Bluetooth

Komponen perkakasan

Sensor Gas CO2 untuk Arduino × 1

Bekalan:

Langkah 1:

Sensor Sentuh Digital × 1

Langkah 2:

Perisai Papan Kekunci LCD Untuk Arduino × 1

Langkah 3:

M3 * 6mm tiang nilon dan tali leher

Langkah 4:

ARAHAN PEMBELAJARAN:

LANGKAH 1: Tambahkan sensor sentuhan

Terdapat dua lubang pada sensor sentuhan untuk memasang lajur Nylon.

Betulkan lajur Nylon. Tolong jangan tukar lajur tersebut.

Langkah 5:

Kemudian pasang sensor sentuh pada plat.

Langkah 6:

STEP2: Tambah Skrin LCD

Keluarkan tepi ke empat lubang skrin LCD dan ubahnya. Potong baki bahagian bungkus.

Langkah 7:

LANGKAH 3: Tambah Sensor CO2

Betulkan lajur Nylon pada Sensor CO2. Pasang Sensor CO2 pada plat sensor.

Langkah 8:

Anda hampir menyelesaikan pemasangan. Tolong jangan tukar plat atas ke platform lagi kerana kita perlu bekerja pada sambungan litar nanti.

Langkah 9:

Sambungkan HARDWARE:

Sila simpan kabel secara teratur.

Antara muka berwarna seperti berikut:

Merah menunjukkan kuasa

Hitam menunjukkan tanah

Blue menandakan Pin Input Analog

Green menandakan Digital I / O Pin

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

Langkah 10:

CODING

Cari kod yang bernama DHT11_Display.ino dan muat turunnya. Jangan lupa perpustakaan untuk LiquidCrystal_I2C dan CO2.

Langkah 11:

Selepas berjaya memuat turun kod, ketepatan CO2 masa nyata akan ditunjukkan pada skrin LCD. Sensor sentuhan mempunyai dua fungsi di sini:

1. Jika anda tidak menyentuh sensor selepas beberapa waktu, ia akan dimatikan secara automatik.

2. Jika anda ingin menambah lebih banyak sensor untuk memantau data persekitaran yang lain, sensor sentuhan boleh menukar data pemantauan pada LCD.

CODE SYNOPSIS Perpustakaan adalah penting. Sukar untuk memahami perpustakaan tanpa perpustakaan.

#include #include

LiquidCrystal_I2C lcd (0x20,16,2);

#include "CO2.h"

CO2Sensor CO2ppm;

Di sini anda perlu tahu tentang CO2Pin, pemboleh ubah yang digunakan untuk mengisytiharkan pin sensor.

int CO2Pin = A1;

Iaitu, DHT11Pin mewakili Analog Pin1. Maksudnya, sensor CO2 kami disambungkan ke Analog Pin1.

Berikut adalah beberapa perisytiharan untuk pembolehubah masa. TouchPin mewakili sensor sentuh manakala 13 bermaksud pin digital.

panjang semasaMillis = 0;

lama sebelumnya;

Panjang Selang = 4000;

int count = 0; // nombor pengiraan

int touchPin = 13;

Bawa dalam fungsi persediaan (), yang merupakan tetapan untuk pengamatan.

pinMode (touchPin, INPUT);

Kemudian simpan sensor sentuhan dengan mod jenis masuk. Untuk maklumat tertentu, anda boleh menyemak Rujukan Arduino dalam Laman Web Arduino (www.arduino.cc), yang memperkenalkan fungsi pinMode ().

Seterusnya, anda perlu memulakan skrin LCD dan menghidupkan lampu LCD, yang menunjukkan skrin LCD siap.

lcd.init ();

lcd.backlight ();

kelewatan (100);

lcd.setBacklight (0);

Sekarang giliran untuk fungsi gelung (). Mula-mula kita perlu membaca nilai dari sensor sentuhan dan kemudian menyimpan data tersebut dengan satu touchState ubah.

int touchState = digitalRead (touchPin);

Kemudian periksa jika pengawal akan menerima isyarat HIGH apabila anda menyentuh sensor sentuhan dengan jari anda, 1 akan ditambah ke kiraan.

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

Dengan ini mengira berapakah bilangan kali anda menyentuh skrin. Tetapi jika anda hanya menyentuh sensor satu kali, maka jumlah masa untuk setiap sentuhan akan dimasukkan ke dalam fungsi millis ().

Kami menukar panjang masa sentuhan dengan sub ayat yang bermula dengan jika. Selang di sini bermaksud tempoh untuk sentuhan yang kami sediakan. Oleh itu, kita tahu tindakan apa yang akan diambil dalam sentuhan empat sentuhan dan lebih daripada empat saat sentuhan masing-masing.

jika (currentMillis - previousMillis <Selang) {// buat sesuatu dalam 4 saat

lain {// buat sesuatu lebih daripada 4 saat}

lcd.setBacklight (0);

Fungsi setBacklight () digunakan untuk mematikan lampu latar LCD.

Tindakan apa yang akan diambil apabila kita menyentuh sensor selama lebih daripada empat saat

Sekiranya kita menyentuh sensor selama lebih daripada empat saat, kita tahu bahawa lampu latar LCD boleh dimatikan.

apakah tindakan yang akan diambil dalam tempoh empat saat sentuh.

jika (count == 1) {// Sentuhan satu, skrin LCD tidak akan menunjukkan sebarang perbezaan}

lain jika (count == 2) {// Sentuh dua kali, nilai akan ditunjukkan pada skrin LCD}

Tekan sensor sentuhan sekali lagi dalam masa empat saat; skrin masih akan mati. Hanya jika anda menyentuhnya dua kali pada masa yang sama, akan lampu latar LCD dan angka kepadatan CO2 ditunjukkan.

Sila ingat untuk menyimpan kiraan sebagai sifar selepas anda menyentuh sensor untuk kali terakhir.

hitung = 0;

Jadi kod lengkap adalah:

jika (kiraan == 1) {lcd.setBacklight (0); }

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

Kemudian kita perlu menjejaki masa semasa seperti yang kita boleh bandingkan dengan sebelumnyaMillis. Perkara 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 caranya kita menggunakan fungsi yang berkaitan dengan skrin LCD.

lcd.setCursor (0,0);

lcd.setCursor (0,1);

Fungsi setCursor (lajur, baris) digunakan untuk menunjukkan lajur dan baris yang dipaparkan kursor, bermula dari sifar dalam kurungan.

lcd.print (CO2Value);

cetak () bermaksud angka ini boleh ditunjukkan pada skrin secara langsung.

lcd.print ("");

lcd.print ("") bermaksud ruang kosong yang ditunjukkan pada skrin. Ia digunakan untuk membersihkan skrin.

Gabungan Sensor Berbilang Bagaimana anda boleh menggabungkan beberapa sensor alam sekitar setelah anda membeli beberapa jenis sensor?

Jangan risau. Kami akan menawarkan anda template coding untuk ujian pelbagai sensor. Anda boleh membuat pelarasan gabungan dengan merujuk kepada templat yang disebutkan. Malah, teori itu sama dengan sensor tunggal kecuali terdapat langkah-langkah untuk perubahan skrin LCD.

Pengekodan merah di bawah perlu diubahsuai. Kami menyebut sebelum jumlah itu merujuk kepada berapa kali jari menyentuh sensor. Oleh itu, hitung = 2 bermakna kita telah menekan dua kali dan ia menunjukkan angka untuk sensor pertama. Teruskan! Sila ambil perhatian bahawa anda akan menyimpan kiraan sifar sekali lagi.

Kod Sampel:

jika (currentMillis - previousMillis <Selang) {

jika (kiraan == 1) {lcd.setBacklight (0); }

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

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

Sudah tentu, penubuhan permulaan, pengisytiharan pembolehubah pada permulaan, untuk sensor adalah penting.

Anda boleh menyemak kod sampel bernama WeatherStation.ino untuk rujukan jika anda masih tidak tahu bagaimana untuk mengubah kod anda.