top of page
Foto del escritorcmarinv2005

Programación en Arduino, función randomSeed()

Es mas conveniente utilizar la función randomSeed() que la función random(), ya que si en la función randomSeed() implementamos una semilla diferente realmente nos va a generar números al azar. Como ejercicio haremos un dado electrónico doble y explicaremos el código.

Aquí pueden descargar el código y modificarlo a su gusto:

Suscríbete a mi canal y de esta manera apoyas mi trabajo. http://www.youtube.com/subscription_center?add_user=cmarinv2005





// Juego de Memoria dados electronicos

// Recuerden por favor apoyar mi canal de Youtube

// Modificado por: Robotica, impresion 3D y algo mas...


#define d1_1 2

#define d1_2 3

#define d1_3 4

#define d1_4 5

#define d1_5 6

#define d1_6 7

#define d1_7 8

#define d2_1 A2

#define d2_2 A3

#define d2_3 A4

#define d2_4 A5

#define d2_5 9

#define d2_6 10

#define d2_7 11

#define pulsador 12

int varpulsador=0;

long randomNumber1=0.0;

long randomNumber2=0.0;


void setup(){

Serial.begin(9600);

pinMode(pulsador, INPUT);

pinMode(d1_1, OUTPUT);

pinMode(d1_2, OUTPUT);

pinMode(d1_3, OUTPUT);

pinMode(d1_4, OUTPUT);

pinMode(d1_5, OUTPUT);

pinMode(d1_6, OUTPUT);

pinMode(d1_7, OUTPUT);

pinMode(d2_1, OUTPUT);

pinMode(d2_2, OUTPUT);

pinMode(d2_3, OUTPUT);

pinMode(d2_4, OUTPUT);

pinMode(d2_5, OUTPUT);

pinMode(d2_6, OUTPUT);

pinMode(d2_7, OUTPUT);

Apagar_dado1();

Apagar_dado2();

}


void loop(){

varpulsador=digitalRead(pulsador);

if(varpulsador==HIGH){

for(int i=0;i<=8;i++){

randomSeed(analogRead(A0));

randomNumber1=random(1,6);

randomSeed(analogRead(A1));

randomNumber2=random(1,6);

Apagar_dado1();

Apagar_dado2();

delay(150);

Encender_dado1();

Encender_dado2();

delay(150);

}

randomSeed(analogRead(A0));

randomNumber1=random(1,6);

Serial.println(randomNumber1);

Apagar_dado1();

Encender_dado1();

randomSeed(analogRead(A1));

randomNumber2=random(1,6);

Serial.println(randomNumber2);

Apagar_dado2();

Encender_dado2();

if(randomNumber1==randomNumber2)

{

for(int i=0;i<=4;i++){

Apagar_dado1();

Apagar_dado2();

delay(250);

Encender_dado1();

Encender_dado2();

delay(250);

}

}

delay(250);

}

}


void Apagar_dado1(){

digitalWrite(d1_1,LOW);

digitalWrite(d1_2,LOW);

digitalWrite(d1_3,LOW);

digitalWrite(d1_4,LOW);

digitalWrite(d1_5,LOW);

digitalWrite(d1_6,LOW);

digitalWrite(d1_7,LOW);

}


void Apagar_dado2(){

digitalWrite(d2_1,LOW);

digitalWrite(d2_2,LOW);

digitalWrite(d2_3,LOW);

digitalWrite(d2_4,LOW);

digitalWrite(d2_5,LOW);

digitalWrite(d2_6,LOW);

digitalWrite(d2_7,LOW);

}


void Encender_dado1(){

if (randomNumber1==1){

digitalWrite(d1_4,HIGH);

}

if (randomNumber1==2){

digitalWrite(d1_1,HIGH);

digitalWrite(d1_7,HIGH);

}

if (randomNumber1==3){

digitalWrite(d1_1,HIGH);

digitalWrite(d1_4,HIGH);

digitalWrite(d1_7,HIGH);

}

if (randomNumber1==4){

digitalWrite(d1_1,HIGH);

digitalWrite(d1_3,HIGH);

digitalWrite(d1_5,HIGH);

digitalWrite(d1_7,HIGH);

}

if (randomNumber1==5){

digitalWrite(d1_1,HIGH);

digitalWrite(d1_3,HIGH);

digitalWrite(d1_4,HIGH);

digitalWrite(d1_5,HIGH);

digitalWrite(d1_7,HIGH);

}

if (randomNumber1==6){

digitalWrite(d1_1,HIGH);

digitalWrite(d1_2,HIGH);

digitalWrite(d1_3,HIGH);

digitalWrite(d1_5,HIGH);

digitalWrite(d1_6,HIGH);

digitalWrite(d1_7,HIGH);

}

}


void Encender_dado2(){

if (randomNumber2==1){

digitalWrite(d2_4,HIGH);

}

if (randomNumber2==2){

digitalWrite(d2_1,HIGH);

digitalWrite(d2_7,HIGH);

}

if (randomNumber2==3){

digitalWrite(d2_1,HIGH);

digitalWrite(d2_4,HIGH);

digitalWrite(d2_7,HIGH);

}

if (randomNumber2==4){

digitalWrite(d2_1,HIGH);

digitalWrite(d2_3,HIGH);

digitalWrite(d2_5,HIGH);

digitalWrite(d2_7,HIGH);

}

if (randomNumber2==5){

digitalWrite(d2_1,HIGH);

digitalWrite(d2_3,HIGH);

digitalWrite(d2_4,HIGH);

digitalWrite(d2_5,HIGH);

digitalWrite(d2_7,HIGH);

}

if (randomNumber2==6){

digitalWrite(d2_1,HIGH);

digitalWrite(d2_2,HIGH);

digitalWrite(d2_3,HIGH);

digitalWrite(d2_5,HIGH);

digitalWrite(d2_6,HIGH);

digitalWrite(d2_7,HIGH);

}

}


83 visualizaciones0 comentarios

Entradas recientes

Ver todo

Comments


Publicar: Blog2_Post
bottom of page