U-Disp - The Digg (tm) affichage (Open Source) (16 / 18 étapes)

Étape 16 : Description du projet - Firmware

Le firmware est écrit en AVR-GCC et utilisé environ 60 % de l’espace disponible programme de 2KO dans le ATtiny2313.

Il est vraiment très simple logiciel. Fondamentalement, tout il le fait pour recevoir des paquets de commande sur le port série de le Tiny2313, vérifier si la commande est ce s’affichent, et si c’est décoder la commande et stocker le bitpattern dans la mémoire. Si la commande est pour un autre affichage, qu'il sera juste transmettre à l’écran suivant.
Le firmware peut être télécharger les deux comme code source et comme comme précompilé hexfile depuis la section téléchargement du site web du projet.

Les messages entre le Service Windows et les microcontrôleurs sur les afficheurs sont formatés en paquets plutôt compact 10 octets. Afin d’être en mesure de détecter de façon fiable au début de chaque paquet le bit le plus significatif [MSB] (bit 7 qui est) dans le premier octet est défini à zéro, le reste des octets sont définies à l’un.

Puisque chaque chiffre a huit voyants (les sept segments plus la virgule [DP]) qui doivent être contrôlée, nous ne pouvons pas juste mapper chaque chiffre sur un seul octet car qui obtiendrait le MSB à zéro (le début de l’indicateur de paquet) si la virgule a été désactivée. Donc les DPs obtient son propre octets, mais puisque nous avons huit chiffres et ainsi de huit DPs le dernier DP doit être mis ailleurs ou nous aurez dans le même problème à nouveau. Derniers chiffres DP est mis sur le premier octet à peu six...

Le premier octet est s’ajoute le départ de paquets de signalisation et gardant les derniers chiffres DP détient également quatre bits (bit 3 à 0) qui indique quel affichage (unité), ce message est destiné. Le premier affichage porte le numéro 0 est l’affichage suivant 1 et le dernier numéro 15. Quand le premier affichage d’une chaîne reçoit un message, qu'il vérifie le numéro d’unité et voit si c’est 0. Si c’est que le message y est traité. Si elle n’est pas alors l’affichage décrémente la valeur de l’unité de mèches et transmet l’intégralité du message le long à l’affichage suivant dans la chaîne. Cet affichage aussi vérifie les bits à zéro et agit en conséquence.

Le tableau ci-dessus montre le format du message.

  • d0p est le chiffre 0 virgule, d1p est la virgule Digit1 et ainsi de suite...
  • U0, u1, u2, u3 sont les bits qui indique le numéro d’unité que le message est destiné.
  • A, B, C, D, E, F, G sont les segments de chaque chiffre.
  • x est un bit non utilisé pour l’expansion future.

Réception de commande
Réception des données du PC se fait avec les interruptions. Chaque nouveau personnage generats une interruption et est géré par la fonction ci-dessous. Il rassemble dix caractères dans un buffer, vérifie si la commande est pour cet affichage et décode et le stocke dans ce cas. Si le message est pour un autre affichage Il décrémente la destination nybble et envoyer tout le message à l’écran suivant dans la chaîne dans l’espoir qu’un affichage plus tard sera là pour gérer le message.

Multiplexage des chiffres
Étant donné que les chiffres sont multiplexées (seul des chiffres sont alimentés à la fois) le firmware en continu s’allume chiffre après chiffre pendant quelques millisecondes dans chaque donc l’oeil/cerveau croit que tous les chiffres sont sur en même temps,.

Pour enregistrer les I/O-broches du microcontrôleur, une technique de multiplexage spéciale appelée Charlieplexing est utilisé. Il a radicalement réduit le nombre de quilles nécessaires sur le microcontrôleur mais nécessite un logiciel plus complex de tout contrôler.

Timer0 est utilisé pour générer des interruptions pour le multiplexage de chiffres

			
          

Articles Liés

Arduino verre - casque de réalité augmentée Open Source

Arduino verre - casque de réalité augmentée Open Source

Avez-vous déjà pensé à faire un casque de réalité augmentée ? Ont été également séduit à l'idée de la réalité augmentée et regarda le prix à payer avec un cœur brisé ?Oui, moi aussi !Mais qui n'a pas m'arrêter là. J'ai construit mon courage et au lie
Open Source Hardware Guide de cadeaux

Open Source Hardware Guide de cadeaux

cela fait un an depuis notre dernier ouvrir source cadeau guide - cette année il y a tellement d'aller sur dans l'univers de marque, open source, et au-delà, que nous avons une série de cadeaux guides pour cette saison de vacances. Le premier est not
Open Source Solarpad Kit solaire USB chargeur

Open Source Solarpad Kit solaire USB chargeur

