Taula de continguts:

Projecte Arduino DHT22 i humitat del sòl amb menú: 4 passos
Projecte Arduino DHT22 i humitat del sòl amb menú: 4 passos

Vídeo: Projecte Arduino DHT22 i humitat del sòl amb menú: 4 passos

Vídeo: Projecte Arduino DHT22 i humitat del sòl amb menú: 4 passos
Vídeo: TutoDuino 5 : DHT11 ! 2024, De novembre
Anonim
Projecte de sensor Arduino DHT22 i humitat del sòl amb menú
Projecte de sensor Arduino DHT22 i humitat del sòl amb menú

Hola nois Avui us presento el meu segon projecte sobre instructables. Aquest projecte presenta la barreja del meu primer projecte en què he utilitzat el sensor Soil Moisture i el sensor DHT22 que s’utilitzen per mesurar la temperatura i la humitat. Aquest projecte és fàcil de fer i la gent que utilitza Arduino sentirà que és interessant fer-ho tranquil·lament. La diferència entre aquest projecte i el primer és que en aquest projecte l’usuari tindrà un menú on podrà triar el que vol veure en aquest moment. Hi haurà quatre opcions. Així que agafeu el kit i comenceu a fer aquest projecte que es pot utilitzar a qualsevol llar.

Pas 1: obtenció de totes les parts

Obtenció de totes les parts
Obtenció de totes les parts
Obtenció de totes les parts
Obtenció de totes les parts
Obtenció de totes les parts
Obtenció de totes les parts

Aquest projecte utilitza poques parts. Aquestes peces són molt barates d’aconseguir, així que no us preocupeu pel preu. Algunes de les parts utilitzades en aquest projecte es poden canviar, de manera que el projecte pot ser més barat de fabricar. Depèn de vosaltres quines parts del recomanat utilitzarà i farà que aquest projecte sigui encara millor. Parts utilitzades en aquest projecte:

  1. Arduino uno rev3 (També podeu utilitzar altres Arduino)
  2. Taula de pa
  3. Pantalla verda LCD 1602 amb I2C (també podeu utilitzar una pantalla amb I2C), però necessitareu més pins per connectar-la)
  4. Teclat de 16 botons (canviable)
  5. FC-28-d Mòdul de detecció d'higròmetre del sòl + sensor d'humitat del sòl
  6. Sensor de temperatura i humitat DHT22 (Podeu utilitzar DHT11, que és més barat d’aconseguir)
  7. Diodo LED vermell
  8. Diodo LED blau
  9. 2 resistències de 220 ohm (usades per a díodes)
  10. Resistència 4k7 usada per DHT22 en esquemes
  11. Connector de bateria Arduino
  12. Pocs cables de pont per connectar totes les peces

Una cosa que us he de dir abans de començar a construir aquest projecte és que el teclat no és necessari. Aquesta vegada he utilitzat el teclat perquè el meu codificador rotatiu estava trencat. Crec que aquest projecte seria perfecte si té un codificador rotatiu perquè utilitzaria pins inferiors o pot utilitzar 3 botons.

Pas 2: connectar totes les parts juntes

Connectant totes les parts juntes
Connectant totes les parts juntes

En aquest pas podeu veure l’esquema que he fet amb fritzing. Anotaré en calent per connectar totes les parts clau d’aquest projecte.

Com podeu veure, estem utilitzant 5V i GND d’arduino per alimentar la placa de configuració.

LCD:

  • VCC a 5v (+ part a la taula de suport)
  • GND a GND (- part de la taula de treball)
  • SDA a pin analògic A4
  • SCL al pin analògic A5

Teclat amb 16 botons:

Estem utilitzant els pins 9, 8, 7, 6, 5, 4, 3, 2 per connectar el teclat (aquest és el motiu pel qual jo faria servir un codificador rotatiu, perquè només faria falta 3 pins a la placa)

Sensor d'humitat del sòl:

  • VCC a 5v (+ part a la taula de suport)
  • GND a GND (-part a la taula)
  • D0 al pin digital 0
  • A0 al pin analògic A0

DHT22:

  • VCC a 5v (+ part a la taula de suport)
  • GND a GND (-part a la taula)
  • El pin de sortida està connectat al pin 12

Connexió de díodes:

  • entra una part del díode, una part del tauler
  • la segona part passa per una resistència de 220 ohm i després es connecta al pin 10 (díode blau) o 11 (díode vermell)

Pas 3: escriure codi

