LED Clock (7 / 9 étapes)

Étape 7: Code

j’ai utilisé un arduino MEGA pour tout cela, à cet effet, je vais fournir le code de l’arduino pour un méga. Je sais c’est mauvaise forme pour coller le code, mais c’est ici. Comment attachez-vous .ino fichiers ? J’ai fixé comme un fichier zip, télécharger que pour trouver le fichier de code .ino arduino.

Une explication rapide dont épingles aller où... arduino pins 22-27 sont les 6 broches pour les heures, broches de l’arduino 28-36 sont les 9 minutes, et 37-45 sont les 9 secondes.

L’int tableaux un [30] et b [30] sont ensemble le tableau 2 dimensions pour la cathode et l’anode de chaque LED.

L’int tableaux c [72] et d [72] ensemble sont les baies pour (des minutes et des secondes car ils utilisent le même tableau). Comme vous pouvez voir que les deux tableaux sont décalés pour aligner le temps = position 0 pour être au top de l’horloge étant donné que je n’a pas mis la première LED au bon endroit quand mettre ensemble. Vous pouvez garder le déplacement des valeurs left ou right (juste veillez à toujours à la même chose à la fois les tableaux c et d) jusqu'à la minute / seconde main à l’heure = 0 soit orienté vers le haut.

Vous n’avez pas besoin de régler manuellement l’heure puisque la bibliothèque RTC fait cela lors de l’initialisation lorsque vous chargez le croquis.

#include < Wire.h >
#include « RTClib.h »

RTC_DS1307 CCF ;

6 (heure) + 9 (min), 9 (s) = 26 broches nécessaires en utilisant charlieplexing pour contrôler les 144 LEDs sur 3 anneaux distincts.

6 broches = utilisé pendant des heures
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30


int a [30] = {22,23,24,25,26,27,22,23,24,25,26,27,22,23,24,25,26,27,22,23,24,25,26,27,22,23,24,25,26,27} ;
int b [30] = {27,27,27,27,27,26,26,26,26,26,25,25,25,25,25,24,24,24,24,24,23,23,23,23,23,22,22,22,22,22} ;
utilisable jusqu'à 30 broches. Il n’y a plus de 6 postes ouverts pour une utilisation.

9 broches (x2) = utilisé pour les minutes et les seconds(+9)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
int c [72] = {32,31,30,29,28,36,35,34,33,32,31,30,29,28,36,35,34,33,32,31,30,29,28,36,35,34,33,32,31,30,29,28,33,32,31,30,29,28,36,35,34,33,32,31,30,29,28,36,35,34,33,32,31,30,29,28,36,35,34,33} ;
d int [72] = {33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,29,29,29,29,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32} ;
peut contrôler jusqu'à 72 broches. Il n’y a plus de 12 postes ouverts pour une utilisation.

void setup()
{
Serial.Begin(57600) ;
Wire.Begin() ;
RTC.begin() ;

ce qui donne le pouvoir de la Commission du DS1307 (pour Arduino MEGA)
les autres bacs sont câblés aux lignes SCL et SDA sur l’arduino (pour le méga ils sont broches 20 et 21) (pour le Duemilanove, ils sont sur les broches analogiques, consulter le site d’arduino pour en savoir plus).
pinMode (18, sortie) ;
digitalWrite (18, faible) ;
pinMode (sortie 19) ;
digitalWrite (19, haute) ;
}

