Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construction d'un cube LED 7×7×7 : Projet Arduino étape par étape

Composants et fournitures

Arduino UNO × 1
74HC574 × 7
74HC138 × 1
Résistance 220 Ω × 49
Quartz 16 MHz × 1

Outils et machines nécessaires

Fer à souder (générique)

À propos de ce projet

J'ai toujours voulu réaliser mon propre cube LED, et je partage aujourd'hui mon projet avec vous.

Étape 1 : Création de la matrice LED

La première chose à faire est de créer la matrice LED. Dans ce cas, j'ai créé sept matrices LED 7×7. J'ai séparé les anodes et les cathodes et les ai soudées en lignes et colonnes, de sorte qu'à la fin, j'ai 7 anodes et 7 cathodes pour chaque matrice LED.

Étape 2 : Matériel nécessaire pour le cube LED

C'est la partie la plus difficile si vous ne maîtrisez pas bien l'électronique, mais j'essaie de l'expliquer clairement.

J'ai utilisé sept circuits intégrés 74HC574. Ce CI est un bascule D 8 bits, une mémoire de 8 bits. Ainsi, je peux charger des bits pour afficher l'image sur le cube. J'ai besoin de sept 74HC574 car il y a sept matrices LED.

J'ai également besoin de 7 transistors NPN pour décider quelle couche s'allume. Grâce à la technique de multiplexage, je peux visualiser une image sur tout le cube.

Enfin, j'ai besoin d'un 74LS138, qui est un décodeur/démultiplexeur 3 vers 8 lignes. Avec lui, je peux contrôler tous les bascules avec seulement 3 bits, car ils ont aussi besoin d'une impulsion pour sauvegarder les données.

Voici le diagramme de blocs du matériel :

J'ai réalisé le circuit moi-même et j'ai utilisé un ATmega328P en version standalone d'Arduino. Vous pouvez voir tout le schéma de circuit ci-dessous.

Étape 3 : Structure pour le matériel et le cube LED

J'ai utilisé des morceaux de bois pour fabriquer la structure. Ensuite, vous pouvez tout assembler : chaque matrice LED doit être placée face à l'autre et les cathodes de chaque couche sont connectées au même transistor.

Étape 4 : Programmation

Enfin, vous pouvez écrire le code pour faire fonctionner le cube. Le diagramme de blocs ci-dessus peut vous aider à écrire le code. Cette partie peut être déroutante, mais avec un peu de pratique, ce sera plus facile.

Le code ci-dessous représente les animations les plus simples car les autres sont trop longues, mais avec un peu d'imagination, vous pouvez faire tout ce que vous voulez.

Code

Animation (Arduino)

// Ce code représente l'animation la plus simple pour le cube LED
int temp = 50, cont = 0;

// Cette fonction charge toutes les couches du cube
void load_all(void) {
  // couche 1
  digitalWrite(A2, LOW); digitalWrite(A1, LOW); digitalWrite(A0, LOW); delay(1);
  // couche 2
  digitalWrite(A2, HIGH); digitalWrite(A1, LOW); digitalWrite(A0, LOW); delay(1);
  // couche 3
  digitalWrite(A2, LOW); digitalWrite(A1, HIGH); digitalWrite(A0, LOW); delay(1);
  // couche 4
  digitalWrite(A2, HIGH); digitalWrite(A1, HIGH); digitalWrite(A0, LOW); delay(1);
  // couche 5
  digitalWrite(A2, LOW); digitalWrite(A1, LOW); digitalWrite(A0, HIGH); delay(1);
  // couche 6
  digitalWrite(A2, HIGH); digitalWrite(A1, LOW); digitalWrite(A0, HIGH); delay(1);
  // couche 7
  digitalWrite(A2, LOW); digitalWrite(A1, HIGH); digitalWrite(A0, HIGH); delay(1);
  // couche 8
  digitalWrite(A2, HIGH); digitalWrite(A1, HIGH); digitalWrite(A0, HIGH); delay(1);
}

// Cette fonction active chaque couche une fois et vous pouvez décider du temps d'allumage
void scrolling(int t) {
  PORTB = 0x00;
  digitalWrite(7, HIGH); delay(t); digitalWrite(7, LOW);
  digitalWrite(8, HIGH); delay(t); digitalWrite(8, LOW);
  digitalWrite(9, HIGH); delay(t); digitalWrite(9, LOW);
  digitalWrite(10, HIGH); delay(t); digitalWrite(10, LOW);
  digitalWrite(11, HIGH); delay(t); digitalWrite(11, LOW);
  digitalWrite(12, HIGH); delay(t); digitalWrite(12, LOW);
  digitalWrite(13, HIGH); delay(t); digitalWrite(13, LOW);
}

// Cette animation allume une couche à la fois et augmente la vitesse
void one(void) {
  PORTD = 0xff;
  load_all();
  while (1) {
    scrolling(temp);
    temp = temp - 2;
    if (temp <= 0) {
      temp = 1;
      cont++;
      if (cont == 1000) {
        cont = 0;
        temp = 100;
      }
    }
  }
}

void setup() {
  DDRD = 0xff;
  DDRB = 0xff;
  DDRC = 0xff;
}

void loop() {
  one();
}

Pièces personnalisées et boîtiers

Fichier : gestione_mankWMoVhz.sch

Schémas

J'utilise l'image pour l'agencement des composants.

Processus de fabrication

  1. Le Rubik's Cube : de l'invention au casse-tête moderne
  2. Diodes Électroluminescentes (DEL) : De l'Inception aux Durées de Vie de 100 Ans
  3. Créer votre propre jeu de roulette à 37 LED avec Arduino Nano
  4. Projet Arduino : Mélodie "Coffin Dance" — Construire et jouer le tube viral
  5. Construire un superbe cube LED 5x5x5 avec Arduino Mega
  6. Donnez une Seconde Vie à vos Télécommandes : Créez des Objets Connectés DIY avec Arduino
  7. Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
  8. Affichage lumineux 8 LED activé par le son
  9. Construire un robot quadrupède Arduino intelligent : guide étape par étape