Étape 4: Programme microcontrôleur
J’ai programmé ma planche en échangeant simplement sur la puce atmega dans la prise directement à partir de mon arduino. Vous pouvez faire cela pour créer facilement un projet comme celui-ci, ou vous pouvez aller à l’extra plusieurs minutes d’effort pour ajouter une programmation broches d’en-tête et obtenir un bon programmeur FTDI. À l’avenir, c’est comment j’irais sur les autres projets, mais je n’avais pas l’interface FTDI disponible et j’étais trop paresseux pour utiliser un arduino pour elle. Vous pouvez lire plus à ce sujet sur les liens que j’ai fourni à l’étape de prototypage.
TÉLÉCHARGER SKETCH ARDUINO
J’ai aussi inclus le schéma (Remarque : il montre une matrice RGB LED au lieu d’une seule couleur... faire abstraction de cela)
Cette esquisse est peu bâclée et pas bien commenté (si quelqu'un veut nettoyer n’hésitez pas à m’envoyer une copie les mises à jour). Les choses à noter sont qu’il a plusieurs exemples de la bibliothèque de MAX72XX roulée dans un croquis, mais aussi un 8 x 8 personnalisé format d’Animation. Vous pouvez étendre cela très facilement en faisant de nouvelles animations, comme expliqué ci-dessous. Si vous avez des problèmes avec ce sketch, juste, n’hésitez pas à me tirer un commentaire et je vais essayer d’y répondre.
Exigences :
MAX72XX panneau Bibliothèque
Bibliothèque de Adafruit GFX
Liste actuelle des commandes :
Vous pouvez déclencher un tas de différentes animations et icônes en envoyant les commandes suivantes à l’appareil par série :
serpent
essorage
Boom
visage
coeur
musique
droit
gauche
Pacman
Pinky
Smile
crâne
Ani
Si l’un des éléments énumérés ci-dessus n’est pas envoyé l’esquisse suppose que vous vous envoyez un message de bande de téléimprimeur et vous verrez apparaître le message. Toute commande ou message répétera jusqu'à ce que vous envoyez une autre commande (sauf "boom") ;
« ani » est une boucle de plusieurs des icônes et vous pouvez voir la fonction en bas de l’esquisse pour voir le calendrier etc.
Ajout d’animations :
Vous pouvez personnaliser votre babillard électronique avec des animations personnalisées. J’ai construit dans une méthode normalisée d’écriture d’images bitmap qui est stockés sous forme de tableau d’octets [] 64 octets. Cela vous permet d’avoir jusqu'à 8 images d’animation de 8 x 8 pour une même fonction. Les animations sont générées en écrivant de nouvelles valeurs d’octet dans la mémoire et peuvent être écrite comme des représentations binaires de la led sur la matrice. Si vous pouvez utiliser un 1 pour la grande (allumé) ou 0 pour basse (dim) de faire une photo. Si vous ajoutez de nouvelles images ou animations s’il vous plaît part eux... J’aimerais voir ce que les autres gens font avec cela.
exemple :
Si vous plisser les yeux vos yeux à cela, vous devriez être capable de voir les 2 cadres de l’animation du ghost :
void pinky() {}
memset(mBitmap,0,sizeof(mBitmap)) ; Claire mBitmap tableau de byte]
aniFrames = 2 ; Dire l’arduino nombre d’images vous êtes animation est
mBitmap [0] = B00111000 ;
mBitmap [1] = B01111100 ;
mBitmap [2] = B10010010 ;
mBitmap [3] = B11011010 ;
mBitmap [4] = B11111111 ;
mBitmap [5] = B11111111 ;
mBitmap [6] = B11111111 ;
mBitmap [7] = B10101010 ;
mBitmap [8] = B00111000 ;
mBitmap [9] = B01111100 ;
mBitmap [10] = B10010010 ;
mBitmap [11] = B10110110 ;
mBitmap [12] = B11111111 ;
mBitmap [13] = B11111111 ;
mBitmap [14] = B11111111 ;
mBitmap [15] = B01010101 ;
dBitmap() ; Exécutez dBitmap pour dessiner les images bitmap sur la matrice
}
le dBitmap fonctionne juste effectue une boucle sur chaque octet dans le tableau et fait une comparaison de bits pour voir si la LED correspondante doit être haute ou basse.
Vous aurez besoin de jouer avec cela un peu pour qu’il puisse regarder à droite. Vous devez également ajouter la commande dans la boucle de sorte que lorsqu’une nouvelle commande de série est envoyée à la variable de la bande, il peut déclencher la fonction. (vous verrez ce que je veux dire dans le code... sinon demander et je vais vous aider)