Circuits

Com construir un robot - Lliçó 6: Construir un robot Arduino que pugui controlar la densitat de CO2: 11 passos

🔴CÓMO HACER un ROBOT con INTELIGENCIA ARTIFICIAL CASERO: MATERIAL NECESARIO

🔴CÓMO HACER un ROBOT con INTELIGENCIA ARTIFICIAL CASERO: MATERIAL NECESARIO

Taula de continguts:

Anonim

Aquest és el cinquè manual de la sèrie "Com construir un robot". En aquest tutorial, combinarem la plataforma robot amb el sensor de CO2 per tal de detectar la densitat de CO2 d’una determinada àrea.

Igual que els últims quatre tutorials, es fa servir un kit de robots Arduino (Pirate: Kit de robot mòbil Arduino 4WD amb Bluetooth 4.0).

Menú de lliçons:

Lliçó 1: Introducció

Lliçó 2: Construir un robot Arduino bàsic

Lliçó 3: Construir un robot de seguiment de línies Arduino

Lliçó 4: Construir un robot Arduino que pugui evitar els obstacles

Lliçó 5: Construir un robot Arduino amb efectes de so i llum

Lliçó 6: Construir un robot Arduino que pugui controlar el medi ambient

Lliçó 7: Construïu un robot Arduino controlat per Bluetooth

Components de maquinari

Sensor de gasos de CO2 per a Arduino × 1

Subministraments:

Pas 1:

Sensor tàctil digital × 1

Pas 2:

Escut del teclat LCD per a Arduino × 1

Pas 3:

Columnes i embolcalls de niló M3 * 6MM

Pas 4:

INSTRUCCIÓ DE MUNTATGE:

PAS 1: Afegiu el sensor tàctil

Hi ha dos forats al sensor tàctil per fixar les columnes de Nylon.

Fixeu les columnes de Nylon. Si us plau, no sobreposteu aquestes columnes.

Pas 5:

A continuació, connecteu el sensor tàctil a la placa.

Pas 6:

PAS 2: Afegiu la pantalla LCD

Feu lliscar les costes als quatre forats de la pantalla LCD i arregleu-los. Talla la part restant dels embolcalls.

Pas 7:

PAS 3: Afegiu el sensor de CO2

Fixeu les columnes de Nylon al sensor de CO2. Connecteu el sensor de CO2 a la placa del sensor.

Pas 8:

Gairebé completes el muntatge. Si us plau, no fixeu la placa superior a la plataforma encara que haguem de treballar posteriorment en la connexió del circuit.

Pas 9:

CONNECTEU EL HARDWARE:

Si us plau, mantingueu els cables en ordre.

La interfície està acolorida de la següent manera:

El vermell indica la potència

El negre indica el terreny

El blau indica el pin d'entrada analògica

El verd indica el pin d'E / S digital

El monitor LCD ha d'estar connectat a VCC, GND, SCL i SDA en aquest ordre concret.

Pas 10:

CODIFICACIÓ

Cerqueu el codi DHT11_Display.ino i descarregueu-lo. No us oblideu de la biblioteca de LiquidCrystal_I2C i de CO2.

Pas 11:

Després de descarregar el codi amb èxit, es mostrarà la densitat de CO2 en temps real a la pantalla LCD. El sensor tàctil té dues funcions aquí:

1. Si no toqueu el sensor després d'un temps, s’aturarà automàticament.

2. Si voleu afegir més sensors per controlar altres dades ambientals, el sensor tàctil pot canviar les dades de monitorització a la pantalla LCD.

La biblioteca CINEMA SINOPSI és important. És difícil entendre la biblioteca sense biblioteca.

#include #include

LiquidCrystal_I2C lcd (0x20,16,2);

#include "CO2.h"

CO2Sensor CO2ppm;

Aquí heu de saber sobre CO2Pin, una variable que s’utilitza per declarar els pins del sensor.

int CO2Pin = A1;

És a dir, DHT11Pin representa el pin analògic1. És a dir, el nostre sensor de CO2 està connectat a Pin analògic1.

Els següents són algunes declaracions de les variables de temps. TouchPin representa el sensor tàctil mentre que 13 representa el pin digital.

llarg actualMillis = 0;

llargs anteriorsMillis;

interval llarg = 4000;

contador int = 0; // comptar els números

int touchPin = 13;

Introduïu la funció de setup (), que és una configuració per a la iniciació.

PINMode (touchPin, INPUT);

