Vezja

Kako zgraditi robota - Lekcija 6: Zgradite robot Arduino, ki lahko nadzoruje gostoto CO2: 11 korakov

Робот Паук на Arduino c управлением по Bluetooth

Робот Паук на Arduino c управлением по Bluetooth

Kazalo:

Anonim

To je peta vadnica serije »Kako zgraditi robot«. V tej vadnici bomo združili robotsko platformo s senzorjem CO2, da boste lahko zaznali gostoto CO2 na določenem območju.

Enako kot pri zadnjih štirih vadnicah je kot primer uporabljen Arduino robotski komplet (Pirate: 4WD Arduino Mobile Robot Kit z Bluetooth 4.0).

Lekcije Meni:

Lekcija 1: Uvod

Lekcija 2: Zgradite osnovni robot Arduino

Lekcija 3: Zgradite Arduino robot za sledenje linij

Lekcija 4: Zgradite robot Arduino, ki bi lahko preprečil ovire

Lekcija 5: Zgradite robot Arduino s svetlobnimi in zvočnimi učinki

Lekcija 6: Zgradite robot Arduino, ki lahko spremlja okolje

Lekcija 7: Zgradite robot za Arduino, ki ga upravlja Bluetooth

Komponente strojne opreme

Senzor za plin CO2 za Arduino × 1

Dobave:

Korak 1:

Digitalni senzor na dotik × 1

2. korak:

Zaslon LCD tipkovnice za Arduino × 1

3. korak:

M3 * 6MM Najlonski stebri in tie-wraps

4. korak:

NAVODILA ZA ZBIRANJE:

KORAK 1: Dodajte senzor na dotik

Na senzorju za dotik sta dve luknji za pritrditev najlonskih stebrov.

Popravi najlonske stebre. Prosim, ne preveč obračajte teh stolpcev.

5. korak:

Nato pritrdite senzor za dotik na ploščo.

6. korak:

STEP2: Dodajte LCD zaslon

Obale potisnite v štiri luknje na LCD zaslonu in jih pritrdite. Prerežite preostali del tie-wraps.

7. korak:

STEP3: Dodajte senzor CO2

Pritrdite najlonske stebre na senzor CO2. Pritrdite senzor CO2 na ploščo senzorja.

8. korak:

Skoraj končate montažo. Prosimo, da zgornje plošče ne pritrdite na ploščad, ker moramo kasneje delati na povezavi.

9. korak:

PRIKLJUČITE OPREMO:

Prosimo, da držite kable v redu.

Vmesnik je obarvan na naslednji način:

Rdeča označuje moč

Črna označuje tla

Modra označuje Analog Input Pin

Zelena označuje Digital I / O Pin

LCD monitor mora biti v tem naročilu povezan z VCC, GND, SCL in SDA.

Korak 10:

KODIRANJE

Poiščite kodo z imenom DHT11_Display.ino in jo prenesite. Ne pozabite na knjižnico za LiquidCrystal_I2C in CO2.

11. korak:

Po uspešnem prenosu kode se na LCD zaslonu prikaže gostota CO2 v realnem času. Senzor za dotik ima tukaj dve funkciji:

1. Če se senzor po nekaj časa ne dotaknete, se bo samodejno izklopil.

2. Če želite dodati več senzorjev za spremljanje drugih okoljskih podatkov, lahko senzor na dotik preklopi podatke o spremljanju na LCD-prikazovalniku.

CODE SYNOPSIS Knjižnica je pomembna. Težko je razumeti knjižnico brez knjižnice.

#include #include

LiquidCrystal_I2C lcd (0x20,16,2);

#include "CO2.h"

CO2Senzor CO2ppm;

Tukaj morate vedeti o CO2Pin, spremenljivki, ki se uporablja za razglasitev kontaktov senzorja.

int CO2Pin = A1;

DHT11Pin namreč predstavlja Analog Pin1. To pomeni, da je naš senzor CO2 priključen na analogni pin1.

Naslednje so nekatere deklaracije za časovne spremenljivke. TouchPin predstavlja senzor na dotik, medtem ko 13 pomeni digitalni pin.

dolga currentMillis = 0;

dolga prejšnja Millis;

dolg Interval = 4000;

int count = 0; // štetje številk

int touchPin = 13;

Vnesite funkcijo setup (), ki je nastavitev za pobudo.

pinMode (touchPin, INPUT);

Nato senzor na dotik hranite z načinom vnosa. Za podrobnejše informacije lahko preverite Arduino referenco na Arduino spletni strani (www.arduino.cc), ki je uvedla funkcijo pinMode ().

