Estimados, soy nuevo en arduino pero eh hecho algunas cosas, pero esto me gano definitivamente, les cuento necesito hacer lo siguiente :
teniendo 4 botones y 4 leds, necesito hacer que el boto 1 prenda led 1 , boton 2 encienda led 2 y asi con los 4, espero me puedan ayudar con el programa, vale decir que tengo un arduino UNO
Pon los numero de pin que te convengan, y ojo con el esquema electrico
byte Pin_Pulsador[]={2,3,4,5}; // Pines de los pulsadores
byte Pin_Led[]={6,7,8,9}; // Pines de los led
boolean Pulsador[4]; // Para almecenar el estado de las entradas
void setup()
{
for (int x=0;x<4;x++)
{
pinMode (Pin_Pulsador[x], INPUT); // Establecer pines de entrada
pinMode (Pin_Led[x], OUTPUT); // Establecer pines de salida
digitalWrite(Pin_Led[x], LOW); // Pines de salida a low para iniciar programa
}
}
void loop()
{
for (int x=0;x<4;x++)
{
Pulsador[x]=digitalRead(Pin_Pulsador[x]); // Almacenar el estado de los pines de entrada
digitalWrite(Pin_Led[x], Pulsador[x]); // Escribir pines de salida
}
}
PD: Hay una cosa que se llama interruptor que hace lo mismo sin tanta complicación
disculpa por no haber agradecido antes es por que no estuve con internet, una cosa que me pregunto, esta programacion esta lista para usarla, me refiero a que si activo 2 se enciende en 6 o hay que programar mas este archivo???
Esto es lo que tengo, pero necesito en el led 10 y 13 generar un parpadeo como en los automoviles
byte Pin_Pulsador[]={1,2,3,4}; // Pines de los pulsadores
byte Pin_Led[]={10,11,12,13}; // Pines de los led
boolean Pulsador[4]; // Para almecenar el estado de las entradas
void setup()
{
for (int x=0;x<4;x++)
{
pinMode (Pin_Pulsador[x], INPUT); // Establecer pines de entrada
pinMode (Pin_Led[x], OUTPUT); // Establecer pines de salida
digitalWrite(Pin_Led[x], LOW); // Pines de salida a low para iniciar programa
}
}
void loop()
{
for (int x=0;x<4;x++)
{
Pulsador[x]=digitalRead(Pin_Pulsador[x]); // Almacenar el estado de los pines de entrada
digitalWrite(Pin_Led[x], Pulsador[x]); // Escribir pines de salida
}
}
No tengo en casa con que probarlo, pero creo que funcionara
unsigned long Parpadeo=3000; // Tiempo en milisegundos que va a durar el parpadeo de cada led
unsigned long Tiempo_Almacenado; // Tiempo en milisegundos para controlar el parpadeo
boolean Permiso_Encender=true; // Para controlar si puede encender o no
byte Pin_Pulsador[]={1,2,3,4}; // Pines de los pulsadores
byte Pin_Led[]={10,11,12,13}; // Pines de los led
boolean Pulsador[4]; // Para almecenar el estado de las entradas
void setup()
{
for (int x=0;x<4;x++) // Recorremos las 4 entradas
{
pinMode (Pin_Pulsador[x], INPUT); // Establecer pines de entrada
pinMode (Pin_Led[x], OUTPUT); // Establecer pines de salida
digitalWrite(Pin_Led[x], LOW); // Pines de salida a low para iniciar programa
}
Tiempo_Almacenado=millis()+Parpadeo; // Tiempo con permiso para encender
}
void loop()
{
if (Permiso_Encender && millis()>Tiempo_Almacenado) // Hay permiso encender y finalizo tiempo de permiso
{
Permiso_Encender=false; // Ya no hay permiso encender
Tiempo_Almacenado=millis()+Parpadeo; // Tiempo sin permiso para encender
}
if (!Permiso_Encender && millis()>Tiempo_Almacenado) // No hay permiso encender y finalizo tiempo sin permiso
{
Permiso_Encender=true; // Ya no hay permiso encender
Tiempo_Almacenado=millis()+Parpadeo; // Tiempo con permiso para encender
}
for (int x=0;x<4;x++)
{
Pulsador[x]=digitalRead(Pin_Pulsador[x]); // Almacenar el estado de los pines de entrada
if (!Permiso_Encender && (x==0 || x==3)) // Si no hay permiso para encender y estamos con primer o ultimo pin
{
Pulsador[x]=false; // Cambiamos el estado del pulsador para evitar el estado high
}
digitalWrite(Pin_Led[x], Pulsador[x]); // Escribir pines de salida
}
}