L’Arduino LED Cube!! (5 / 7 étapes)

Etape 5: Programmation d’une heure !

J’ai trouvé ce programme génial ici :

http://www.stationinthemetro.com/index.php/Archives/2008/01/19/makedc-LED-cube-Workshop/

Je vais vous faire économiser un voyage et le code postal ici. Ceci chargez jusqu'à arduino via l’environnement arduino, que vous pouvez télécharger sur arduino.cc (site).

Basé sur ledcube.c de marque: 7 septembre 2007 week-end podcast
http://blog.Makezine.com/archive/2007/09/make_a_pocket_led_cube_we.html

Animation personnalisée programmée par Mark Boszko, http://stationinthemetro.com
*/

#include < avr/pgmspace.h > / / permet d’utiliser PROGMEM pour stocker les modèles dans flash

#define CUBESIZE 3
#define PLANESIZE CUBESIZE * CUBESIZE
#define PLANETIME 3333 / / heure chaque plan est affichée en nous -> rafraîchissement de 100 Hz
#define TIMECONST 20 / / multiplie DisplayTime pour obtenir ms - pourquoi ne pas = 100 ?

Table modèle LED dans PROGMEM - dernière colonne est affichage de l’heure en unités de 100 ms
TODO, cela pourrait être beaucoup plus compact, mais pas avec la représentation binaire de modèle
prog_uchar PROGMEM PatternTable [] = {}
cligner des yeux sous et hors tension
B111 B111, B111, B111, B111, B111, B111, B111, B111, 5,
B000, B000, B000, B000, B000, B000, B000, B000, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 5,
B000, B000, B000, B000, B000, B000, B000, B000, B000, 1,
chaque LED du flash en séquence :
Gauche -> colonne de droite, puis haut -> rangée du bas, puis haut -> plan inférieur
B100, B000, B000, B000, B000, B000, B000, B000, B000, 1,
B010, B000, B000, B000, B000, B000, B000, B000, B000, 1,
B001, B000, B000, B000, B000, B000, B000, B000, B000, 1,
B000 B100, B000, B000, B000, B000, B000, B000, B000, 1,
B000, B010, B000, B000, B000, B000, B000, B000, B000, 1,
B000 B001, B000, B000, B000, B000, B000, B000, B000, 1,
B000, B000, B100, B000, B000, B000, B000, B000, B000, 1,
B000, B000, B010, B000, B000, B000, B000, B000, B000, 1,
B000, B000, B001, B000, B000, B000, B000, B000, B000, 1,
B000, B000, B000, B100, B000, B000, B000, B000, B000, 1,
B000, B000, B000, B010, B000, B000, B000, B000, B000, 1,
B000, B000, B000, B001, B000, B000, B000, B000, B000, 1,
B000, B000, B000, B000, B100, B000, B000, B000, B000, 1,
B000, B000, B000, B000, B010, B000, B000, B000, B000, 1,
B000, B000, B000, B000, B001, B000, B000, B000, B000, 1,
B000, B000, B000, B000, B000, B100, B000, B000, B000, 1,
B000, B000, B000, B000, B000, B010, B000, B000, B000, 1,
B000, B000, B000, B000, B000, B001, B000, B000, B000, 1,
B000, B000, B000, B000, B000, B000, B100, B000, B000, 1,
B000, B000, B000, B000, B000, B000, B010, B000, B000, 1,
B000, B000, B000, B000, B000, B000, B001, B000, B000, 1,
B000, B000, B000, B000, B000, B000, B000, B100, B000, 1,
B000, B000, B000, B000, B000, B000, B000, B010, B000, 1,
B000, B000, B000, B000, B000, B000, B000, B001, B000, 1,
B000, B000, B000, B000, B000, B000, B000, B000, B100, 1,
B000, B000, B000, B000, B000, B000, B000, B000, B010, 1,
B000, B000, B000, B000, B000, B000, B000, B000, B001, 10,