Nato morate inicializirati zaslon LCD in vklopiti luč LCD, kar kaže, da je LCD zaslon pripravljen.

lcd.init ();

lcd.backlight ();

zamuda (100);

lcd.setBacklight (0);

Zdaj je na vrsti funkcija zanke (). Najprej moramo prebrati vrednost iz senzorja na dotik in nato shraniti te podatke z enim spremenljivim zaslonom na dotik.

int touchState = digitalRead (touchPin);

Nato preverite, ali bo krmilnik prejel signal HIGH, ko se s prsti dotaknete senzorja na dotik, 1 se doda štetju.

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

To pomeni, kolikokrat ste se dotaknili zaslona. Če pa se senzor dotakneš samo enkrat, se bo čas za vsak dotik vključil v funkcijo millis ().

Dolžino časa dotika spreminjamo s pod stavkom, ki se začne z if. Interval tukaj pomeni čas za dotik, ki smo ga vzpostavili. Torej vemo, kakšno dejanje se bo izvajalo v štirih sekundah dotika in več kot štiri sekunde dotika.

if (currentMillis - previousMillis <Interval) {// nekaj naredite v 4 sekundah

else {// naredite nekaj več kot 4 sekunde}

lcd.setBacklight (0);

Funkcija setBacklight () se uporablja za izklop žarnice za osvetlitev LCD zaslona.

Kaj je treba storiti, ko se senzor dotaknemo za več kot štiri sekunde

Če se senzor dotaknemo za več kot štiri sekunde, se zavedamo, da je mogoče osvetlitev LCD zaslona izklopiti.

kakšne ukrepe je treba sprejeti v štirih sekundah dotika.

če (count == 1) {// Z enim dotikom LCD zaslon ne prikaže nobene razlike}

else if (count == 2) {// Dotaknite se dvakrat, vrednost bo prikazana na LCD zaslonu}

Pritisnite tipalo na dotik še enkrat v štirih sekundah; zaslon bo še vedno izklopljen. Samo če se ga dotaknete dvakrat hkrati, se bo vklopila osvetlitev LCD zaslona in prikazane bodo številke CO2.

Ne pozabite, da štejete kot nič, ko se zadnjič dotaknete senzorja.

count = 0;

Tako je popolna koda:

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

tudi če (count == 2) {lcd.backlight (); DustShow (); count = 0; }

Potem moramo slediti trenutnemu času, saj ga lahko primerjamo s prejšnjimiMillis. Ta točka je zelo pomembna.

currentMillis = millis ();

Funkcija CO2ppm.Read () se uporablja za branje podatkov. Za shranjevanje podatkov iz senzorja CO2 bo uporabljena spremenljivka CO2Value.

int CO2Value = CO2ppm.Read (CO2Pin);

Tukaj je, kako bi uporabili funkcijo, povezano z LCD zaslonom.

lcd.setCursor (0,0);

lcd.setCursor (0,1);

Funkcija setCursor (stolpec, vrstica) se uporablja za prikaz, kateri stolpec in vrstica je kazalec prikazan, začenši z ničlo v oklepajih.

lcd.print (CO2Value);

print () pomeni, da se ta številka lahko prikaže neposredno na zaslonu.

lcd.print ("");

lcd.print ("") pomeni prazen prostor, prikazan na zaslonu. Uporablja se za brisanje zaslona.

Kombinacija več senzorjev Kako lahko združite več okoljskih senzorjev, ko kupite nekakšen senzor?

Ne skrbite. Mi vam bomo ponudili kodirno predlogo za testiranje več senzorjev. Kombinacijo lahko prilagodite s sklicevanjem na omenjeno predlogo. Dejstvo je, da je teorija enaka kot en sam senzor, razen, da obstajajo koraki za spremembe LCD zaslona.

Rdeče označeno kodiranje je treba spremeniti. Pred tem smo omenili, da se število nanaša na to, kolikokrat se prsti dotaknejo senzorja. Tako = count = 2 pomeni, da smo dvakrat pritisnili in prikazali številke za prvi senzor. Nadaljuj! Prosim, vzemite si v mislih, da boste ponovno obdržali število nič.

Vzorec kode:

if (currentMillis - previousMillis <Interval) {

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

tudi če (count == 2) {//No.1 Sensor Sensor1Show (); lcd.backlight (); }

tudi če (count == 3) {//No.2 Sensor Sensor2Show (); lcd.backlight (); count = 0; }

Seveda, začetna nastavitev, deklaracija spremenljivk na začetku, za senzor je pomembna.

Primerjalno kodo, imenovano WeatherStation.ino, lahko preverite za referenco, če še vedno ne veste, kako spremeniti svoje kode.