void loop()
{
DateTime maintenant = RTC.now() ;

heure
int timeHr = now.hour() ;
int modHr = timeHr % 24 ; modulo 24

réinitialise chaque broche de sorte que la broche est ni haut ni bas (donc ne restez pas del)
pinMode (22, entrée) ;
pinMode (23, entrée) ;
pinMode (24, entrée) ;
pinMode (25, entrée) ;
pinMode (26, INPUT) ;
pinMode (27, INPUT) ;

les prochaines lignes plusieurs prenez la position de la LED des ensembles un [] et b [] (anode et cathode) et mettez-les à HIGH et LOW sorties pour cette boucle.
pinMode (un [modHr], sortie) ;
pinMode (b [modHr], sortie) ;

digitalWrite(a[modHr],HIGH) ;
digitalWrite(b[modHr],LOW) ;

minute
int tempsMin = now.minute() ;
int modMin = tempsMin % 60 ;

pinMode (28, INPUT) ;
pinMode (29, INPUT) ;
pinMode (30, entrée) ;
pinMode (31, INPUT) ;
pinMode (32, INPUT) ;
pinMode (33, INPUT) ;
pinMode (34, entrée) ;
pinMode (35, INPUT) ;
pinMode (36, INPUT) ;

pinMode (c [modMin], sortie) ;
pinMode (d [modMin], sortie) ;

digitalWrite(c[modMin],HIGH) ;
digitalWrite(d[modMin],LOW) ;

seconde
int tempsSec = now.second() ;
int modSec = tempsSec % 60 ;

pinMode (37, entrée) ;
pinMode (38, entrée) ;
pinMode (39, INPUT) ;
pinMode (40, INPUT) ;
pinMode (41, INPUT) ;
pinMode (42, INPUT) ;
pinMode (43, INPUT) ;
pinMode (44, INPUT) ;
pinMode (45, entrée) ;

pinMode ((c [modSec] + 9), sortie) ;
pinMode ((d [modSec] + 9), sortie) ;

digitalWrite ((c [modSec] + 9), élevé) ;
digitalWrite ((d [modSec] + 9), faible) ;
/*
pinMode (37, sortie) ;
pinMode (sortie 38) ;
pinMode (39, sortie) ;
pinMode (40, sortie) ;
pinMode (41, sortie) ;
pinMode (42, sortie) ;
pinMode (43, sortie) ;
pinMode (44, sortie) ;
pinMode (45, sortie) ;

digitalWrite(37,LOW) ; 1
digitalWrite(38,LOW) ; 2
digitalWrite(39,LOW) ; 3
digitalWrite(40,LOW) ; 4
digitalWrite(41,LOW) ; 5
digitalWrite(42,LOW) ;
digitalWrite(43,LOW) ;
digitalWrite(44,LOW) ; 8 arrêt
digitalWrite(45,HIGH); * /
}

Articles Liés

Lite Brite LED clock

Lite Brite LED clock

Lite Brite piquets ressemblent LED Don't they ?  C'est ce que j'ai bien l'autre jour, après avoir travaillé sur un cube de LED pendant quelques heures.  J'ai pu voir Lite Brite ma fille assis là, et j'ai regardé le tas de LED sur mon bureau.  Quel ma
RGB-Led Clock avec puce Bluetooth

RGB-Led Clock avec puce Bluetooth

Cette instructable vous montre comment utiliser un cyprès-BLE-Devkit pour construire une RGB-LED-horloge.Vous devez seulement très peu choses :RGB-LED-Strip de 30 ou 60 WS2812b-LEDs.une carte de circuit imprimé style grillecertaines broches broche-en
Construction d’une Alternative LED Clock

Construction d’une Alternative LED Clock

la raison pourquoi les montres courir dans le sens horaire et horloge a à voir avec SUNDAILS. Sundails sont plus ancienne horloge du monde qui suit le mouvement du soleil à travers nos éventuels sur la terre. Puisque nous n'utilisons pas sundails plu
Moderne RGB LED Clock de Craig

Moderne RGB LED Clock de Craig

j'ai besoin une jolie horloge à la recherche pour ma nouvelle maison alors j'ai décidé de concevoir et de construire un. Cette horloge utilise un contrôleur micro compatible Arduino, un module d'horloge temps réel Chronodot et un segment LED 14 d'un
Grande horloge numérique 7 segments

Grande horloge numérique 7 segments

à l'aide de seulement 2 condensateurs, résistances de 3, 4 grands affichages de sept-segment, 1 xtal, 2 interrupteurs et 1 microcontrôleur PIC, vous pouvez construire ce circuit principal numérique Led Clock.vous pouvez utiliser anode commune ou affi
Edge Lit la déclaration d’indépendance !

Edge Lit la déclaration d’indépendance !

La vidéo montre un aperçu de la génération. Vous aurez toujours besoin de quelques petites choses afin de reproduire cela. J'ai inclus les fichiers divers dans les prochaines étapes.Étape 1: TeensyCâblageJ'ai utilisé un Teensy 2.0 pour ce projet. La
Horloge en temps réel Arduino MAX7219

Horloge en temps réel Arduino MAX7219

Arduino-MAX7219-7-Segment-Led-ClockCette horloge en temps réel est basée sur la puce RTC DS32317 segments conduit construction (type de cathode commune)Panneau d'affichage est une coutume faite 7 segments led (vous pouvez utiliser n'importe quel LED
4 LED Binary Clock

4 LED Binary Clock

4 LED Binary Clock, il indique l'heure en mode binaire, avec clignotant LED premier spectacle les heures puis les minutes, à comprendre comment il fonctionne, vous doivent savoir lire binaire ici est lien pour apprendre :http://www.wikiHow.com/Read-a
Glass Clock with LED backlight

Glass Clock with LED backlight

This clock incorporates LEDs and mirrors behind a glass face.  Il y a 20 ou 30 différents vitrages au choix dans le magasin de passe-temps, mais j'ai choisi celui-ci à cause de sa texture et des reflets lumineux uniques.  Dans ce instructable, vous p
LED Arduino Clock

LED Arduino Clock

Après avoir construit mon dernier projet, je voulais construire quelque chose avec un Arduino. Navigation sur Instructables pendant des mois, j'ai vu une horloge Arduino LED que j'ai voulu construire. Après quelques remaniements de ma part, j'ai mis
LED Binary Clock

LED Binary Clock

il s'agit de la deuxième révision de mon PIC basée LED horloge binaire. La version originale a été le premier projet PIC, que j'ai tenté, il utilisé un PIC16F84A de faire les deux le chronométrage et la matrice de l'écran de contrôle, malheureusement
LED Binary Clock 2.0

LED Binary Clock 2.0

vous vous souvenez peut-être de ma première version de la LED horloge binaire (1,0) ;Cette version a été conçue comme un cadeau, il est donc dans quelques concours comme le défi de cadeaux de vacances. S'il vous plaît, si vous le souhaitez, n'hésitez
Arduino + LEDs = Binary clock

Arduino + LEDs = Binary clock

Ce projet a été pris directement tiré du livre « 30 projets Arduino pour l'Evil Genius » par Simon Monk.  Elle est décrite en détail à la page 159.Fondamentalement, les étapes que j'ai fait sont :1. après avoir décidé sur la taille de 12 x 15 pouces,
Arduino piloté par RGB LED Scrolling Clock

Arduino piloté par RGB LED Scrolling Clock

il s'agit d'un module LED RVB 8 x 8, conduit par 4 x 74HC595N Shift Registers contrôlée par un Boarduino (clone de Arduino qui peut être utilisé sur une maquette). Les données de temps provient d'un IC DS1307 horloge en temps réel.L'affichage est sor