A continuació, mantingueu el sensor tàctil amb un mode d'entrada. Per obtenir informació específica, podeu consultar la referència Arduino al lloc web Arduino (www.arduino.cc), que ha introduït la funció de pinMode ().

A continuació, cal inicialitzar la pantalla LCD i encendre la pantalla LCD, que mostra que la pantalla LCD està preparada.

lcd.init ();

lcd.backlight ();

retard (100);

lcd.setBacklight (0);

Ara toca la funció de loop (). Primer, hem de llegir el valor del sensor tàctil i després emmagatzemar aquestes dades amb una variable tàctil.

int touchState = digitalRead (TouchPin);

A continuació, comproveu si el controlador rebrà un senyal d’ALTA una vegada que toqueu el sensor tàctil amb els dits, 1 s’afegirà al compte.

si (toqueu Data == ALTA) {compta ++; previousMillis = millis (); }

El resultat comporta quantes vegades heu tocat la pantalla. Però si només toqueu el sensor una vegada, el temps per a cada toc s’inclourà en la funció de millis ().

Canvem la durada de l’hora de toc amb una frase subordinada que inicia amb si. L'interval aquí significa el període de toc que vam configurar. Per tant, sabem quina acció s'haurà de fer en quatre segons del tacte i més de quatre segons de tocar, respectivament.

if (currentMillis - previousMillis <Interval) {// fer alguna cosa en 4 segons

else {// fer alguna cosa més de 4 segons}

lcd.setBacklight (0);

La funció de setBacklight () s'utilitza per apagar el llum de llum de fons LCD.

Quina acció s'ha de fer quan toquem el sensor durant més de quatre segons

Si toquem el sensor durant més de quatre segons, sabem que el llum de llum de fons LCD es pot apagar.

Quina acció s'haurà de fer en un termini de quatre segons.

if (count == 1) {// Un toc, la pantalla LCD no mostrarà cap diferència}

else if (count == 2) {// Toqueu dues vegades, el valor es mostrarà a la pantalla LCD}

Premeu el sensor tàctil una vegada més dins de quatre segons; la pantalla encara estaria apagada. Només si el toqueu dues vegades al mateix temps, la llum de fons de la pantalla LCD es mostrarà i es mostraran les xifres de densitat de CO2.

Recordeu mantenir el compte com a zero després de tocar el sensor per última vegada.

comptar = 0;

Així, el codi complet serà:

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

else if (count == 2) {lcd.backlight (); DustShow (); comptar = 0; }

Llavors necessitem mantenir un seguiment de l’hora actual, ja que podem comparar-lo amb anteriorsMillis. Aquest punt és molt important.

currentMillis = millis ();

La funció de CO2ppm.Read () s’utilitza per llegir dades. I la variable CO2Value s'utilitzarà per emmagatzemar les dades del sensor de CO2.

int CO2Value = CO2ppm.Read (CO2Pin);

A continuació, s’utilitza la funció relacionada amb la pantalla LCD.

lcd.setCursor (0,0);

lcd.setCursor (0,1);

La funció de setCursor (columna, fila) s'utilitza per demostrar quina columna i la fila del cursor es mostra, començant per zero entre els claudàtors.

lcd.print (CO2Value);

print () significa que aquesta xifra es pot mostrar a la pantalla directament.

lcd.print ("");

lcd.print ("") significa espai en blanc que es mostra a la pantalla. S'utilitza per esborrar la pantalla.

Combinació de múltiples sensors. Com es poden combinar diversos sensors ambientals quan hagueu comprat algun tipus de sensors?

No us preocupeu. Us oferirem una plantilla de codificació per a la prova de múltiples sensors. Podeu fer ajustaments de la combinació fent referència a la plantilla esmentada. De fet, la teoria és la mateixa que un sol sensor, tret que hi hagi passos per als canvis de la pantalla LCD.

Cal modificar la codificació en vermell a sota. Hem esmentat abans que el recompte es refereixi a quantes vegades els dits toquen el sensor. Així, comptar = 2 significa que hem premut dues vegades i mostra les xifres del primer sensor. Seguiu endavant. Si us plau, tingueu en compte que torneu a tenir el compte zero.

Codi de mostra:

if (currentMillis - anteriorMillis <Interval) {

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

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

else if (count == 3) {//No.2 Sensor Sensor2Show (); lcd.backlight (); comptar = 0; }

Per descomptat, la configuració d’inici, la declaració de variables al principi, per al sensor és important.

Podeu consultar el codi d’exemple anomenat WeatherStation.ino com a referència si encara no teniu idea de com modificar els vostres codis.