Ayuda con esta programación

Hola buenas, soy nuevo con esto de Arduino y necesitaria un poco de ayuda con este skech. Este skech lo que hace es que el sensor de agua esta en high manda una señal al Arduino y este le manda a su vez otro high al buzzer para que este suene. Necesito ayuda para poder modificar este skech. hacer que el sensor de agua cuando este en high mande tambíen una señal a cualquier pin digital de Arduino para que me active un relé.

  1. Sensor de agua " Grove - Water Sensor"
  2. Módulo relé " Grove - Relay"
  3. Buzzer

Si alguién me pudiese ayudar se lo agradeceria muchísimo.

https://github.com/Seeed-Studio/

El código lo he encontrado en GitHub y es el siguiente:

[ code ]
/macro definition of water sensor and the buzzer/
#define WATER_SENSOR 2
#define BUZZER 3
void setup()
{
pins_init();
}
void loop()
{
if(isExposedToWater())
soundAlarm();
}
void pins_init()
{
pinMode(WATER_SENSOR, INPUT);
pinMode(BUZZER, OUTPUT);
}
/**/
/Function: When the sensor is exposed to the water, the buzzer sounds /
/
for 2 seonds. /
void soundAlarm()
{
for(uint8_t i = 0;i < 20;i ++)
{
digitalWrite(BUZZER, HIGH);
delay(50);
digitalWrite(BUZZER, LOW);
delay(50);
}
}
/
/
/*Function: Determine whether the sensor is exposed to the water */
/*Parameter:-void */
/*Return: -boolean,if it is exposed to the water,it will return ture. */
boolean isExposedToWater()
{
if(digitalRead(WATER_SENSOR) == LOW)
return true;
else return false;
}
[ /code ]

Grove - Water Sensor.jpg

Grove - Relay.jpg

Grove - Buzzer.jpg

Dos cosas para empezar.

  1. El titulo no puede ser "Necesitaría un poco de ayuda."
    El titulo debe ser descriptivo de tu problema.

  2. Los códigos se ponen usando el icono código que tienes en el menú edicion. Selecciona todo el código y lo envuelves con ese ícono que agrega [ code ] codigo [ /code ] sin los espacios

Ahora veamos:

Te falta poder de observación y leer algunos tutoriales y por lo que veo buscas el camino facil.
Si leyeras algo verías que

digitalWrite(BUZZER, HIGH);

es la instrucción que le dice al pin donde esta conectado el BUZZER que se ponga en HIGH o sea 1 o sea 5 Volts en el Pin 3

Solo tienes que definir en el pin 4 un RELE

#define RELE 4

y luego junto a SoundAlarm() agregas el comando que prende apaga el rele
Te lo dejo para que lo investigues o resuelvas.
Ya te di todos los elementos.

if(isExposedToWater())
soundAlarm();
}

Gracias surbyte, perdona pero soy nuevo en el foro y aunque uno se lea las normas la primera vez no lo suele hacer uno bién y respecto a lo del skech pues también soy nuevo con esto de Arduino...

lo que tu me comentas ya lo he hecho y no funciona. El relé entra en un bucle " HIGH y LOW" y no es esto lo que quiero. Lo que necesito es que cuando el sensor esté en HIGH aparte de sonar el buzzer es que también me ponga en HIGH el relé. Y cuando el sensor se ponga en LOW este le mande un LOW al relé y este se desconecte.

surbyte he modificado un poco el post, espero que esté algo mejor...

Gracias por tu ayuda

Hola ArdalesC!

respecto a tu problema y la ayuda proporcionada por surbyte pues veo que no eres muy acercado a la programacion de ningun lenguaje o de plano quieres el trabajo hecho, debes investigar mas por tu cuenta, lo que pides es demasiado sencillo, has escuchado hablar de las condicionales?

te dare lo que necesitas pero, la prox investiga un poco mas.

lo que tu pides es que:

Si sensor es igual a 1, osea en alto

buzzer = 1
rele= 1

Sino

buzzer=0
rele =0

es tan simple como eso, esta condicional es conocida como "If"

ahora en codigo seria:

if (sensor =1)
{
buzzer,HIGH;
rele, HIGH;
}

else 
{
buzzer,LOW;
rele, LOW;
}

el codigo nos dice que, nuestro arduino estará preguntando si el sensor esta encendido, High, 1, Alto o como gustes decirle, si es asi, mandara un 1 tanto al buzzer como al rele, sino pues estarán apagados

obviamente solo te puse la condicional que necesitas no el código tal cual, tu deberás declarar las variables del buzzer y rele, como salidas claro esta, así como leer el sensor para saber en que estado esta, es cuestión de leer un poco mas.

Saludos y ojala logres terminar tu programación

Desde Nov 30 no responde... no reflotes temas viejos por favor!!, solo el autor debe hacerlo