Intentaré explicar el codi en poques parts. També hi haurà un codi complet escrit perquè pugueu copiar-lo i canviar-lo si veieu alguna necessitat. En aquest codi també hi ha escrits pocs mètodes per treballar amb els sensors, però aquesta vegada el focus principal va ser crear un menú que sigui fàcil d’entendre per a les persones que són noves amb Arduino. Aquesta vegada no faig servir interrupcions, però en els meus propers projectes ho faré, així que tingueu en compte que aquest codi pot millorar molt més amb les interrupcions.

  1. La primera part del codi inclou totes les biblioteques utilitzades per a aquest projecte. Tingueu en compte que per a totes les parts que he dit que estic utilitzant, necessiteu les properes biblioteques: Wire, LiquidCrystal_I2C, Keypad i DHT. Totes les biblioteques es poden trobar a Arduino IDE si aneu a la part de l’esbós i, a continuació, incloeu biblioteques. Tingueu en compte també que, si utilitzeu alguna cosa com un codificador rotatiu, probablement haureu d’obtenir noves biblioteques en lloc de teclat, que probablement seria rotary.h i button. Si feu servir el sensor DHT11, la biblioteca continua sent DHT.
  2. A la segona part del codi es definiran totes les parts usades. Primer de tot és la pantalla LCD. Després hi ha un sensor DHT que es representa com a objecte amb tipus de sensor dht, i també un pin que es connecta. El sensor i els díodes d’humitat del sòl són el tercer.
  3. Descriuré una mica més el teclat. Com he dit, el meu codificador rotatiu estava trencat, vaig decidir utilitzar-lo. Per a aquest projecte n'hi ha prou amb tenir només quatre botons, fins i tot tres són bons per a això. Per tant, estic fent servir quatre botons del teclat per només una opció. Podeu utilitzar alguns dels botons si voleu una altra cosa si teniu una idea. Heu de definir files i columnes en aquesta part. Després, hexaKeys us representarà les opcions utilitzades per a aquest projecte. Al meu projecte hi ha B (enrere), U (amunt), D (avall) i A (acceptar). Podeu fer tots els botons per fer una altra cosa. Un botó pot activar la llum de fons i es pot apagar. Així que no dubteu a jugar-hi una mica més
  4. En aquesta part hi ha variables globals utilitzades en el codi. Les variables Bool s’utilitzen per canviar de pantalla. La variable de benvinguda només és certa durant uns segons quan l’arduino i l’heu engegat, després serà falsa la resta del temps. El focus principal és la variable mainScreen. Aquesta variable s'utilitza per guiar-vos del menú a qualsevol altra opció del codi. Si aquesta variable és falsa, significa que l'usuari va decidir utilitzar una de les quatre opcions d'aquest projecte.
  5. Aquí s’escriuen tots els mètodes utilitzats en aquest codi. Intentaré explicar tots els mètodes escrits d’aquesta part
  • void startScreen (); // mètode per iniciar el projecte i arduino
  • int choiceNumber (int choice); // això canvia la selecció d'opcions del projecte. El número va de l'1 al 4
  • void mainScreenP (opció int); // hi haurà escrites quatre opcions de dispositiu que es fa
  • bool mainScreenCS (bool mainScreen); // això canvia mainScreen a false
  • bool mainScreenBack (bool mainScreen); // això canvia mainScreen a true
  • void tempCelsius (); // lectura de la temperatura a l'opció del sensor DHT C
  • void tempFarenheit (); // lectura de la temperatura a l’opció del sensor F DHT
  • void printHumidity (); // lectura de l’opció del sensor DHT d’humitat
  • void readSensorData (); // lectura de dades sobre sensors connectats
  • Cadena getTemperatureC ();
  • Cadena getTemperatureF ();
  • String getHumidity ();
  • void soilMoisture (); // això és per a un altre sensor i díodes
  • void printSensorSoilMoisture (); // imprimir part de la humitat del sòl a lcd
  • void diodeLights (valor int); // encendre i apagar els díodes
  • void printValue (valor int);

6. La configuració per a arduino és una part de la configuració del sensor LCD i DHT i també dels díodes

7. La part principal és la part on s’utilitzen tots els mètodes escrits anteriors.

El codi complet d'aquest projecte s'adjuntarà a aquest pas. Tingueu en compte que hi ha la possibilitat que els pins no estiguin connectats com en l'esquema, crec que els díodes es canvien.

Pas 4: utilitzar el vostre Arduino

Ús del vostre Arduino
Ús del vostre Arduino
Ús del vostre Arduino
Ús del vostre Arduino
Ús del vostre Arduino
Ús del vostre Arduino
Ús del vostre Arduino
Ús del vostre Arduino

Aquesta és probablement la part més divertida. Almenys és més divertit després de tota la codificació escrita. En aquesta part podeu veure imatges de com funciona el projecte. Hi ha 4 opcions.

  1. Temperatura de lectura en centígrads
  2. Temperatura de lectura a Fahrenheit
  3. Lectura de la humitat
  4. Activació de díodes i lectura de valors del sensor d'humitat del sòl.

Podeu triar qualsevol de les opcions possibles, també podeu tornar enrere i tornar a triar si voleu veure alguna cosa més. Senzill i fàcil d’utilitzar.

Si hi ha alguna altra pregunta, podeu fer-me. Gràcies per mirar el meu projecte. Amb tots els respectes. Sebastià

Recomanat: