Diferència entre revisions de la pàgina «Arduino Dau»

De Wiket
Salta a la navegació Salta a la cerca
Línia 29: Línia 29:
 
== Codi ==
 
== Codi ==
  
int pausa = 50; // Variable que defineix l'interval
+
<nowiki>int pausa = 50; // Variable que defineix l'interval
 
// De temps entre cada dígit
 
// De temps entre cada dígit
 
int numAle = 0;
 
int numAle = 0;
Línia 118: Línia 118:
 
     contar(numAle);
 
     contar(numAle);
 
      
 
      
   }
+
   }</nowiki>

Revisió del 12:01, 1 juny 2016

Introducció

El projecte consisteix a programar amb Arduino un dau que doni numeros aleatoris entre l'1 i el 9.


Components

Placa Arduino

Botó

Led de 7 segments


Esquema

Aquest és el essquema del projecte:


Set.jpg


Video

https://www.youtube.com/watch?v=eovjYhnGAeE


Codi

int pausa = 50; // Variable que defineix l'interval // De temps entre cada dígit int numAle = 0; void setup () { Serial.begin(9600); pinMode (6,INPUT); pinMode (7, OUTPUT); // Assignació de les sortides digitals pinMode (8, OUTPUT); pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); pinMode (12, OUTPUT); pinMode (13, OUTPUT); } void display (int a, int b, int c, int d, int e, int f, int g) // Funció del display { int i; for(i = 7; i <= 13; i++){ digitalWrite(i, LOW); } delay(1); digitalWrite (7, a); // Es reben 7 variables i s'assignen digitalWrite (8, b); // A cadascuna de les sortides digitalWrite (9, c); digitalWrite (10, d); digitalWrite (11, e); digitalWrite (12, f); digitalWrite (13, g); } void contar(int aleato) { if(aleato==1) { display (0,1,1,0,0,0,0); // Escriu 1 } else if(aleato==2) { display (1,1,0,1,1,0,1); // Escriu 2 } else if(aleato==3) { display (1,1,1,1,0,0,1); // Escriu 3 } else if(aleato==4) { display (0,1,1,0,0,1,1); // Escriu 4 } else if(aleato==5) { display (1,0,1,1,0,1,1); // Escriu 5 } else if(aleato==6) { display (1,0,1,1,1,1,1); // Escriu 6 } else if(aleato==7) { display (1,1,1,0,0,0,0); // Escriu 7 } else if(aleato==8) { display (1,1,1,1,1,1,1); // Escriu 8 } else if(aleato==9) { display (1,1,1,0,0,1,1); // Escriu 9 } else if(aleato==0) { display (0,0,0,0,0,0,1); // Escriu 0 } } void loop () // Funció principal // Depenent de cada dígit, s'envia a la funció display // Els estats (0 i 1) a cada un dels segments { randomSeed(analogRead(A0)); if (digitalRead(6) == HIGH) { numAle=random(1, 10); contar(numAle); delay (pausa); }else { contar(numAle); }