Charliexplexed LED horloge - Arduino (3 / 5 étapes)

Étape 3: Le Code

 #include "Wire.h" #include "RTClib.h" #include "FastLED.h" byte LEDs[][2]={ // Array to define the Charlieplexed LEDs {3,4}, {5,6}, {7,8}, {9,10}, {4,3}, // 5 {6,5}, {8,7}, {10,9}, {3,5}, {4,6}, //10 {7,9}, {8,10}, {5,3}, {6,4}, {9,7}, //15 {10,8}, {3,6}, {4,7}, {5,8}, {9,11}, //20 {6,3}, {7,4}, {8,5}, {11,9}, {3,7}, //25 {4,8}, {5,9}, {6,10}, {4,9}, {8,4}, //30 {9,5}, {10,6}, {3,8}, {7,3}, {5,10}, //35 {6,11}, {8,3}, {9,4}, {10,5}, {11,6}, //40 {3,9}, {4,10}, {5,11}, {9,3}, {10,4}, //45 {11,5}, {3,10}, {4,11}, {10,3}, {11,3}, //50 {11,4}, {4,5}, {6,7}, {8,9}, {10,11}, //55 {5,4}, {7,6}, {9,8}, {5,7}, {6,8} //60 }; #define NUM_LEDS 60 #define DATA_PIN 12 CRGB leds[NUM_LEDS]; byte lastmin; RTC_DS1307 rtc; void setup() { // put your setup code here, to run once: AllOff(); #ifdef AVR Wire.begin(); #else Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due #endif rtc.begin(); lastmin=0; LEDS.setBrightness(128); FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS); //effects(); //Serial.begin(57600); } void loop() { // put your main code here, to run repeatedly: DateTime now = rtc.now(); // Serial.print(now.hour(), DEC); if(( now.second() == 0)){ effects(); } if(now.minute() != lastmin){ for(int i=0; i<now.minute();i++) leds[i] = CRGB::Purple; leds[((now.hour())%12)*5] = CRGB::Red; FastLED.show(); } LEDOn(now.second()); delay(900); AllOff(); //leds[((now.hour())%12)*5] = CRGB::Black; //leds[now.minute()] = CRGB::Black; //FastLED.show(); delay(100); //} } void LEDOn(byte n){ AllOff(); pinMode(LEDs[n][0],OUTPUT); pinMode(LEDs[n][1],OUTPUT); digitalWrite(LEDs[n][0],HIGH); digitalWrite(LEDs[n][1],LOW); } void AllOff(){ for(int i=3;i<=11;i++){ pinMode(i,INPUT); } } const int colorWheelAngle = 360 / NUM_LEDS; void effects(){ uint8_t color[3]; for (int i = 0; i < 360; i++) { for (int j = 0; j < NUM_LEDS; j++) { getRGB((i + (j * colorWheelAngle)) % 360, 255, 150, color); leds[j]=CRGB(color[0], color[1], color[2]); } FastLED.show(); delay(1); } for (int i = 0; i < NUM_LEDS; i++) { leds[i] = CRGB::Black; } FastLED.show(); } // Gamma values used to convert HSV to RGB PROGMEM const byte dim_curve[] = { 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 25, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 32, 32, 33, 33, 34, 35, 35, 36, 36, 37, 38, 38, 39, 40, 40, 41, 42, 43, 43, 44, 45, 46, 47, 48, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 78, 79, 81, 82, 83, 85, 86, 88, 90, 91, 93, 94, 96, 98, 99, 101, 103, 105, 107, 109, 110, 112, 114, 116, 118, 121, 123, 125, 127, 129, 132, 134, 136, 139, 141, 144, 146, 149, 151, 154, 157, 159, 162, 165, 168, 171, 174, 177, 180, 183, 186, 190, 193, 196, 200, 203, 207, 211, 214, 218, 222, 226, 230, 234, 238, 242, 248, 255, }; /* * Code taken from <a href="http://www.kasperkamperman.com/blog/arduino/arduino-programming-hsb-to-rgb/" rel="nofollow"> http://www.kasperkamperman.com/blog/arduino/ardui...</a> * hue ranges from 0 to 360 * sat is from 0 to 255 * val is from 0 to 255 */ void getRGB(int hue, uint8_t sat, uint8_t val, uint8_t colors[3]) { /* convert hue, saturation and brightness ( HSB/HSV ) to RGB The dim_curve is used only on brightness/value and on saturation (inverted). This looks the most natural. */ val = pgm_read_byte(&dim_curve[val]); sat = 255 - pgm_read_byte(dim_curve[255-sat]); int r; int g; int b; int base; if (sat == 0) { // Acromatic color (gray). Hue doesn't mind. colors[0]=val; colors[1]=val; colors[2]=val; } else { base = ((255 - sat) * val)>>8; switch(hue/60) { case 0: r = val; g = (((val-base)*hue)/60)+base; b = base; break; case 1: r = (((val-base)*(60-(hue%60)))/60)+base; g = val; b = base; break; case 2: r = base; g = val; b = (((val-base)*(hue%60))/60)+base; break; case 3: r = base; g = (((val-base)*(60-(hue%60)))/60)+base; b = val; break; case 4: r = (((val-base)*(hue%60))/60)+base; g = base; b = val; break; case 5: r = val; g = base; b = (((val-base)*(60-(hue%60)))/60)+base; break; } colors[0]=(uint8_t) r; colors[1]=(uint8_t) g; colors[2]=(uint8_t) b; } } 