S'il vous plaît cliquez ci-dessous pour visiter notre page de projet Kickstarter pour Solarpad !http://www.Kickstarter.com/projects/249225636/Sola...« Enfin, un bon chargeur solaire pour randonneurs et vététistes » - culte de MacCan USB solaire compa
Open Source 3D imprimé Couture par XYZ atelier

Open Source 3D imprimé Couture par XYZ atelier

Sur 19 août 2014, XYZ atelier en partenariat avec Ultimaker pour libérer une suite opensource mode incluant un portefeuille imprimé 3D, 3D bande de montre imprimé et robe couture ensemble appelé l'inBloom robe. Ces dessins sont tous disponibles gratu
ZelosLaser coupe 2.0 : Open Source, robuste & polyvalent

ZelosLaser coupe 2.0 : Open Source, robuste & polyvalent

J'ai commencer à planifier le graveur ZelosLaser dans le but d'un bien bâti, Open Soft et Hardware Machine.The ZelosLaser graveur est abordable, avec un design compact et l'entrée parfaite pour l'amateur de tous les jours.Il est facile à construire.
Plus Open Source Science - déterminer l’accélération gravitationnelle

Plus Open Source Science - déterminer l’accélération gravitationnelle

j'irai à travers un processus qui vous permettra de déterminer l'accélération due à la pesanteur. J'utilise cette activité avec mes élèves de physique de lycée. Dans le passé, nous avons fait une activité similaire à l'aide d'un porte photo disponibl
ArduinoPhone 2.0 - un open source portable

ArduinoPhone 2.0 - un open source portable

Il y a plus de 2 ans j'avais fait une instructable - ArduinoPhone.ArduinoPhone était grande et il est difficile pour les débutants de faire un. Étant donné qu'il est une étape pour rendre le circuit de charge.Et j'avais entendu donc beaucoup de voix
Préparer des images pour Lumi Inkodye à l’aide de Free (et Open Source) logiciels (GIMP)

Préparer des images pour Lumi Inkodye à l’aide de Free (et Open Source) logiciels (GIMP)

Inkodye est un colorant réactif lumière fait par la compagnie Lumi. Il y a beaucoup de bons instructables pour faire des trucs avec Inkodye - cette instructable montrera vous comment modifiez une image pour être imprimé sur une transparence et utilis
Bukobot 3D Printer - Open Source, extensible

Bukobot 3D Printer - Open Source, extensible

Buko est mon idée d'un nouveau cadre pour la prochaine génération des imprimantes 3D RepRap. Les imprimantes 3D à l'aide de ce cadre sont appelés Bukobots.-Facile à construire-Facile à agrandir ou moderniser-Extrudeuse double Option !-Documentation g
Fenrir : Un robot chien Open source

Fenrir : Un robot chien Open source

Mouvement des jambes fixesTransformation de rotationDémo de marcheL'Interface utilisateurIl s'agit d'un robot quadrupède mammifère de mini open source ou vous pouvez penser d'elle comme un robot chien de quatre jambes. L'objectif de ce projet est de
AI de Python Open source Beta 0,01

AI de Python Open source Beta 0,01

Salut j'ai fais encore une fois, une Intelligence artificielle de Python Open Source ou PAIOS pour faire court.Voici - version bêta 0,01importation au hasardimport sysImport osvar1 = « Bonjour, que puis-je faire pour vous »Print(var1)Q1 = input()Si T
ThermoClock : Une Open source Arduino UNO OLED horloge qui mesure également la température

ThermoClock : Une Open source Arduino UNO OLED horloge qui mesure également la température

Bonjour, tout le monde !Aujourd'hui je vais vous montrer comment faire An OpenSource Arduino UNO OLED horloge qu'aussi mesures de température. Ce projet est un Open source et il est ouvert à tous. Il ne nécessite aucune qualification spéciale d'ingén
REJOIGNEZ NOTRE ROBE D’ÉLÉMENT OPEN SOURCE !

REJOIGNEZ NOTRE ROBE D’ÉLÉMENT OPEN SOURCE !

Nous allons commencer une émeute-DESIGN !LA ROBE DE L'OPEN SOURCE.Nous avons inventé une robe créée par aucun d'entre nous, au lieu de cela - il créé avec le monde. Avec vous ! En soumettant votre propre élément nous être connecté tous ensemble dans
Puzzles conceptuels : l’Open Source Learning Lab Kit

Puzzles conceptuels : l’Open Source Learning Lab Kit

L'Open Source d'apprentissage Lab Kit est un outil conceptuel pour la conception d'environnements d'apprentissage collaboratifs. Conçu comme un puzzle, concepts spatiaux sont introduites de façon ludique, en les rendant accessibles aux architectes, p