Tienda | Foros | Blogs | EN
 

arduino temporizador

Seguir
buenas chicos!

acudo a vosotros por desesperacion, me e recorrido todas las paginas en busca de algun tipo de programacion arduino uno en el que quiero que por medio de un reloj y cada 15 min me active algun pin que me activara un temporizador de 0.10segundos.

Me explico un poco mejor.....

estoy fabricando una incubadora, necesito darle media vuelta a los huevos cada 15min y en vez de hacelo manual pues e pensado ponerle un motor giraplato de microondas. pero ara que este motor active y solo de media vuelta utilizo un temporizador de 0-10 segundos regulable pero para que este temporizador se active... necesito que el arduino uno le de la orden cada 15 minutos.

no se si me explico.

por favor ayudaaa !!!!


6 Soluciones propuestas

Hola:

¿Tienes el código de programación para editarlo?

¿Comienzas desde cero?

Es fácil, pones en estado bajo el pin digital que desees, después de eso pones en estado alto el pin que escogiste durante el tiempo que deseas que se voltee la incubadora ¿donde está el problema?.

Saludos.
muchas gracias amigo por tu respuesta!!!


pues el unico codigo que me vale es este pero solo es para un digito.... no se como comvertirlo para 6 digitos que seria horas minutos y segundos (00:00:00), y lo mas importante... que me active cada 15 minutos aaahhhh socorro!!! jejejeje


int a =2;
int b =3;
int c =4;
int d =5;
int e =6;
int f =7;
int g =8;

void setup ()
{

pinMode (a, OUTPUT) ;
pinMode (b, OUTPUT) ;
pinMode (c, OUTPUT) ;
pinMode (d, OUTPUT) ;
pinMode (e, OUTPUT) ;
pinMode (f, OUTPUT) ;
pinMode (g, OUTPUT) ;

}

void loop ()
{

//CERO
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, LOW) ;
digitalWrite (e, LOW) ;
digitalWrite (f, LOW) ;
digitalWrite (g, HIGH) ;
delay(1000) ;
//uno
digitalWrite (a, HIGH) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, HIGH) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, HIGH) ;
digitalWrite (g, HIGH) ;
delay(1000) ;
//DOS
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, HIGH) ;
digitalWrite (d, LOW) ;
digitalWrite (e, LOW) ;
digitalWrite (f, HIGH) ;
digitalWrite (g, LOW) ;
delay(1000) ;
//TRES
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, LOW) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, HIGH) ;
digitalWrite (g, LOW) ;
delay(1000) ;
//CUATRO
digitalWrite (a, HIGH) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, HIGH) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, LOW) ;
digitalWrite (g, LOW) ;
delay(1000) ;
//CINCO
digitalWrite (a, LOW) ;
digitalWrite (b, HIGH) ;
digitalWrite (c, LOW) ;
digitalWrite (d, LOW) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, LOW) ;
digitalWrite (g, LOW) ;
delay(1000) ;
//SEIS
digitalWrite (a, LOW) ;
digitalWrite (b, HIGH) ;
digitalWrite (c, LOW) ;
digitalWrite (d, LOW) ;
digitalWrite (e, LOW) ;
digitalWrite (f, LOW) ;
digitalWrite (g, LOW) ;
delay(1000) ;
//SIETE
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, HIGH) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, HIGH) ;
digitalWrite (g, HIGH) ;
delay (1000) ;
//OCHO
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, LOW) ;
digitalWrite (e, LOW) ;
digitalWrite (f, LOW) ;
digitalWrite (g, LOW) ;
delay (1000) ;
//NUEVE
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, HIGH) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, LOW) ;
digitalWrite (g, LOW) ;
delay (1000) ;
}
SOLUCIÓN ACEPTADA
ispano87 escribió:
muchas gracias amigo por tu respuesta!!!


pues el unico codigo que me vale es este pero solo es para un digito.... no se como comvertirlo para 6 digitos que seria horas minutos y segundos (00:00:00), y lo mas importante... que me active cada 15 minutos aaahhhh socorro!!! jejejeje