Quelques petit cube - plaisir de gros cube
B000, B000, B000, B000, B011, B011, B000, B011, B011, 10,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 10,
B000, B000, B000, B000, B011, B011, B000, B011, B011, 5,
B000, B000, B000, B000, B000, B000, B000, B000, B001, 2,
B000, B000, B000, B000, B011, B011, B000, B011, B011, 2,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 2,
B000, B000, B000, B000, B011, B011, B000, B011, B011, 2,
B000, B000, B000, B000, B000, B000, B000, B000, B001, 2,
B000, B000, B000, B000, B011, B011, B000, B011, B011, 2,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000, B000, B000, B000, B011, B011, B000, B011, B011, 1,
B000, B000, B000, B000, B000, B000, B000, B000, B001, 1,
B000, B000, B000, B000, B011, B011, B000, B011, B011, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B110 B110, B000, B110, B110, B000, B000, B000, B000, 1,
B100, B000, B000, B000, B000, B000, B000, B000, B000, 1,
B110 B110, B000, B110, B110, B000, B000, B000, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000, B000, B000, B000, B011, B011, B000, B011, B011, 1,
B000, B000, B000, B000, B000, B000, B000, B000, B001, 1,
B000, B000, B000, B000, B011, B011, B000, B011, B011, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B110 B110, B000, B110, B110, B000, B000, B000, B000, 1,
B100, B000, B000, B000, B000, B000, B000, B000, B000, 1,
B110 B110, B000, B110, B110, B000, B000, B000, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000 B011, B011, B000, B011, B011, B000, B000, B000, 1,
B000, B000, B001, B000, B000, B000, B000, B000, B000, 1,
B000 B011, B011, B000, B011, B011, B000, B000, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000, B000, B000, B110, B110, B000, B110, B110, B000, 1,
B000, B000, B000, B000, B000, B000, B100, B000, B000, 1,
B000, B000, B000, B110, B110, B000, B110, B110, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000 B011, B011, B000, B011, B011, B000, B000, B000, 1,
B000, B000, B001, B000, B000, B000, B000, B000, B000, 1,
B000 B011, B011, B000, B011, B011, B000, B000, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000, B000, B000, B110, B110, B000, B110, B110, B000, 1,
B000, B000, B000, B000, B000, B000, B100, B000, B000, 1,
B000, B000, B000, B110, B110, B000, B110, B110, B000, 1,

Lingette diagonale, à partir du centre
B111 B111, B111, B111, B111, B111, B111, B111, B111, 5,
B111 B111, B111, B111, B111, B111, B111, B101, B111, 1,
B111 B111, B111, B111, B101, B111, B111, B101, B111, 1,
B111 B111, B111, B111, B101, B111, B111, B100, B111, 1,
B111 B101, B111, B111, B100, B111, B111, B100, B110, 1,
B111 B101, B111, B111, B100, B111, B111, B100, B110, 1,
B111 B011, B111, B111, B100, B110, B111, B100, B100, 1,
B111 B100, B110, B111, B100, B100, B111, B100, B000, 1,
B111 B100, B100, B111, B100, B000, B111, B000, B000, 1,
B111 B100, B000, B111, B000, B000, B011, B000, B000, 1,
B111, B000, B000, B011, B000, B000, B001, B001, B000, 1,

2-LED diaginal large bande qui gravite autour du cube
B011, B000, B000, B001, B001, B000, B000, B001, B001, 1,
B001 B001, B000, B000, B001, B001, B000, B000, B011, 1,
B000 B001, B001, B000, B000, B011, B000, B000, B110, 1,
B000, B000, B011, B000, B000, B110, B000, B100, B100, 1,
B000, B000, B110, B000, B100, B100, B100, B100, B000, 1,
B000 B100, B100, B100, B100, B000, B110, B000, B000, 1,
B100, B100, B000, B110, B000, B000, B011, B000, B000, 1,
B110, B000, B000, B011, B000, B000, B001, B001, B000, 1,

