Étape 9: Programme de le jury - LCD, les personnages et les étrangers
L’esquisse fournit la méthode par laquelle nous lire les entrées (deux interrupteurs et deux potentiomètres analogiques) et générer la sortie appropriée sur l’écran LCD et/ou le module de sons. L’esquisse a été écrit dans l’Arduino maintenant quelque peu désuètes 1.0.3. Il peut fonctionner sur des versions plus récentes mais 1.0.3 est toujours disponible en téléchargement, si vous en avez besoin.
La clé pour l’affichage sur l’écran LCD est une version modifiée de la bibliothèque de PCD8544_SPI excellente par Arthur Liberman (aka "The Coolest' - http://www.alcpu.com). C’est tordu pour autoriser les caractères au-delà de 127, qui sont définis pour représenter les étrangers, certains numéros de police plus petite et la roue de secours bateau icônes.
La version modifiée de la bibliothèque est attachée à cette étape comme un fichier .zip. Décompressez et enregistrez-le dans le répertoire des bibliothèques dans l’Arduino 1.0.3. Redémarrage Arduino et il doivent être ramassés.
Dans la bibliothèque modifiée, caractères 0 x 80 à 0x8D représentent sept paires d’étrangers avec chaque étranger ayant deux formes en caractères consécutifs. 0x90 à 0x99 des caractères contiennent des chiffres 0 à 9 dans une police de miniatures, ce qui permet le score s’affiche sans prendre toute une ligne de l’affichage. Ce sont les mêmes codes ASCII comme normales chiffres 0 à 9, mais avec le bit supérieur défini. Nous utilisons que dans le croquis pour faciliter l’affichage des numéros. L’icône de rechange navire est également définie ici en 0x9A.
Le Nokia 5110 LCD affiche six lignes de caractères, chaque caractère étant définie dans une grille de pixels (l x h) 6 x 8. Parce que vous avez besoin d’un espace entre les caractères, dans la pratique, la police est défini comme cinq octets par caractère, avec chaque octet représentant une colonne du personnage. Aussi bien la définition de la bibliothèque et l’écran LCD prennent des données de type caractère dans ce format (un octet représentant une colonne de 8 pixels). Bizarre, je sais.
J’ai imprimé les feuilles de conception de caractère attachée et les enfants de couleur dans les cases pour générer deux formes de chaque étranger. J’ai défini un peu moi-même et laisser prendre 2-3 plus. Ils ont ajouté les valeurs pour chacune des cases colorées pour donner un numéro représentant chaque colonne dans leur conception exotique. Cela a été ensuite validé à l’aide de la feuille Excel ci-joint pour vérifier que les numéros qu’ils avaient calculé représentaient les étrangers qu’ils avaient conçu. Nous n’utilisons pas la rangée du haut pour que les étrangers ne fusionnent lorsque affiché.
Pour entrer un nouvel alien dans l’esquisse, ouvrez le fichier PCD8544_SPI.h du dossier bibliothèque dans WordPad ou un éditeur de texte similaire et modifier les définitions de caractère à 0 x 80 à 0x8D. Enregistrez le fichier et recharger Arduino pour implémenter les nouveaux étrangers.