Hola comunidad,
Soy nuevo en este mundo Arduino, necesito hacer una programación para encender una bomba de agua en base a la lectura de la humedad de un sensor DHT11 para mantener controlada la humedad dentro de una habitación.
Programe con todas las versiones de la librería arduino para el DHT11, ya no se como lograr la correcta compilacion del sketch. ¿Podría alguien con experiencia darle una mirada para lograr correrlo?
Muchisimas Gracias
Atte Fassola M. J.
#include <DHT.h>
int SENSOR = 2;// introduzco la variable Sensor y le doyel valor 2
DHT dht (SENSOR, DHT11); //INICIALISO el sensor poniendo DHT(en MAYUSCULA);despues no nombro como quiero; en este caso dht; despues abro parentecis y le indico en el PIN q lo tengo conectado y el tipo de sensor que es)
int hummax; // introduzco la variable llamada hummax
int hummin; // introduzco la variable llamada hummin
int h; // introduzco la variable h (humedad)
void setup() {
hummax= 65; // defino humedad max
hummin= 44; // defino humedad min
pinMode (13, OUTPUT); // defino PIN11 como salida Rele para bomba de agua
Serial.begin(9600); // se inicia la comunicacion serial
dht.begin();
}
void loop() {
delay(2000);// Antes de hacel la peticion de cualquier dato del DHT11 se debe hacer una espera de 2 segundos.
float h = dht.readHumidity(); // se lee la humedad
if (h<hummin){ //si la humedad es menos a la humedad minima
digitalWrite(13, HIGH); //entonces encende la bomba
delay(10000); //mantener encendida la bomba 10 segundos
digitalWrite(13,LOW); //luego apagar la bomba
}
Serial.println("humedad: ");
Serial.println(h);
delay (20000); // se esperan 5 minutos hasta hacer la proxima lecuta.
}
Muchas Gracias, Te copio abajo todo lo que me escribe arduino.
Arduino:1.8.1 (Windows 7), Tarjeta:"Arduino/Genuino Uno"
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch 2 _Humedad_80_ +electo valvula.ino:3:5: error: redefinition of 'int SENSOR'
int SENSOR = 2;// introduzco la variable Sensor y le doyel valor 2
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch_Humedad_80_.ino:3:5: note: 'int SENSOR' previously defined here
int SENSOR = 2;// introduzco la variable Sensor y le doy el valor 2
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch 2 _Humedad_80_ +electo valvula.ino:4:10: error: redefinition of 'DHT dht'
DHT dht (SENSOR, DHT11); //INICIALISO el sensor poniendo DHT(en MAYUSCULA);despues no nombro como quiero; en este caso dht; despues abro parentecis y le indico en el PIN q lo tengo conectado y el tipo de sensor que es)
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch_Humedad_80_.ino:4:5: note: 'DHT dht' previously declared here
DHT dht (SENSOR, DHT11); //INICIALISO el sensor poniendo DHT(en MAYUSCULA);despues lo nombro como quiero; en este caso dht; despues abro parentecis y le indico en el PIN q lo tengo conectado y el tipo de sensor que es)
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch 2 _Humedad_80_ +electo valvula.ino:5:5: error: redefinition of 'int hummax'
int hummax; // introduzco la variable llamada hummax
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch_Humedad_80_.ino:5:5: note: 'int hummax' previously declared here
int hummax; // introduzco la variable llamada hummax
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch 2 _Humedad_80_ +electo valvula.ino:6:5: error: redefinition of 'int hummin'
int hummin; // introduzco la variable llamada hummin
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch_Humedad_80_.ino:6:5: note: 'int hummin' previously declared here
int hummin; // introduzco la variable llamada hummin
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch 2 _Humedad_80_ +electo valvula.ino:7:5: error: redefinition of 'int h'
int h; // introduzco la variable h (humedad)
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch_Humedad_80_.ino:7:5: note: 'int h' previously declared here
int h; // introduzco la variable h (humedad)
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch 2 _Humedad_80_ +electo valvula.ino: In function 'void setup()':
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch 2 _Humedad_80_ +electo valvula.ino:9:6: error: redefinition of 'void setup()'
void setup() {
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch_Humedad_80_.ino:9:6: note: 'void setup()' previously defined here
void setup() {
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch 2 _Humedad_80_ +electo valvula.ino: In function 'void loop()':
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch 2 _Humedad_80_ +electo valvula.ino:17:6: error: redefinition of 'void loop()'
void loop() {
^
C:\Users\jfassola\Dropbox\0 - HONGOS\ARDUINO\sketch_Humedad_80_\sketch_Humedad_80_.ino:18:6: note: 'void loop()' previously defined here
void loop() {
^
exit status 1
Error compilación en tarjeta Arduino/Genuino Uno.
Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.
Desde este lado es dificil ver donde está realmente el problema, pero por la informacion que da el IDE, se está incluyendo en la compilacion el propio sketch que compilas, y alerta de que todo lo que viene tras la primera copia del sketch ya está definido.
Yo tuve un error de ese tipo al probar una libreria que desarrollaba y olvidar el código de guardia en el archivo <.h>, pero no parece ser tu caso ya que usas una libreria probada.
Por lo tanto revisa con calma el entorno buscando donde puede existir esa duplicidad.
Yo creo que tienes dos copias del mismo programa con nombres diferentes.
El IDE esta viendo tu copia y otra y por eso repite a cada momento cada línea.
Revisa la carpeta y me dices si estoy en lo correcto?
surbyte BUENIIIISIMO si era eso. Ayer me di cuenta que cuando abría uno con diferente nombre me volvía a abrir el anterior, pero no entendía por que y menos lo relacionaba con el error que me tiraba arduino. No entiendo por que hace esto pero ya es algo corregido para este novato. Un abrazo. Si todo sigue bien en abril cosecharía los hongos para lo que estoy haciendo este arduino, si me decís a donde te mando de la cosecha.
Celebro tu sentido del humor, Ricardo.
A mí tal vez me causarían otras sensaciones no tan agradables, además de gracia.
Pero haces bien en tomarte las cosas con filosofía.