Ping Pong balle pleine couleur Binary Clock (2 / 3 étapes)

Étape 2: Le programme a expliqué

Tout d’abord je tiens à souligner que je ne suis pas très bon à la programmation, mais j’ai amélioré ! Ma première tentative à une horloge binaire a été très longue haleine, et j’ai réussi à améliorer le code considérablement.

Donc la première chose à que faire est lire le temps, ce qui est très facile.

(RTC.read(tm))

Ensuite, le bit suivant est de prendre chaque valeur et diviser en unités et dizaines et si la valeur est inférieure à 10 puis faire les dizaines de valeur zéro. Cette routine est exécutée 3 fois pour les heures minutes et secondes.

Sub binaryOutput(int number)

{

Si (nombre > = 10)

{

int dizaines = nombre/10 ;

les unités int = nombre - (RTE * 10) ;

setBinary(units,ROW) ;

LIGNE = LIGNE + 1 ;

setBinary(tens,ROW) ;

}

d’autre

{

des dizaines d’int = 0 ;

les unités int = nombre ;

setBinary(ROW,units) ;

LIGNE = LIGNE + 1 ;

setBinary(ROW,tens) ;

}

}

Vous devriez être capable de voir que, une fois que vous avez divisé le nombre en dizaines et unités vous exécutez ensuite une autre routine pour afficher la valeur dans une colonne. Cette routine prendre 0-9 Numéro et il convertit un nombre binaire et tourne sur (et hors) les LED requis

Cette partie du programme était le peu qui ont amélioré beaucoup de la dernière tentative ! essentiellement, chaque ligne est traitée la même indépendante du nombre de LED dans la ligne. ce qui signifie que les lignes d’unités ont 4 LEDs et l’heure des dizaines seulement a deux LED mais fonctionne cependant la même routine, le Funduino ne sait pas qu’il n’est pas une LED en position et aucunement les LED inutilisés pourrait être définie à off.

setBinary nulle (valeur int, int whichRow)

{

LIGNE = whichRow ;

int XYZ = 8 ;

int COL = 3 ;

pour (int i = 0; j’ai 4 <; i ++)

{

getColor(g) ;

Si (valeur > = XYZ)

{

Colorduino.SetPixel(ROW,COL,A,B,C) ;

valeur = valeur - XYZ ;

}

d’autre

{

Colorduino.SetPixel(ROW,COL,0,0,0) ;

}

XYZ = XYZ / 2 ;

COL = COL - 1 ;

}

}

Alors, comment fonctionne ce morceau de code?? La routine est livrée avec deux éléments de données, quelle ligne et le nombre. XYZ est définie initialement à 8 et COL à 3. Puis, vous obtenez le code de couleur et fais 4 boucles, sur chaque boucle vous comparez votre numéro avec XYZ et déterminer si c’est plus, si son plus puis le haut LED devrait être allumé (le nombre 8 conduit!) Puis 8 devrait être déduit de votre numéro. Si ses pas plus que 8 puis le LED du haut doivent être éteint. Dans les deux cas vous puis divisez XYZ par 2 et décrémentez le colonel puis vous en boucle à nouveau ce temps vérifier si votre numéro est supérieur à 4 et ainsi de suite. Voir ci-dessous pour un exemple.

Nombre est 6.

Loop1 (numéro d’entrée = 6, XYZ = 8, Col = 3) elle est égale ou supérieure à 8 ? SANS désactiver les haut decrement, lumière, moitié le XYZ, le col.

Loop2 (numéro d’entrée = 6, XYZ = 4, Col = 2) est-il égal ou plus de 4 ? Oui, allumer la lumière 3ème, soustraire 4 du nombre, la moitié des XYZ et la décrémentation du col.

Loop3 (numéro d’entrée = 2, XYZ = 2, Col = 1) est égale ou supérieure à 2 ? Oui, allumer la lumière 2e, soustraire 2 à partir du nombre, la moitié des XYZ et la décrémentation du col.

Loop4 (numéro d’entrée = 0, XYZ = 1, Col = 0) est égale à ou supérieure à 1 ? SANS éteindre la lumière du bas, la moitié le XYZ et décrémenter le Col

À ce stade vous incrémentez la réinitialisation de la rangée le XYZ et Col puis faire la même routine pour les dizaines. Puis répétez pour les minutes et les heures.

Enfin pour le code, vous devez alors « Flip » de la page Colorduino pour afficher la nouvelle heure, ou si le temps n’a pas changé puis changer la couleur.

void loop()

{

tmElements_t tm ;

Si (RTC.read(tm))

{

binaryOutput (tm. Seconde) ;

LIGNE = LIGNE + 1 ;

binaryOutput (tm. Minute) ;

LIGNE = LIGNE + 1 ;

binaryOutput (tm. Heure) ;

LIGNE = 0 ;

}

Colorduino.FlipPage() ;

}

Donc qui gère la lecture et l’affichage de l’heure, maintenant nous allons avoir un regard sur les couleurs. Chaque colonne est définie sur une couleur et de la colonne suivante est affectée par une valeur déterminer par « incrément » plus le nombre le mieux les variations de couleur sur les 6 colonnes. J’ai trouvé qu’autour de 8-12 est un bon nombre. Les couleurs sont décidés par une routine qui prend la valeur d’une seule couleur "g" (alors appelée arc-en-ciel) est incrémentée, un autre est décrémenté et le 3ème est remis à zéro, cette cycles puis monte et descend à travers toutes les couleurs et donne un effet sympa arc-en-ciel (voir le graphique pour une meilleure explication). Un seul problème que j’ai eu qui a eu beaucoup de temps à travailler sur la soloution très simple a été comment faire déplacer lentement sur les colonnes de l’arc-en-ciel. parce que j’ai renforcé la couleur entre chaque rang, si je veux maintenant incrémenter chaque colonne par seulement 1 alors je dois prendre en considération ce que le numéro de couleur originale était et réinitialise « g » à ce nombre puis ajoutez une. Je pense que c’est logique.

