Crazymakers

Faites-le vous même!

Chinese (Simplified)EnglishFrenchGermanItalianRussianSpanish
SOUTENEZ-NOUS!
Déjà 28 personnes nous ont soutenu.
Nous vous en sommes très reconnaissants.
69.733333333333 %
RETROUVEZ NOUS SUR:
  • Youtube
  • facebook
  • Instagram
  • Twitter
Logo CrazyMakers

Horloge RVB design pour moins de 10€

Réalisez une magnifique horloge RVB très design à l'aide d"un arduino pro mini, d'un RTC clock et de quelques mètres de filament 3D. Plus de renseignements sur la page du projet: http://www.crazy...




La culture maker (de l'anglais make, lit. faiseur) est une culture (ou sous-culture) contemporaine constituant une branche de la culture Do it yourself (DIY) (qu'on peut traduire en français par « faites-le vous-même »).          (Source: Wikipedia)
les "Crazy Makers" sont les plus fous et les plus passionnés des makers...

Catégorie

Arduino

Niveau de difficulté

temps nécessaire


Horloge RVB design pour moins de 10€



Réalisez une magnifique horloge RVB très design à l'aide d"un arduino pro mini, d'un RTC clock et de quelques mètres de filament 3D.

Plus de renseignements sur la page du projet:
http://www.crazymakers.fr/videos-youtube/horloge_rvb_design_pour_moins_de_1ae-art-OxHgl5IvX5E.html

➕ INFORMATIONS: ➕
⁉️ Catégorie: Arduino.
⏰ Temps: 5h.
💪 Difficulté: 6/10.

⭐️ COMMENT NOUS AIDER ? ⭐️
🚨Un petit geste sur Utip: https://www.utip.io/myprofile
❤️️ Soutenez-nous: http://www.crazymakers.fr/don-crazymakers.html
👍 Pensez à "liker" la vidéo.
🔗 Partagez nos vidéos et parlez de nous autour de vous

📡 NOUS SUIVRE OU NOUS CONTACTER: 📡
🔹Site Internet: http://www.crazymakers.fr
🔹Facebook: https://www.facebook.com/CrazyMakers/
🔹Twitter: https://twitter.com/CrazymakersF
🔹Instagram: https://www.instagram.com/crazymakers_fr/
🔹Chaine Youtube: https://www.youtube.com/c/CrazyMakersFr

#horlogervb #rvbclock #ws2812



Le Circuit:

Un circuit extrêmement simple utilisant un module RTC DS1302, un arduino pro mini, une résistance 4,7 Kohms, une photorésistance, 4 micro switch et 42 modules leds RVB Diam. 10mm Noirs

Téléchargement:

Voici l'archive contenant les fichiers à imprimer, le fichier fritzing pour le raccordement et le programme.
Fichiers

Le Programme:


// Importation bibliothèques
#include ‹virtuabotixRTC.h›
#include ‹Time.h›
#include ‹Wire.h›
#include ‹EEPROM.h›



/*Définition Pinout du RTC DS1302 + Création du RTC
SCLK (Clock) -> 6, I/O (Data) -> 7, CE (reset) -> 8*/
virtuabotixRTC myRTC(6, 7, 8);

// Configuration FAST LED
#include "FastLED.h"
#define NOMBRE_LEDS_TOTAL 45 // Nombre de leds total
#define RTC_DATA_PIN 3 // Pin utilisée pour les données.
CRGB leds[NOMBRE_LEDS_TOTAL]; // Définition du tableau de couleurs RGB pour les LEDS.
byte SEGMENTS[10][7] = {{1,1,1,1,1,1,0}, // Digit 0
{0,1,1,0,0,0,0}, // Digit 1
{1,1,0,1,1,0,1}, // Digit 2
{1,1,1,1,0,0,1}, // Digit 3
{0,1,1,0,0,1,1}, // Digit 4
{1,0,1,1,0,1,1}, // Digit 5
{1,0,1,1,1,1,1}, // Digit 6
{1,1,1,0,0,0,0}, // Digit 7
{1,1,1,1,1,1,1}, // Digit 8
{1,1,1,1,0,1,1}}; // Digit 9

//Variables pour le choix de couleurs
uint32_t liste_couleurs[]={0x0000FF,0x00FF00,0xFF0000,0xFFCC00,0xFF6600,0x0099FF,0xFF0099};
int nombre_couleurs=7;
//Chargement de la derniére couleur sélectionnée.
int Num_Color=EEPROM.read(1);

