Hola amigos hoy me compre mi primera placa arduino uno y quiero hacer algo muy simple, que es al presionar un botón se prenda una luz roja o una verde es decir una ramdon las luces son leds y tengo una protoboard. puedo usar la energía de la placa para prender los leds o tengo que usar resistencias, me pueden ayudar con el programa y como conectar los cables, la idea es que al presionar el botón se ´prende cualquiera de las dos luces y espera que presionen de nuevo el botón ...gracias por su ayuda.
Tienes que dividir tu problema en varias partes, comprender cada una y después unir todo
aqui te pongo todo lo necesario para que puedas lograrlo
uso Botones
Aqui un video sobre uso de boton
Para que sepas como conectar el boton
Resistencias-leds
Sobre la funcion random
Random y leds
Mira todos lo enlaces, y alguna duda que tengas la expones y veras que es mas probable que te brinden ayuda en lugar de pedir que te hagan el código
Ya lo hice gracias a Kike_GL que explico como hacer algo parecido ahora lo unico que tengo que hacer es reemplazar los led por los rele. Aca el programa y la diagrama le agrege un sonido cuando la persona que presione el boton y le toque el color rojo.
const byte LED=7;
const byte LED2=4;
const byte PAR=12;
const byte PUL=2;
void setup() {
Serial.begin(9600);
pinMode(LED2, OUTPUT);
pinMode(LED, OUTPUT);
pinMode(PAR, OUTPUT);
pinMode(PUL,INPUT_PULLUP); //Para pulsador
digitalWrite(LED, LOW);
digitalWrite(LED2, LOW);
digitalWrite(PAR, LOW);
randomSeed(analogRead(0)); //Cambia la semilla cada vez
}
void loop() {
while(digitalRead(PUL)==0){}
byte numero = random(1,11); //Genera numeros aleatorios de 1 a 10
if (numero <=5){
digitalWrite(PAR, HIGH);
Serial.print("valor random ");
Serial.println(numero);
for (int i=0; i <= 10; i++)
{
tone(PAR, i);
delay(5);
digitalWrite(LED, HIGH); //si es menor o igual a 7 (70%), enciende el led
}
}
else{
digitalWrite(LED2, HIGH); //si es 8, 9 o 10 (30%), enciende el led2
Serial.print("valor random ");
Serial.println(numero);
}
delay(200);
noTone(PAR);
delay(100);
digitalWrite(PAR, LOW);
digitalWrite(LED, LOW);
digitalWrite(LED2,LOW);
}
En serio @portal6a6? Te puse los lugares donde puedes aprender el uso de botones, random y led´s ¿y lo unico que hiciste fue copiar un código del foro? ¿crees que con copiar y pegar funciona esto?
El codigo que acabas de subir en tu post tiene muchos errores causados por el desconocimiento del tema, del cual veo que te intereso un pepino, tu único objetivo al venir aquí fue que te dieran todo peladito y en la boca
5-mentarios