int a =2;
int b =3;
int c =4;
int d =5;
int e =6;
int f =7;
int g =8;

void setup ()
{

pinMode (a, OUTPUT) ;
pinMode (b, OUTPUT) ;
pinMode (c, OUTPUT) ;
pinMode (d, OUTPUT) ;
pinMode (e, OUTPUT) ;
pinMode (f, OUTPUT) ;
pinMode (g, OUTPUT) ;

}

void loop ()
{

//CERO
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, LOW) ;
digitalWrite (e, LOW) ;
digitalWrite (f, LOW) ;
digitalWrite (g, HIGH) ;
delay(1000) ;
//uno
digitalWrite (a, HIGH) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, HIGH) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, HIGH) ;
digitalWrite (g, HIGH) ;
delay(1000) ;
//DOS
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, HIGH) ;
digitalWrite (d, LOW) ;
digitalWrite (e, LOW) ;
digitalWrite (f, HIGH) ;
digitalWrite (g, LOW) ;
delay(1000) ;
//TRES
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, LOW) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, HIGH) ;
digitalWrite (g, LOW) ;
delay(1000) ;
//CUATRO
digitalWrite (a, HIGH) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, HIGH) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, LOW) ;
digitalWrite (g, LOW) ;
delay(1000) ;
//CINCO
digitalWrite (a, LOW) ;
digitalWrite (b, HIGH) ;
digitalWrite (c, LOW) ;
digitalWrite (d, LOW) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, LOW) ;
digitalWrite (g, LOW) ;
delay(1000) ;
//SEIS
digitalWrite (a, LOW) ;
digitalWrite (b, HIGH) ;
digitalWrite (c, LOW) ;
digitalWrite (d, LOW) ;
digitalWrite (e, LOW) ;
digitalWrite (f, LOW) ;
digitalWrite (g, LOW) ;
delay(1000) ;
//SIETE
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, HIGH) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, HIGH) ;
digitalWrite (g, HIGH) ;
delay (1000) ;
//OCHO
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, LOW) ;
digitalWrite (e, LOW) ;
digitalWrite (f, LOW) ;
digitalWrite (g, LOW) ;
delay (1000) ;
//NUEVE
digitalWrite (a, LOW) ;
digitalWrite (b, LOW) ;
digitalWrite (c, LOW) ;
digitalWrite (d, HIGH) ;
digitalWrite (e, HIGH) ;
digitalWrite (f, LOW) ;
digitalWrite (g, LOW) ;
delay (1000) ;
}


Bien, ya tienes el "Switch case" ahora debes de crear una variable de tiempo para poder escoger cada uno de las acciones y expresar un número, debes de hacer oscilar a alta frecuencia los segmentos para manejar muchos display's con pocos pines, por lo que el "delay" del "switch case" no está bien.

Te dejo un vídeo para que te guíes:



Tu puedes agregarle los demás display's y cambiar las variables de tiempo.

Saludos.
aiisss como sea esa la solucion te pongo una casa en la playa!! jejeje

voy a estudiarlo ahora mismo!!

valorare mas tarde por si es la solucion y no darte como asistio =D


graciassss!!!!
ispano87 escribió:
aiisss como sea esa la solucion te pongo una casa en la playa!! jejeje

voy a estudiarlo ahora mismo!!

valorare mas tarde por si es la solucion y no darte como asistio =D


graciassss!!!!


No te preocupes por la valoración, lo importante es ayudar.

Puedes ver distintos vídeos de ese canal donde enseña acerca de Arduino muy bien explicado.

Comenta como te fue.

Saludos.
Saludos

Voy por Parte:

A. Usa un RTC para configurar y guardar la hora, fecha etc.
B. Usa la libreria TimeAlarm para configurar tu alarma.
C. Usa los 74595 para crear una pantalla con hasta 8 display 7 segmentos y solo usar 3 pines del Arduino. Ejemplo pantalla http://img.dxcdn.com/productimages/sku_250813_1.jpg YL-3
D. En el foro de Arduino consigues mas ayuda sobre el tema.