//Variable pour horloge ou date
int MODE_AFFICHAGE=0; //0 horloge, 1 date
long delai_attente;

unsigned long ledColor; // Color used (in hex)

void setup(){
FastLED.addLeds(leds, NOMBRE_LEDS_TOTAL); // Initialisation de la librairie FastLED

pinMode(5, INPUT_PULLUP); // BOUTON 1
pinMode(4, INPUT_PULLUP); // BOUTON 2
pinMode(11, INPUT_PULLUP); // BOUTON 3 HAUT
pinMode(10, INPUT_PULLUP); // BOUTON 3 BAS

}

void Luminosite_Auto()
{FastLED.setBrightness(map (analogRead(A3),10,1024,255,50));}

void RemplirArray(){
int cursor;
String minutes;
String heures;
String secondes;
long Now;

FastLED.clear();
ledColor = liste_couleurs[Num_Color];

if (MODE_AFFICHAGE==0) {

// ---------------------------- Récupération de l'heure du RTC et formatage ----------------------------
myRTC.updateTime(); //Lecture de l'heure sur le RTC

heures=String(myRTC.hours); minutes=String(myRTC.minutes); secondes=String(myRTC.seconds);
if (heures.length()==1){heures="0"+heures;} //Formatage de l'heure
if (minutes.length()==1){minutes="0"+minutes;} //Formatage des minutes
if (secondes.length()==1){secondes="0"+secondes;} //Formatage des secondes
Now=secondes.toInt()+minutes.toInt()*100+heures.toInt()*10000; //Création de l'heure brute en INT pour envoi sur Ruban
// ------------------------- Fin récupération de l'heure du RTC et formatage --------------------------
}
else
{
// ------------------------------- Récupération de la date et formatage -------------------------------
myRTC.updateTime(); //Lecture de la date sur le RTC
String heures=String(myRTC.hours); String minutes=String(myRTC.minutes); String secondes=String(myRTC.seconds); //Récupération de l'heure sur le RTC
String jour= String(myRTC.dayofmonth); String mois=String(myRTC.month); String annee=String(myRTC.year-2000);
if (jour.length()==1){jour="0"+jour;}
if (mois.length()==1){mois="0"+mois;} //Formatage des minutes
if (annee.length()==1){annee="0"+annee;} //Formatage des secondes
Now=annee.toInt()+mois.toInt()*100+jour.toInt()*10000; //Création de l'heure brute en INT pour envoi sur Ruban
// ----------------------------- Fin Récupération de la date et formatage -----------------------------

}

leds[14]=ledColor;
leds[15]=ledColor;
leds[30]=ledColor;

for(int i=1;i<=6;i++){
int Position_Chiffres[]={38,31,23,16,7,0}; //Position des différents chiffre sur la chaine de leds
int digit = Now % 10; // Récupération du dernier caractére de l'heure
cursor=Position_Chiffres[i-1]; //Positionnement du curseur sur la position du chiffre
for(int k=0; k<=6;k++){ //Remplissage du chiffre avec les valeurs des LEDS.
if (SEGMENTS[digit][k]== 1){leds[cursor]=ledColor;} else if (SEGMENTS[digit][k]==0){leds[cursor]=0x000000;}; //Remplissage des segments avec 0 ou couleur.
cursor ++;
};
Now /= 10; // Suppression du dernier caractére de l'heure Affiché
};
};

