11 de juny del 2015

ARDUINO: Pràctica 14: Cub de LED's


Un cub de LED's és una estructura formada per LED's units entre ells formant un cub. Aquestes estructures poden ser més o menys grans depenen del nombre de LED's que disposeu. La pràctica que fareu serà d'un cub 3x3x3, total 27 LED's.

Per començar prepareu una plantilla per soldar els LED's. Amb una fusta feu forats amb una broca de 5 mm de diàmetre i separats uns 2 cm entre ells formant un cub, tal com es veu a la figura:

Poseu 9 LED's als forats doblegant el terminal més curt i dirigint-lo cap un dels LED's del costat. Els terminals més llargs s'han de deixar verticals. Un cop fet, soldeu els terminals curts entre ells tal com es veu a la foto de sota. El LED del mig el soldeu a qualsevol dels del costat.

Quan els tingueu tots soldats, retireu l'estructura i torneu a fer el mateix dues vegades més per completar els tres pisos de l'estructura

Poseu de nou una de les estructura a la plantilla i aneu soldant els terminals llargs amb els d'una altra estructura tal com es veu a la foto:

Repetiu l'operació fins que tingueu els tres pisos muntats. Us ha de quedar més o menys així:


Per connectar a la placa Arduino l'estructura, heu de contar 9 columnes per 3 files. Soldeu un cable a cada fila i columna tal com es veu a la foto:




Quan els tingueu soldats munteu la següent l'estructura amb l'Arduino:


Els cables vermells són els de les 9 columnes, que van amb un resistor connectats als pins del 1 al 9. Els cables verds corresponen a les files, que van a través d'un transistor cadascuna d'elles conenctats als pins 10, 11 i 12.

Obriu el programa Arduino i copieu el següent codi per fer els efectes de llum:

int Columnas[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int Filas[] = {12, 11, 10};
int RandFila;     //Variable para fila aleatoria
int RandColumna;  //Variable para columna aleatoria
void setup()
{
  int contador;
  for (int contador = 1; contador < 10; contador++){
    pinMode(Columnas[contador], OUTPUT); }
  for (int contador = 1; contador < 4; contador++){
    pinMode(Filas[contador], OUTPUT); }
}
void loop()
{
  RandLed();
}
void RandLed()
{
  RandFila = random(0,3);
  RandColumna = random(0,9);
  digitalWrite(Filas[RandFila], HIGH);
  digitalWrite(Columnas[RandColumna], HIGH);
  delay(75);
  digitalWrite(Filas[RandFila], LOW);
  digitalWrite(Columnas[RandColumna], LOW);
  delay(50);
}

Aquest és el vídeo de com us pot quedar:



PRÀCTICA AVANÇADA: busqueu per internet altres exemples de cubs 3x3x3 i busqueu els codis que els fan funcionar i proveu-lo amb els vostres. També podeu afegir un 4t pis amb 9 LED's i reconfigurar el codi per incloure els nous.

Cap comentari:

Publica un comentari a l'entrada