Maintenant, avec le centre flashies, pour donner du goût
B011, B000, B000, B001, B001, B000, B000, B011, B001, 1,
B001 B001, B000, B000, B001, B001, B000, B000, B011, 1,
B000 B001, B001, B000, B000, B011, B000, B010, B110, 1,
B000, B000, B011, B000, B000, B110, B000, B100, B100, 1,
B000, B000, B110, B000, B100, B100, B100, B110, B000, 1,
B000 B100, B100, B100, B100, B000, B110, B000, B000, 1,
B100, B100, B000, B110, B000, B000, B011, B010, B000, 1,
B110, B000, B000, B011, B000, B000, B001, B001, B000, 1,
B011, B000, B000, B001, B011, B000, B000, B001, B001, 1,
B001 B001, B000, B000, B001, B001, B000, B000, B011, 1,
B000 B001, B001, B000, B010, B011, B000, B000, B110, 1,
B000, B000, B011, B000, B000, B110, B000, B100, B100, 1,
B000, B000, B110, B000, B110, B100, B100, B100, B000, 1,
B000 B100, B100, B100, B100, B000, B110, B000, B000, 1,
B100, B100, B000, B110, B010, B000, B011, B000, B000, 1,
B110, B000, B000, B011, B000, B000, B001, B001, B000, 1,
B011, B010, B000, B001, B001, B000, B000, B001, B001, 1,
B001 B001, B000, B000, B001, B001, B000, B000, B011, 1,
B000 B011, B001, B000, B000, B011, B000, B000, B110, 1,
B000, B000, B011, B000, B000, B110, B000, B100, B100, 1,
B000, B010, B110, B000, B100, B100, B100, B100, B000, 1,
B000 B100, B100, B100, B100, B000, B110, B000, B000, 1,
B100, B110, B000, B110, B000, B000, B011, B000, B000, 1,
B110, B000, B000, B011, B000, B000, B001, B001, B000, 1,

Jaquette en haut
B001 B001, B000, B000, B001, B001, B000, B000, B001, 1,
B001 B001, B000, B000, B001, B001, B000, B000, B001, 1,
B000 B001, B001, B000, B000, B001, B000, B000, B001, 1,
B000, B000, B001, B000, B000, B001, B000, B000, B001, 1,
B000, B000, B000, B000, B000, B001, B000, B000, B001, 1,
B000, B000, B000, B000, B000, B000, B000, B000, B001, 5,
B000, B000, B000, B000, B000, B000, B000, B000, B000, 3,
B000, B000, B000, B000, B000, B000, B000, B000, B001, 5,
B000, B000, B000, B000, B000, B000, B000, B000, B000, 3,
B000, B000, B000, B000, B000, B000, B000, B000, B001, 5,
B000, B000, B000, B000, B000, B000, B000, B000, B000, 3,

Il s’agit d’un élément factice pour fin de tableau (durée = 0)
B000, B000, B000, B000, B000, B000, B000, B000, B000, 0
};

/*
** Définition des broches dans tableau rend plus facile réorganiser la façon dont le cube est câblé
** Ajuster les chiffres ici jusqu'à ce que les LEDs clignotent dans l’ordre - de gauche à droite, T à B
** Notez que les entrées analogiques 0-5 sont également sorties numériques 14-19 !
** DigitalOut0 de pin (série RX) et AnalogIn5 sont laissés ouverts pour les applications futures
*/

int [] LEDPin = {16, 3, 1, 15, 4, 6, 14, 5, 7} ;
int [] PlanePin = {19, 18, 17} ;

initialisation
void setup()
{
tige d’int ; compteur de boucle
mettre en place broches de la LED en sortie (HIGH active)
pour (broche = 0; broche < PLANESIZE ; pin ++) {}
pinMode (LEDPin [pin], sortie) ;
}
mettre en place des goupilles d’avion comme sorties (peu actif)
pour (broche = 0; broche < CUBESIZE ; pin ++) {}
pinMode (PlanePin [pin], sortie) ;
}
}