void Reglage() {
int button1 = digitalRead(5); // BOUTON 1
int button2 = digitalRead(4); // BOUTON 2
int button3 = digitalRead(11); // BOUTON 3 HAUT
int button4 = digitalRead(10); // BOUTON 3 BAS
int jour= myRTC.dayofmonth;
int mois=myRTC.month;
int annee=myRTC.year;
if (button1 == LOW || button2 == LOW|| button3==LOW || button4==LOW) {
delay(500);
myRTC.updateTime();


int hours = myRTC.hours;
int minutes = myRTC.minutes;
int seconds = myRTC.seconds;

if (button1 == LOW && button4==HIGH && MODE_AFFICHAGE==0) {if (hours == 23) {hours = 0;} else {hours += 1;}}
if (button1 == LOW && button4==LOW && MODE_AFFICHAGE==0) {if (hours == 0) {hours = 23;} else {hours -= 1;}}
if (button2 == LOW && button4==HIGH && MODE_AFFICHAGE==0) {if (minutes == 59) {minutes = 0;} else {minutes += 1;}}
if (button2 == LOW && button4==LOW && MODE_AFFICHAGE==0) {if (minutes == 0) {minutes = 59;} else {minutes -= 1;}}

if (button1 == LOW && button4==HIGH && MODE_AFFICHAGE==1) {if (jour == 31) {jour = 0;} else {jour += 1;}delai_attente=millis();}
if (button1 == LOW && button4==LOW && MODE_AFFICHAGE==1) {if (jour == 0) {jour = 31;} else {jour -= 1;}delai_attente=millis();}
if (button2 == LOW && button4==HIGH && MODE_AFFICHAGE==1) {if (mois == 12) {mois = 0;} else {mois += 1;}delai_attente=millis();}
if (button2 == LOW && button4==LOW && MODE_AFFICHAGE==1) {if (mois == 0) {mois = 12;} else {mois -= 1;}delai_attente=millis();}

if (button3 == LOW && button4==HIGH && MODE_AFFICHAGE==1) {annee += 1;MODE_AFFICHAGE=1;delai_attente=millis();}
if (button3 == LOW && button4==LOW && MODE_AFFICHAGE==1) {annee -= 1;MODE_AFFICHAGE=1;delai_attente=millis();}

if (button3 == LOW && MODE_AFFICHAGE==0) {MODE_AFFICHAGE=1;delai_attente=millis();}
if (button4 == LOW && MODE_AFFICHAGE==0 && button1==HIGH && button2==HIGH && button3==HIGH) {Num_Color+=1;if(Num_Color>=nombre_couleurs){Num_Color=0;}; EEPROM.write(1,Num_Color);}

myRTC.setDS1302Time(seconds, minutes, hours, 0, jour, mois, annee);
}
}

void loop() // Main loop
{
Reglage(); // Check to se if time is geting modified
RemplirArray(); // Get leds array with required configuration}
Luminosite_Auto();
FastLED.show(); // Display leds array
if (millis()>delai_attente+5000){MODE_AFFICHAGE=0;}
}



Commentaires déposés sur Youtube

Voir les commentaires du site

### Déposer un commentaire ###



Par: @emmanuelbourgeois6863 le 2022-03-08T12:23:54Z
bonjour
je vient d'imprimer les pieces et souder les leds
il me reste plus qu'a compiler le programe
MAIS
je ne trouve pas les bibliotheque
merci a ceux qui pourront m'aider
PS:superb projet

Par: @slmusic3610 le 2022-01-10T17:47:32Z
Can Sir rtc ds3231 be used?

Par: @joelzender le 2021-10-24T18:53:00Z
Bonjour, comme déjà demander d'après ce que j'ai vu, mais il n'y avait pas de réponse, c'est pour l'alimentation 5 V ou faut-il la placer sur le circuit ? Afin de ne pas endommager le mini, merci de votre retour si possible. Autrement chouette montage bravo.

Par: @Roro-iw6uv le 2021-10-19T05:59:11Z
bonjour pourriez vous me dire ou vous branchez l alimentation et quelle voltage

Par: @ducatezserge2839 le 2021-02-11T04:08:33Z
Superbe, bravo ;)

Par: @larmentiais1 le 2020-12-07T15:18:33Z
Bravo, belle réalisation.
Peut-être un projet d'écran avec ces leds ?

Par: @jean-michelsoret3965 le 2019-12-30T15:07:07Z
Super boulot. Je vais tenter de reproduire. Dans le zip, il n'y a pas le stl du cache. Ou puis-je le trouver ?
Merci d'avance

Par: @olivierd2224 le 2019-03-11T11:51:49Z
Bonjour,
Merci pour le tuto👍
Premier projet arduino pour moi
Je viens de télécharger les fichiers et commencer à imprimé les différents éléments
Le .stl pour le couvercle n'est pas présent dans le dossier,dommage 😕
L' autre petit problème vous expliqué qu'il faut alimenté les led sans passé par l'arduino,
Auriez vous un lien de schéma pour comprendre comment faire?
J'ai fait une demande d'adhésion à votre groupe sur Facebook il y a déjà un moment mais n'a toujours pas été validé 😭
D'avance merci😃
Un grand fan de votre chaîne 👍

