Étape 2: Programmation
Théorie...
L’écran est un peu stupide, cela fonctionne comme un ampli téléviseur, The 32 Pixels d’une ligne sont stockées dans Maj registres, donc U conduire en données en série pour une seule ligne, sélectionnez la ligne contenant les connexions ABCD, ceux-ci sont décodés en 1 de 16 lignes en abaissant l’OE, la ligne s’allume, puis U désactiver la ligne , sérialiser des données pour la prochaine ligne, allumez la ligne suivante et ainsi de suite...
Le vélo à travers les lignes a besoin d’un peu de synchronisation intelligente sinon il sera scintillent ou consomment trop de temps CPU. C’est pourquoi j’ai changé le code pour utiliser l’interruption de la minuterie et le SPI.
L’interruption (Timer1 déborder) veille à ce que l’afficheur actualise peu importe ce que votre programme est occupé avec et le SPI, c’est juste une meilleure façon de sérialiser des données sur un port, à l’aide, est beaucoup plus rapide, puis basculer une goupille 8 fois haut et en bas car il utilise du matériel (le SPI - SerialPeripheralInterface), qui fait pour nous et nécessite qu’une seule opération d’écriture par octet - Pin activant/désactivant nécessite environ 24 digitalWrite appels par octet , décalage de bits et et et...
Le bouton est aussi simple que dans certains exemples de l’Arduino. Rien de compliqué ici. Le bouton sert à réveiller la minuterie et sauter par-dessus les initiales du peuple à la suivante. En fait, j’ai utilisé un capteur de proximité, juste parce qu’il fait plus frais quand un bouton, vous pouvez interagir avec un clin d’oeil... uuuhhh coool Oui.
Le programme affichera les initiales de l’homme qui parle et un compte à rebours, il met à clignoter quand il est proche de zéro. Sur le dessus de la source liste vous pouvez définir le nombre de personnes, leurs initiales et le temps de la séance.
SourceCode est attaché...
- DailyStandupTimer.zip contient l’esquisse, va généralement à des Documents/Arduino
- TimerAndLED_library.zip sont les librairies patchés utilisés. vont habituellement aux Documents/Arduino/bibliothèques (redémarrer le GUI Arduino après avoir copié les libs là)
Améliorations possibles :
- Mode sommeil réel quand éteint - où est quelques doc pour cela sur le web.
- Graphique plus agréable, nécessiterait plus peinture de polices d’avance, au moment où que la police est juste copié octet sage, c’est pourquoi il peut seulement être tirée à pos 0,8,16,24. Pour plus de souplesse, il doit être décalée à une position d’un pixel et l’opérateur or dans le tampon d’affichage.