afficher le motif dans le tableau jusqu'à DisplayTime est égal à zéro (puis répétez)
void loop()
{
déclarer des variables
octet PatternBuf [PLANESIZE] ; sauve le modèle actuel de PatternTable
int PatternIdx ;
octet DisplayTime ; temps * 100ms pour afficher motif
unsigned long EndTime ;
plan d’int ; compteur de boucle pour refresh cube
int patbufidx ; index de l’octet de mémoire tampon de motifs
int ledrow ; nombre de LEDs dans boucle de rafraîchissement
int ledcol ; nombre de LEDs dans boucle de rafraîchissement
int ledpin ; nombre de LEDs dans boucle de rafraîchissement

Initialiser le PatternIdx au début de la table de schéma
PatternIdx = 0 ;
boucle sur entrées de table de modèle - tout DisplayTime > 0
{}
lire modèle PROGMEM et l’enregistrer dans le tableau
memcpy_P (PatternBuf, PatternTable + PatternIdx, PLANESIZE) ;
PatternIdx += PLANESIZE ;
lu DisplayTime entre PROGMEM et incrément index
DisplayTime = pgm_read_byte_near (PatternTable + PatternIdx ++) ;
calculer EndTime de temps actuelle (ms) et DisplayTime
EndTime = millis() + ((unsigned long) DisplayTime) * TIMECONST ;

boucle en DisplayTime > 0 et actuel temps < EndTime
tandis que (millis() < EndTime) {}
patbufidx = 0 ; réinitialiser le compteur indice au début du tampon
boucle sur plans
pour (avion = 0; avion < CUBESIZE ; plan ++) {}
désactiver le plan précédent
Si (avion == 0) {}
digitalWrite (PlanePin [CUBESIZE-1], élevé) ;
} else {}
digitalWrite (PlanePin [plan-1], élevé) ;
}

charger des données de modèle de plan actuel dans les ports
ledpin = 0 ;
pour (ledrow = 0; ledrow < CUBESIZE ; ledrow ++) {}
pour (ledcol = 0; ledcol < CUBESIZE ; ledcol ++) {}
digitalWrite (LEDPin [ledpin ++], PatternBuf [patbufidx] & (1 << ledcol)) ;
}
patbufidx ++ ;
}

Allumez le plan en cours
digitalWrite (PlanePin [plan], faible) ;
retarder le PLANETIME nous
delayMicroseconds (PLANETIME) ;
} / / avion
} / / alors que < EndTime
} tandis que (DisplayTime > 0) ; lire les modèles jusqu'à l’heure = 0, qui signale la fin
}
{6 commentaires & lire ci-dessous ou ajouter un}

Articles Liés

Arduino – LED Cube 3 x 3 x 3

Arduino – LED Cube 3 x 3 x 3

dans ce tutoriel, je vais montrer comment vous pouvez créer votre propre LED Cube 3 x 3 x 3. Je suis sûr que vous avez déjà vu quelques projets semblables à celui-ci, mais vous jamais a pris une décision et faites votre propre. Maintenant il est temp
8 x 8 x 8 Arduino LED Cube

8 x 8 x 8 Arduino LED Cube

Il s'agit d'un projet assez simple, mais c'est beaucoup de temps et vaut bien le produit final!!!Étape 1: Flexion LEDs...Faire un gabarit, avec deux petits clous saillante du trou qui correspond la LED très bien, mais pas trop serré... J'ai trouvé qu
Arduino - LED 3 x 3 x 3 Cube

Arduino - LED 3 x 3 x 3 Cube

Salut!Dans ce instructable je vais vous montrer comment j'ai fait l'Arduino - LED Cube 3 x 3 x 3Étape 1: vidéo C'est le projet a été réalisé grâce à RuiSantos d'où j'ai pris tous les schémas et les idée en soi.Son projet :Je vais ajouter la vidéo de
BRICOLAGE | 3 x 3 x 3 LED Cube pour Arduino Nano +

BRICOLAGE | 3 x 3 x 3 LED Cube pour Arduino Nano +

Salut tout le monde !Mon nom est RGBFreak et j'ai créé une chaîne YouTube tout récemment.J'aime le bricolage et j'aime surtout le LED, c'est pourquoi j'ai décidé de faire mon propre 3 x 3 x 3 LED Cube !Vous aurez besoin des éléments suivants pour fai
WS2812B LED Cube 96 pour arduino magie colorée

