Diferencia entre revisiones de «Arduino»

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda
Línea 125: Línea 125:
Solució amb un for:
Solució amb un for:


<div class="toccolours mw-collapsible mw-collapsed" style="overflow: hidden;">
<nowiki>
int n=0;
byte BCD[16][4]={{0,0,0,0},{1,0,0,0},{0,1,0,0},{1,1,0,0},
{0,0,1,0},{1,0,1,0},{0,1,1,0},{1,1,1,0},{0,0,0,1},{1,0,0,1},
{0,1,0,1},{1,1,0,1},{0,0,1,1},{1,0,1,1},{0,1,1,1},{1,1,1,1}};
void setup()
{
  for (int i=2;i<6;i++){
  pinMode(i,OUTPUT);
  }
}
void loop()
{
  for (int i=0;i<4;i++){
  digitalWrite(i+2,BCD[n][i]);
  }
  delay(100);
if (n!=9) n++; else n=0;
}
</nowiki>
</div>
Fotos: [http://www.flickr.com/photos/eljose/10818200883/] [http://www.flickr.com/photos/eljose/10817975776/] [http://www.flickr.com/photos/eljose/10818101894/]
Fotos: [http://www.flickr.com/photos/eljose/10818200883/] [http://www.flickr.com/photos/eljose/10817975776/] [http://www.flickr.com/photos/eljose/10818101894/]



Revisión del 14:49 12 nov 2013

Arduino és una placa de circuit imprès simple basada en microcontrolador de codi obert provinent de la plataforma de codi obert Wiring amb l'objectiu de fer més simple i accessible el disseny de circuits electrònics amb microcontroladors.

El maquinari consisteix en dissenys simples de maquinari lliure amb processadors Atmel AVR en una placa amb pins E/S. L'entorn de desenvolupament implementa el llenguatge Processing de Wiring, molt semblant a C++. Arduino es pot utilitzar per desenvolupar objectes interactius autònoms o pot ser connectat a programari de l'ordinador (p. ex. Macromedia Flash, Processing, Max/MSP, Pure Data). Les plaques es poden muntar a mà o adquirir-se i els IDE de font oberta es poden descarregar de franc.

Projectes

Comptador

Per a fer aquest comptador utlitzem un Display BCD i un xip cd4511be

Si tenim en compte que el xip decodificador té aquestes entrades:

Cd4511 pin.jpg

i el display aquestes:

Displaybcd.png

Les connexions quedaran:

Arduino cd4511be
2 A
3 B
4 C
5 D
5v Vdd, LT, BL
GND VSS, LE

Les connexions del xip 4511 aniràn a les lletres segons l'esquema.

Primera versió del programa:

void setup()
{
 
  for (int i=2;i<6;i++){ 
  pinMode(i,OUTPUT);
  }
  
}
void loop()
{
  digitalWrite(2,0);
  digitalWrite(3,0);
  digitalWrite(4,0);
  digitalWrite(5,0);
  delay(1000);
  
  digitalWrite(2,1);
  digitalWrite(3,0);
  digitalWrite(4,0);
  digitalWrite(5,0);
  delay(1000);
  
  digitalWrite(2,0);
  digitalWrite(3,1);
  digitalWrite(4,0);
  digitalWrite(5,0);
  delay(1000);
  
  digitalWrite(2,1);
  digitalWrite(3,1);
  digitalWrite(4,0);
  digitalWrite(5,0);
  delay(1000);
  
  digitalWrite(2,0);
  digitalWrite(3,0);
  digitalWrite(4,1);
  digitalWrite(5,0);
  delay(1000);
  
  digitalWrite(2,1);
  digitalWrite(3,0);
  digitalWrite(4,1);
  digitalWrite(5,0);
  delay(1000);
 
  digitalWrite(2,0);
  digitalWrite(3,1);
  digitalWrite(4,1);
  digitalWrite(5,0);
  delay(1000);
  
  digitalWrite(2,1);
  digitalWrite(3,1);
  digitalWrite(4,1);
  digitalWrite(5,0);
  delay(1000);
  
  
  digitalWrite(2,0);
  digitalWrite(3,0);
  digitalWrite(4,0);
  digitalWrite(5,1);
  delay(1000);
  
  
  digitalWrite(2,1);
  digitalWrite(3,0);
  digitalWrite(4,0);
  digitalWrite(5,1);
  delay(1000);
}

Solució amb un for:

int n=0;

byte BCD[16][4]={{0,0,0,0},{1,0,0,0},{0,1,0,0},{1,1,0,0},
{0,0,1,0},{1,0,1,0},{0,1,1,0},{1,1,1,0},{0,0,0,1},{1,0,0,1},
{0,1,0,1},{1,1,0,1},{0,0,1,1},{1,0,1,1},{0,1,1,1},{1,1,1,1}};

void setup()
{
  for (int i=2;i<6;i++){ 
  pinMode(i,OUTPUT); 
  }
}

void loop()
{
  for (int i=0;i<4;i++){
  digitalWrite(i+2,BCD[n][i]);
  }
  delay(100);
 
 if (n!=9) n++; else n=0;
 
}

Fotos: [1] [2] [3]

Enllaços

http://learn.adafruit.com/all-about-leds?view=all http://www.sentex.ca/~mec1995/tutorial/7seg/7seg.html http://www.ti.com/lit/ds/symlink/cd4511b.pdf http://www.hacktronics.com/Tutorials/arduino-and-7-segment-led.html