Donc la dernière chose est comment vous ajuster le temps???

Je ne savais pas vraiment comment j’allais régler cette horloge quand j’ai commencé à construire cette horloge, mais parce qu’il n’y a pas d’entrées disponibles sur le plateau de colorduino, j’ai fait une horloge GPS qui vous pouvez de brancher l’appareil CCF à et de corriger le temps. Je vais ajouter un autre instructable sur comment j’ai fait cela!!

Articles Liés

Motorized Ping Pong Ball Guns

Motorized Ping Pong Ball Guns

Ce Instructable va vous apprendre comment faire un pistolet à balle motorisée ping pong.  Ces canons balle de ping pong sont beaucoup de plaisir à construire, mais plus de plaisir à tirer.  J'ai fait cela comme un cadeau de Noël pour mon fils.Lumière
Le Ping Pong balle Mauler

Le Ping Pong balle Mauler

Aujourd'hui, j'ai le grand plaisir de vous présenter le Ping Pong balle Mauler, la seule entièrement automatique de grande capacité, lanceur balle de ping pong.  C'est le premier do it yourself projet j'ai entrepris avec ma nouvelle entreprise, déjou
Knex Ping Pong balle extracteur griffe

Knex Ping Pong balle extracteur griffe

j'ai créé ceci dans mon temps libre pour aider mon père qui a un mal de dos. Nous jouions à ping-pong ensemble et le ballon viendrait sur la table, et il devra toujours se baisser et ramasser. Alors j'ai inventé la griffe d'extraction ping pong balle
Ping Pong balle Bazooka

Ping Pong balle Bazooka

Dans ce Instructable nous allons construire un Bazooka balle de Ping Pong. Un follement amusant jouet pour n'importe qui de jouer avec. Le jouet peut contenir jusqu'à 12 balles de ping pong à la fois et pouvez les lancer plus de 25 pieds loin !Le jou
Ping Pong balle Minigun

Ping Pong balle Minigun

vidéo d'instructions sur la façon de construire un Ping Pong balle mitrailleuse à l'aide d'un souffleur de feuilles vieux !
Ping Pong balle poisson rouge

Ping Pong balle poisson rouge

C'est un métier de grand, peu coûteux et facile parfait pour de nombreuses occasions telles que :Fêtes d'anniversaire sur le thème poissonNouvel an chinois artisanat (Goldfish sont un signe de richesse et l'abondance de la prospérité chinoise de cult
Ping Pong balle Smoke Grenade (facile!)

Ping Pong balle Smoke Grenade (facile!)

Ce projet est très simple, rapide et amusant à faire. Seulement quelques éléments nécessaires et beaucoup de fumée, éteindre!!!Objets nécessaires :-ciseaux-feuille d'aluminium-4 balles de ping pong (bonne qualité)-styloÉtape 1: Couper la feuille Déco
Ping Pong balle Cierge magique

Ping Pong balle Cierge magique

J'ai peu d'étincelles.Étape 1: recueillir Recueillir une balle de ping-pong et une boîte ou deux de bombes de SpriteÉtape 2: Faire un trou Créer un petit trou dans la bouleEtape 3: Placer des boules en Placer les petites bombes à l'intérieurÉtape 4:
Ping Pong Ball Launcher

Ping Pong Ball Launcher

Cet Instructable va vous montrer comment transformer une souffleuse à feuilles de base en un lanceur balle de ping pong.(Regardez la vidéo)J'ai commencé à démonter le tube éteint mon souffleur de feuilles.J'ai utilisé un souffleur de feuilles électri
Ping Pong balle catapulte

Ping Pong balle catapulte

inspiré par tous les esprits créatifs ici sur instructables, j'ai fait une catapulte de pong ping pour mes enfants à jouer avec.Matériaux utilisés :Plusieurs chevilles 1/2 po x 1/2 pouce (environ 7 ou 8). La pièce plus longue est de 12 pouces de long
NK Sideliner k ' NEX Ping Pong balle Machine

NK Sideliner k ' NEX Ping Pong balle Machine

j'ai voulu construire un K'nex boulier pendant une longue période et seulement récemment avoir obtenu les pièces nécessaires pour ce faire. Ma première création de ce calibre est une œuvre d'art mécanique, que j'appelle le NK Sideliner. Il utilise de
Ping - Pong balle Launcher / Cannon

Ping - Pong balle Launcher / Cannon

Pour cela instructable vous aurez besoin ce qui suit :-Ruban adhésif en toile (ou tout autre ruban fort)-Ciseaux-Un Popper ZeeBeez-Un Tube de rouleau de papier toilette-Les munitions (petite boule)Étape 1: Couper le tube de rouleau de papier toilette
Bombe fumigène de Ping-Pong ball

Bombe fumigène de Ping-Pong ball

il s'agit d'une bombe fumigène qui peut dégénérer en flamme, donc soyez prudent!Étape 1: matériaux Vous avez besoinune balle de ping-pongfeuille d'alumuninun morceau de papierÉtape 2: Numéro deuxPrendre la balle de ping-pong et l'envelopper dans du p
Plein de Binary Clock

Plein de Binary Clock

j'errais internet à la recherche d'un tutorial arduino bon sur comment construire une horloge binaire avec les secondes, mais je ne pouvais pas trouver un. Alors maintenant je vous écris pour vous d'avoir une horloge binaire avec heures, minutes et s