WS2812B LED Cube 96 pour arduino magie colorée

Hé, les gars, c'est la quatrième fois que nous (prototypage intelligente) poster un instructable ici,Merci de regarder ! Nous seront garder de suite annonce drôle instructables. Il s'agit d'un cube magique de LED, nous espérons il être utile pour vou
LED Cube avec Arduino et PCB personnalisé

LED Cube avec Arduino et PCB personnalisé

cette instructable détaille la conception et la construction des processus pour une 5 x 5 x 5 cube LED, contrôlée avec un Arduino, qui réside sur un circuits imprimés personnalisés.Vidéos, photos et informations supplémentaires se trouvent sur mon si
4 x 4 x 4 LED-cube interactif avec Arduino

4 x 4 x 4 LED-cube interactif avec Arduino

pour expliquer mon 4 x 4 x 4 LED-cube interactif publié auparavant, un peu plus clair, je vais essayer de faire ma première étape par étape instructable.Ce 4 x 4 x 4 cube est interactif à l'aide de l'angle de quatre premières LEDs tant que voyants et
ARDUINO UNO LED CUBE danse feux

ARDUINO UNO LED CUBE danse feux

permet de voir comment faire danser cube de lumières LED à l'aide de votre arduino uno.Pour ce projet arduino uno est incontournable et 64 LED dont vous avez besoin de votre choix de couleur.J'ai utilisé de la LED bleue pour ce projet.Vous avez besoi
3 x 3 x 3 LED Cube Arduino-UNO

3 x 3 x 3 LED Cube Arduino-UNO

Vous êtes intérêt pour faire votre propre 3 x 3 x 3 LED Cube???Êtes vous débutant n'est pas graveVous suivez les étapes correctes. Il est simple et facile.Laisse moi te montrer comment!!!Étape 1: Que vous faut-il1 x Arduino uno27 x LED (j'utilise 3 c
3 x 3 x 3 LED Cube avec Arduino Lib

3 x 3 x 3 LED Cube avec Arduino Lib

il y a autres Instructables sur la génération des cubes de LED, celui-ci est différent pour plusieurs raisons :1. il est construit avec un faible nombre de composants sur étagère et de crochets avec directement à l'Arduino.2. un clair, facile à repro
Arduino 4 x 4 x 4 LED Cube

Arduino 4 x 4 x 4 LED Cube

Aperçu :Cette instructable portera sur le processus de construction d'un 4 x 4 x 4 LED Cube. Je vais utiliser un Arduino pour contrôler les LEDs.  Depuis l'Arduino (Freeduino) a un total de 20 broches (y compris les broches analogiques), nous ne devr
Simple 3 x 3 x 3 LED Cube avec Arduino

Simple 3 x 3 x 3 LED Cube avec Arduino

Il s'agit de mon premier instructable alors laisser vos commentaires dans les commentaires s'il vous plaît.Lorsque vous affichez beaucoup de tutoriels LED Cube, qu'il semblait qu'ils étaient trop complexes, et comme ils n'ont pas donner suffisamment
4 x 4 x 4 LED Cube (Arduino Uno)

4 x 4 x 4 LED Cube (Arduino Uno)

Dans ce tutoriel je vais vous montrer comment faire un 4 x 4 x 4 LED cube pour environ $15,00. Le cube possède 64 LEDs vertes qui composent son layers(positives) 4 et 16 columns(negatives). Ceux-ci sont tous connectés à un Arduino Uno. Un Arduino est
4 x 4 x 4 LED-cube basée Arduino et fleur protoboard

4 x 4 x 4 LED-cube basée Arduino et fleur protoboard

cette instructable va vous apprendre comment construire votre 4 x 4 x 4 cube de LED avec Fleur ProtoBoard et contrôle de l'Arduino. Pourquoi est-fleur ProtoBoard ? pas ProtoBoard ?En raison de, j'utilise souvent protoboards pour tester si une nouvell