Par: @onclefly8450 le 2018-11-16T19:49:58Z
Salut l'ami, top ton horloge a fabriquer soi même en ^lus pas un soir froid en hiver, j'adore. Mélange d'impression 3D, électrique, informatique programmation, montage, il y a de tout, chapeau. 😉

Par: @ducatezserge2839 le 2018-11-13T02:34:52Z
Super, j'adore. Bravo.

Par: @BourbonDrone le 2018-11-10T10:20:52Z
Super boulot :)
Je ne connaissais pas ces Leds adressable en série. Hop un tour chez ALI et c'est dans le panier.

Par: @caape62 le 2018-11-05T19:25:32Z
Bonjour. Super résultat.
Où as tu acheté ton ruban led? Et a combien?
J'ai l'impression que ça revient plus cher que 10€ avec les LE Ds et PLA. Enfin j'aurais imaginé plus.
Continu comme ça
Bye

Par: @fabricemotard4312 le 2018-11-05T08:17:38Z
Génial bravo je compte bien l'a réalisé des que j'aurai installer mon imprimante 3d vraiment du beau travail !! 👏👏👍

Par: @fabricemotard4312 le 2018-11-05T08:17:29Z
Génial bravo je compte bien l'a réalisé des que j'aurai installer mon imprimante 3d vraiment du beau travail !! 👏👏👍

Par: @vulbas le 2018-11-04T17:44:39Z
tres sympa ça. par contre est ce qu'on ne voit pas trop que ce n'est qu'une led par cabochon qui eclaire ? est ce bien diffus comme eclairage ? sur la video on vois clairement le point de la led mais en vrai ce n'est peu etre pas pareil....

Par: @Fondation3 le 2018-11-03T22:21:44Z
Merci pour ce tuto.
Tu l'évoques dans la vidéo, l'horloge du module RTC se décale avec le temps. J'ai entendu parler de 'quelques' secondes chaque jour. Mais ce quelques est un peu vide de sens (entre 2 secondes et 50 secondes par jour, il y a un monde). D'après ce que tu observes sur ton horloge, le décalage que tu constates est de combien ?
Si ce décalage est réel, je me demande aussi si il n'existe pas des modules RTC plus précis (car c'est quand même son boulot de nous donner l'heure, et pas le notre)... Ca serait quand même dommage de devoir récupérer l'heure sur un module GPS pour avoir une valeur qui ne se dérègle pas. Je me demande d'ailleurs sur quoi les horloges "Radio Controlled" se calent (peut être y'a t'il moyen de s'en inspirer).

Par: @michelbre7784 le 2018-11-03T18:23:04Z
Un portage sur wemos serait idéal avec interrogation d'une sonde température extérieure se serait le top et WAF

Par: @lmdm57 le 2018-11-03T17:16:02Z
super travail... une idée à lancer si un jour il y a une v2 et d'ajouter une appli bluetooth pour régler aussi depuis son tel.

Par: @kikosricos le 2018-11-03T15:21:13Z
Superbe horloge, moi j'adore .Ça mélange le dessin 3d, l'électronique et la programmation, enfin tout ce que j'aime.
Bravo.

Par: @Sebasuchan-IDF le 2018-11-03T14:34:22Z
Effectivement, une bien sublime horloge.
J’espère que les changements perso sont positifs.
Merci pour le partage.



Crazymakers le 2019-12-15 06:56:41
Selon le modèles, deux pattes sont connectées ensemble.

jmarie le 2019-12-14 18:37:17
bonsoir excuse je me pose une question les poussoirs sont des 2 coté normalement ouvert ou d un coté normalement ouvert et l autre fermer
car mon probleme est que mes led ne font que clignoté

Crazymakers le 2019-12-14 10:17:03
Cela fonctionnera tout autant, pas de soucis...
Il faut bien brancher sur les pins correspondants du programme. Cdlt.

jmarie le 2019-12-13 23:09:28
bonjour je voudrais reproduire l horloge mais avec un arduino nano et ma question est le programme est le même ou il change je suis un peux perdu avec les pin merci d'avance


Commentaires par Page
5 - 10 - 20

Vos commentaires seront lus par d'autres visiteurs et seront affichés en page d'accueil.
Merci de bien vouloir soigner la rédaction de vos messages.



Attention, suite aux nombreux spams et messages anonymes, en postant un commentaire,
comme sur un forum,votre ip:54.82.44.149 sera stockée sur notre base de données.
En postant un commentaire, vous recevrez un message à chaque fois qu'un utilisateur y répondra.