cube LED 4x4x4 avec Arduino Uno et 1sheeld
Composants et fournitures
| × | 1 | ||||
| × | 16 | ||||
| × | 64 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 20 | ||||
| × | 1 |
À propos de ce projet
Il s'agit d'un incroyable cube LED 4x4x4 connecté à votre smartphone à l'aide du 1sheeld et de l'arduino uno. Laissez la musique contrôler...
Comment construire le cube LED :
Suivez cette instructable pour construire le cube LED. Vous n'avez besoin que de l'étape 3, de l'étape 4 et de l'étape 5. Vous devez avoir des connaissances de base en soudure.
http://www.instructables.com/id/LED-Cube-4x4x4/
** Vous n'aurez pas besoin des composants de l'instructable. pour les composants nécessaires, reportez-vous à la liste des composants ci-dessous.
Théorie de fonctionnement :
Faire passer un fil à l'anode de chaque led est évidemment peu pratique.
Une solution possible consiste à diviser le cube en 4 couches, chaque couche se compose de 16 LED.
Toutes les LED d'une colonne verticale partagent une anode commune (+).
Toutes les LED sur une couche horizontale partagent une cathode commune (-).
Pour allumer une LED spécifique, fournissez simplement GND (-) à la couche qui contient cette LED, puis fournissez 5V (+) à la colonne qui contient cette LED.
Câblage :
Après avoir construit le cube, vous devriez avoir 16 broches pour contrôler les colonnes et 4 broches pour contrôler les couches.
Ω-Connectez chaque broche de contrôle de colonne à un 220 Ω résistance en série, l'autre borne du la résistance est connectée au 1sheeld monté sur la carte arduino.
*** J'ai essayé de connecter les fils directement au 1sheeld et à l'arduino sans résistances et cela a fonctionné, mais ce n'est pas recommandé.
* Les broches de contrôle de colonne sont connectées afin de broches numériques de 13 à 0 et les broches analogiques A4 et A5. (Se référer au schéma)
* Chaque broche contrôle les LED dans cette colonne, vous êtes donc libre de connecter les colonnes avec n'importe quelle combinaison.
-Connectez les broches de contrôle de couche aux broches analogiques A0, A1, A2 et A3.
* Selon mon code, la couche inférieure est connectée à la broche A0, puis la couche suivante est connectée à la broche A1, puis la couche suivante est connectée à la broche A2 et la couche la plus élevée est connectée à la broche A3. (Se référer au schéma)
-Après avoir connecté les fils au 1sheeld et à l'arduino, vous pouvez maintenant télécharger le code, puis connecter votre smartphone au 1sheeld.
*Si vous n'êtes pas familier avec 1sheeld, vous pouvez d'abord suivre ce tutoriel.
http://1sheeld.com/tutorials/getting-started/
Code
- Fichier sans titre
Fichier sans titreArduino
/*Ce code utilise 1Sheeld et une carte arduino Uno pour contrôler une matrice LED 4x4x4 à l'aide du microphone de votre téléphone intelligent. Le circuit :* 64 LED forment un cube 4x4x4 connecté à la carte 1Sheeld et arduino * Les broches de contrôle des colonnes sont connectées aux broches numériques 0 à 13 et analogiques A4 et A5 * Les broches de contrôle des couches sont connectées aux broches analogiques A0 à A3. par Hassan Ibrahim*/ #define CUSTOM_SETTINGS#define INCLUDE_PUSH_BUTTON_SHIELD#define INCLUDE_MIC_SHIELD/* Inclut la bibliothèque 1Sheeld. */#include// Définit les connexions des broches de la matrice LED (colonnes et couche).// Référez-vous au tutoriel pour plus d'illustration.int coloumn13 =13; // colonne13 signifie la colonne connectée à la broche 13 sur la carte arduino int colonne12 =12;int colonne11 =11;int colonne10 =10;int colonne9 =9;int colonne8 =8;int colonne7 =7;int colonne6 =6;int colonne5 =5;int colonne4 =4;int colonne3 =3;int colonne2 =2;int colonne1 =1;int colonne0 =0;int colonneA4 =A4;int colonneA5 =A5;int coucheA0 =A0; // layerA0 signifie la couche connectée à la broche analogique A0 sur l'arduino (La couche la plus basse dans cet exemple)int layerA1 =A1; // * Les noms sont choisis de cette façon afin de faciliter la modificationint layerA2 =A2;int layerA3 =A3;int counter; // utilisé pour faire des variations dans les colonnes// la routine de configuration s'exécute une fois lorsque vous appuyez sur reset:void setup() { // Démarre la communication. OneSheeld.begin(); Serial.begin(115200); // initialise chaque broche en sortie. pinMode(colonne0, SORTIE); pinMode(colonne1, SORTIE); pinMode(colonne2, SORTIE); pinMode(colonne3, SORTIE); pinMode(colonne4, SORTIE); pinMode(colonne5, SORTIE); pinMode(colonne6, SORTIE); pinMode(colonne7, SORTIE); pinMode(colonne8, SORTIE); pinMode(colonne9, SORTIE); pinMode(colonne10, SORTIE); pinMode(colonne11, SORTIE); pinMode(colonne12, SORTIE); pinMode(colonne13, SORTIE); pinMode(colonneA4, SORTIE); pinMode(colonneA5, SORTIE); pinMode(coucheA0, SORTIE); pinMode(coucheA1, SORTIE); pinMode(coucheA2, SORTIE); pinMode(layerA3, OUTPUT);} // fin de la configuration// la routine de boucle s'exécute encore et encore pour toujours:void loop() { // toutes les colonnes sont connectées à 5v (élevé). digitalWrite (colonne0, HAUT); digitalWrite(colonne1, HAUT); digitalWrite(colonne2, HAUT); digitalWrite (colonne3, HAUT); digitalWrite (colonne4, HAUT); digitalWrite (colonne5, HAUT); digitalWrite (colonne6, HAUT); digitalWrite (colonne7, HAUT); digitalWrite (colonne8, HAUT); digitalWrite (colonne9, HAUT); digitalWrite (colonne10, HAUT); digitalWrite (colonne11, HAUT); digitalWrite (colonne12, HAUT); digitalWrite(colonne13,HIGH); digitalWrite (colonneA4, HAUT); digitalWrite(colonneA5,HIGH); retard(30); // Obtenez le niveau de bruit du micro et contrôlez les couches à connecter à 0v (faible). // Chaque bloc if-else contrôle un calque. // Les valeurs doivent être calibrées en fonction de votre téléphone portable. /* Pour calibrer, écoutez n'importe quel type de musique près de votre téléphone intelligent et regardez les lectures du bouclier du micro et choisissez les valeurs appropriées. */ // Dans cet exemple, les étapes de 6 donnent de bons résultats if( Mic.getValue()> 70 ) // first layer control { digitalWrite(layerA0, LOW); retard (50); // Pour rendre l'affichage plus clair. Il pourrait être modifié pour être plus rapide ou plus lent. } else { digitalWrite(layerA0, HIGH); } if( Mic.getValue()> 76 ) // contrôle du deuxième calque { digitalWrite(layerA1, LOW); retard (50); } else { digitalWrite(layerA1, HIGH); } if( Mic.getValue()> 82 ) // troisième couche de contrôle { digitalWrite(layerA2, LOW); retard (50); } else { digitalWrite(layerA2, HIGH); } if( Mic.getValue()> 88 ) // quatrième contrôle de couche { digitalWrite(layerA3, LOW); retard (50); } else { digitalWrite(layerA3, HIGH); } } // fin de boucle
Cube LED avec 1 écran (Mic shield)
Schémas
Cette image ne contient pas les résistances.Processus de fabrication
- Créez un détecteur d'incendie en quelques minutes avec Samsung SAMIIO, Arduino UNO et Raspberry Pi
- Visualiseur de musique Arduino DIY LUMAZOID
- Jeu de gyroscope Arduino avec MPU-6050
- Horloge Arduino avec heures de prière islamique
- Capteur DHT11 avec LED et haut-parleur piézo
- Communication sourds-aveugles avec 1Sheeld/Arduino
- Unopad - Contrôleur MIDI Arduino avec Ableton
- Enregistreur de données de température et d'humidité
- Arduino avec Bluetooth pour contrôler une LED !