Articles Liés

Faible résolution Arduino LED horloge

Faible résolution Arduino LED horloge

Ce projet est ce que je me plais à penser de comme un échec réussi. J'ai travaillé sur une horloge de LED basse résolution pour les dernières semaines et en fin de compte, j'ai maîtrisé avec regret mon Arduino UNO - amenant à la République fédérale d
Arduino-powered LED horloge

Arduino-powered LED horloge

Une amusante, simple LED horloge, qui vous donnera le temps à la demi-heure plus proche à l'aide de simple-couleur LED. Pièces nécessaires sont les suivantes :Arduino Nano400 points cravate BreadboardCâble en nappeDS1307 IC RTC32,768 kHz Crystal(12)
Horloge LED Matrix Arduino

Horloge LED Matrix Arduino

Cette horloge utilise MAX7219 cinq matrices de 8 x 8 LED pour afficher une horloge.Les deux unités de gauche affichent l'heure, la droite deux les minutes et la matrice centrale compte les secondes. Ceci est accompli en éclairage un LED par seconde,
BRICOLAGE Simple Sheild sortie LED pour Arduino UNO R3

BRICOLAGE Simple Sheild sortie LED pour Arduino UNO R3

Arduino uno inutilisables sans bouclier externe. Dans ce tutoriel, nous pouvons chared comment faire sortir Shield pour arduino à l'aide de 4 pcs LED.Étape 1: Sortie schématique Sheild LED pour arduino Ce schéma explique comment il conectod à la broc
3 x 3 x 3 LED Cube Arduino-UNO

3 x 3 x 3 LED Cube Arduino-UNO

Vous êtes intérêt pour faire votre propre 3 x 3 x 3 LED Cube???Êtes vous débutant n'est pas graveVous suivez les étapes correctes. Il est simple et facile.Laisse moi te montrer comment!!!Étape 1: Que vous faut-il1 x Arduino uno27 x LED (j'utilise 3 c
Matrice de LED simple Arduino 5 x 2

Matrice de LED simple Arduino 5 x 2

il s'agit de mon premier Arduino projet si patient avec moi.Cette une matrice de LED simple qui est géré par un Arduino Uno 3.Vous aurez besoin des éléments suivants :-10 LEDsCarte - Arduino-Breadbord-Fils de raccordement- Et quelques fils de noyaux
Parapluie de LED avec Arduino

Parapluie de LED avec Arduino

le parapluie de LED avec Arduino combine un parapluie, une matrice de LED 8 x 10 et un microcontrôleur Arduino pour créer un contrôlable, programmable a mené l'expérience dans l'intimité de votre propre parapluie. Ce projet a été inspiré par le parap
Matrice de LED avec Arduino

Matrice de LED avec Arduino

Hola, je suis Javier de Makespace Madrid. La semaine dernière nous avons organisé un meetup à jouer avec des matrices de LED et Arduinos. Cela faisait partie de "La noche de la electrónica con Jameco"Cette instructable est issue de l'atelier. Il
Commander une LED avec arduino et Wifly shield

Commander une LED avec arduino et Wifly shield

Pour démontrer comment vous pouvez contrôler les périphériques via wifi à l'aide du bouclier de wifly arduino, je vais passer sous et hors tension d'une LED en envoyant une requête http de mon navigateur web sur le wifly shield.Exigences :1. Arduino
Tableaux LED (aucun Arduino ; Working Progress)

Tableaux LED (aucun Arduino ; Working Progress)

mise à jour : nouveau plein Instructable pour ce périphérique est ici : matrice de LED Multi-FunctionCe n'est pas une pleine instructable. Je voulais juste partager le projet que j'espérais terminer bientôt. Je vais bientôt être ajout d'une vidéo et
Plusieurs Matrices de LED avec Arduino

Plusieurs Matrices de LED avec Arduino

Ce projet est issu d'un atelier que nous avons organisé à Makespace Madrid dans le cadre de "La noche de la electrónica con Jameco".  Dans un précédent instructable nous avons déjà introduit la gestion d'une unique matrice de LED avec Arduino. D
Spectre LED Audio Arduino

Spectre LED Audio Arduino

Il s'agit d'un guide à l'aide de Arduino Uno pour afficher la forme d'onde audio de votre musique en utilisant une matrice de LED (diode électroluminescente).Étape 1: Collecte vos matériauxIl s'agit d'une liste de tous les matériaux dont vous aurez b
Spectre LED musique Arduino

Spectre LED musique Arduino

Dans ce tutoriel je vais vous montrer comment faire du spectre LED avec arduino.Tout d'abord faire cette matrice de LED pour Arduino.Utilisez le Code sur ce Instructable ci-dessous et transférez-le sur arduino. (les fichiers fixx_ftt sont les bibliot
LWJM 3 x 3 x 3 led shield arduino cube

LWJM 3 x 3 x 3 led shield arduino cube

ce qui devrait être dans votre trousse :1 – PCB27 – LED2 à 6 broches pour Arduino2 – 8 broches pour Arduino3 – les résistances1 – Guide mousse1 – petit fil1 – fil moyen1 – grand filVous aurez besoin : fer, étain, pinces coupantes pour fil de soudure,