Go Down

Topic: No consigo encender un led con un numero aleatorio (Read 118 times) previous topic - next topic

MrLobo

Hola, estoy intentado hacer que cuando consigo un numero aleatorio entre 1-2 cuando sale 1 se apaga mi led y cuando sale 2 se enciende, no se que tengo mal en el codigo, consigo que me de numeros pero no que el led se apague o se encienda y el programa no me dice que tenga el codigo mal.
Code: [Select]

int LED=1;
long x;

void setup(){
  Serial.begin(9600);
  pinMode(LED, OUTPUT);
   digitalWrite(LED, LOW);
    randomSeed(3);
}
void loop(){
x = random (1,3);
Serial.println(x);
if(x == 1){
 digitalWrite(LED, LOW);
}
if(x == 2){
 digitalWrite(LED, HIGH);
}
delay(100);
}

Sereno

Que placa utilizas??
El pin 1??
Intenta con el pin 3, el pin 1 no será también el pin de TX??

MrLobo

Uso una placa WAVGAT UNO R3 es como un ARDUINO UNO, una copia china que me dieron en clase. He usado el pin 3 y a funcionado wow gracias

Sereno

Recuerda que si utilizas la comunicación serie no puedes utilizar las salidas 0 RX y 1 TX.

ArduMyth

 Cómo te han dicho 0 y 1 son para Comunicación Serial. Puedes usarlos pero entonces ese Serial.begin(9600) está sobrando.

Después si se trata de un random al 50% no entiendo tanto jaleo en el código.
No entiendo el uso de condicionales donde no hace falta.

Modo vago señores, no escriban de más, dediquen más el tiempo al planteamiento que a la escritura del código ;)

Code: [Select]

#define pinLed 2

void setup() {
  pinMode(pinLed, OUTPUT);
  randomSeed(A0);
}
void loop() {
  digitalWrite(pinLed, random(2) /* valor 0 ó 1*/ );
  delay(100);
}


Saludos.


Go Up