Horloge mère électronique avec Arduino.

J

JCS

Compagnon
Salut à tous,

Je me permets d'ouvrir une nouvelle discussion où l'on va tenter avec le plus grand nombre, j'espère, de réaliser une horloge
mère électronique pouvant piloter des réceptrices de type Brillié.

L'investissement ne devrait pas dépasser 40 € et la réalisation sera la plus simple possible afin de la rendre accessible à tout le monde.
Ce sera aussi une façon de découvrir le monde de l'Arduino.

Voici ce dont vous aurez besoin :

Un petit fer à souder.

Un logiciel qui vous permettra de téléverser (charger ) un sketch
( programme ) dans votre carte Arduino, c'est gratuit et c'est ici :

http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterInstallation

Vous pouvez déjà l'installer sur votre PC et le tester.

Du fil type téléphone, rigide, de différentes couleurs.
Un bloc secteur type chargeur de téléphone sortant du 6 à 12 V redressé.
1 LED rouge et 1 LED verte.
2 résistances de 470 ohms.
1 carte Arduino Uno.
1 bloc de câblage sans soudure.
1 mouvement de pendule à quartz.

Avec tout cela, on aura déjà de quoi s'occuper et tester le logiciel et le matériel.

Ensuite nous aurons besoin d'un shield (carte) pont en H qui va servir d'interface du puissance
entre l'Arduino et la réceptrice.

Je ne suis pas et de loin un spécialiste de l'Arduino ni de l'électronique, mais je suis néanmoins
capable de réaliser des petits montages qui fonctionne et et je souhaite partager. Le montage initial proposé paraîtra sûrement "rustique" pour les spécialistes.
Les conseils seront les bienvenus pour améliorer les choses en gardant à l'esprit que le but est d'apprendre et que l'objectif soit
réalisable par le plus grand nombre avec un minimum de connaissance et de matériel !

Il faut considérer cela comme une modeste initiation pour débutants.

3 à 0 pour la France ! C'est tout bon !

@+

JC.
 
Dernière édition par un modérateur:
P

pinou29

Compagnon
Bonjour.
Souhaitant m'initier à l'Arduino je vais suivre ce post avec intérêt.
Bernard.
 
J

jajalv

Administrateur
Bonjour,

Je vais suivre aussi, mais, archi-nul, je serai sûrement à la traîne !

Bon après-midi.

jajalv
 
P

pinou29

Compagnon
jajalv a dit:
Bonjour,

Je vais suivre aussi, mais, archi-nul, je serai sûrement à la traîne !

Bon après-midi.

jajalv
Bonjour.
Eh bien, on sera deux.
Je suis resté au langage dit "Basic" du ZX81, c'est dire.
Bernard.
 
J

jajalv

Administrateur
pinou29 a dit:
Je suis resté au langage dit "Basic" du ZX81, c'est dire.
Je n'ai même pas connu ça !
Mais je vais essayer de m'y atteler.

A+

jajalv
 
P

psemel

Ouvrier
bonjour JCS,

peux tu nous donner les caractéristiques et le fonctionnement de l'horloge .

Salutations
 
J

JCS

Compagnon
Salut à tous,

Merci à ceux qui sont intéressés par ce projet.
Ce sera une modeste initiation à L'Arduino avec pour objectif la réalisation d'une horloge mère capable de commander une réceptrice Brillié.

Pour répondre à Psemel, nous allons commencer par réaliser une base de temps très simple à partir d'un mouvement à quartz de pendule
de cuisine dont la précision est fort honorable pour ceux de bonne qualité. Environ 2 minutes de variation pour 6 mois.
Nous allons prélever sur ce mouvement un signal toutes les 2 secondes qui sera lu par un port analogique d'un Arduino Uno.
Un petit sketch (programme) va traiter le signal et envoyer, sur 2 sorties, un signal d'une durée d'environ 3 à 500 ms, de polarité inversée, toutes
les 30 secondes. Une interface, relais, shield ou pont en H va adapter le signal pour l'envoyer à la réceptrice.

Dès que j'ai un peu de temps, je fais un schéma de principe.

Nous allons commencer par faire quelques petites transformations barbares au mouvement à quartz pour le transformer en base de temps
horlogère de précision.

J'ai fait quelques photos, il me reste à les publier. Je vais essayer ce soir.

Je suis aussi débutant avec l'Arduino. Je maîtrise bien le Basic et ai débuté, dans les années 80 avec le ZX81 et le Commodore 64.
J'ai fait pas mal de choses avec le PIC 16F84, programmé à partir de Basic.
L'Arduino me paraît plus intéressant car pas besoin de se prendre la tête à faire des CI, du câblage etc... La carte est toute prête,
il n'y a qu'a la brancher, le logiciel est gratuit. Le seul problème est que le langage est du CC+ ou équivalant et qu'il faut réapprendre.
Mais c'est bon pour les neurones !

A bientôt.

JC.
 
P

pinou29

Compagnon
JCS a dit:
Je suis aussi débutant avec l'Arduino. Je maîtrise bien le Basic et ai débuté, dans les années 80 avec le ZX81 et le Commodore 64.
Le seul problème est que le langage est du CC+ ou équivalant et qu'il faut réapprendre.
Mais c'est bon pour les neurones !

A bientôt.

JC.
Bonjour.
On est au moins deux, je me sens moins seul.
Bernard.
 
P

pascal37270

Apprenti
Bonsoir, je vais suivre aussi, car je suis une bille!
merci

a plus
pascal
 
J

jajalv

Administrateur
Bonsoir,
pascal37270 a dit:
je vais suivre aussi
Eh ben moi aussi !
J'ai commandé la carte, et j'ai pris une "Uno", mais elle est encore loin (du côté de Taiwan) et même livrée en express, il faut quatre ou cinq jours
Si j'étais bon, j'aurais pris une deuxio ou une troisio, mais j'ai vu qu'il n'y en avait pas :axe:
Je commence à m'équiper et continuerai au fur et à mesure.

Merci à JCS

Bonne soirée à tous.

jajalv
 
K

kitos

Ouvrier
bonsoir, je vais suivre ton sujet, l'idée est très sympa
 
P

pinou29

Compagnon
jajalv a dit:
Bonsoir,
pascal37270 a dit:
je vais suivre aussi
Eh ben moi aussi !
J'ai commandé la carte, et j'ai pris une "Uno", mais elle est encore loin (du côté de Taiwan) et même livrée en express, il faut quatre ou cinq jours

jajalv
Bonjour.
Tu l'as achetée sur la bay , je n'ai rien trouvé de ce côté du globe à moins de 3 semaines minimum ?
Merci.
Bernard.
 
J

jajalv

Administrateur
Bonsoir,
pinou29 a dit:
Tu l'as achetée sur la bay , je n'ai rien trouvé de ce côté du globe à moins de 3 semaines minimum ?
Sur le lien déjà précité.
Livraison gratuite 3 semaines environ.
Si tu rajoutes 3,76€: livraison express 3 à 5 jours ouvrés.
Éventuellement: assurance: 0,91€

Bonne soirée.

jajalv
 
P

pinou29

Compagnon
Bonjour.
J'ai vu ce lien sur ce sujet: https://www.usinages.com/threads/demarrer-avec-arduino-quel-kit.67093/ et le problème avec cet envoi c'est que beaucoup on payé des frais de douane, certains presque 24 euros:
"kit complet pour bien débuter en Arduino.
livraison nickel reçu en 5 jours (livraison express).
23,80 € de frais de douane :/ (j'habite dans le sud-ouest de la France)."
d'où ma question ici le 21 juin à 6.44pm:
https://www.usinages.com/threads/demarrer-avec-arduino-quel-kit.67093/
Bernard.
 
Dernière édition par un modérateur:
S

sachem35

Apprenti
Bonsoir tous,

Bille mois aussi, je veux bien rouler avec vous. On joue ? :-D

Mais si je n'ai pas de "Brillié", comment jouer ? :?:

Merci de ce sujet pour nous pauvres billés !

Bien cordialement,
sachem35
 
J

jajalv

Administrateur
Bonjour,
pinou29 a dit:
le problème avec cet envoi c'est que beaucoup ont payé des frais de douane, certains presque 24 euros
A ce jour, je n'ai jamais été taxé sur aucun de mes colis.
Suis-je passé au travers ?

Bonne journée.

jajalv
 
J

JCS

Compagnon
Merci à Jms pour la correction C++.

Ici un fournisseur français rapide et à des prix raisonables

http://boutique.semageek.com/fr/

Il y a aussi beaucoup d'infos et un forum sur l'Arduino.

J'achète souvent, via le Net, à l'étranger et je n'ai payé qu'une seule fois des taxes.

Sachem35,
Nul n'est besoin d'avoir une réceptrice Brillié pour « jouer » .

J'ai préparé quelques photos, mais je suis dans ma maison de campagne et le débit
Internet est faible avec le Domino d'Orange.
Je posterai ce soir ou demain.

Dans ma liste de matériel, j'ai oublié la plaque de connexions sans soudures ,
traduit souvent sur les sites asiatiques par planche à pain :

http://boutique.semageek.com/fr/168-mini-breadboard-platine-d-essais-170-contacts-vert.html

@+

JC
 
J

JCS

Compagnon
Voici comment transformer un mouvement de pendule de cuisine à quartz en base de temps de précision.
Cette manip est destinée au plus grand nombre et va être un peu "brutale" :

mvt1.jpg


Un bon coup de cutter dans la bobine pour la neutraliser, un coup de pince coupante pour sectionner
l'ensemble "canon, chaussée, tigeron de seconde" , soudure d'un fil sur une borne de la bobine (le jaune) et un autre sur le - de la pile.

Si vous avez un oscilloscope, vous constaterez que la tension aux bout des 2 fils est d'environ 1,5 V et que toutes les 2 secondes elle descend à 0 volt pendant environ 30 ms.

Ici la manip terminée :
.
bt.jpg


Il faudra ensuite relier le fil bleu à la masse et le jaune au pin A0.

Ici un petit sketck pour tester tout ça :

const int S1 = 13; // declaration de la sortie 13 que l'on nomme S1
                     // comme Sortie 1
const int top = A0; // declaration de l'entree A0 sur laquelle on va
                     // connecter le fil jaune de notre super base de temps
int val = 0; // déclaration d'une variable val qui va contenir
                     // la tension de notre base de temps de facon a
                     // detecter le point 0 toutes les 2 secondes.
byte compt = 0; // declaration d'une variable compteur de 0 à 255

void setup()
{
  pinMode (S1,OUTPUT);
  pinMode (top,INPUT);
  Serial.begin(9600); // Declaration sortie moniteur
}
  
void loop() // coeur du programme

   val = map (analogRead(top),0,1023,0,50); // mesure l'etat de val et converti
                                             // en 1/10 volt
   if (val < 10) // si val < 1 volt
   {
      digitalWrite(S1, HIGH); // mettre S1 à + 5 V // mettre la sortie S1 à 1
      delay (200); // attendre 300 ms // pendant 0,3 seconde
      digitalWrite(S1, LOW); // mettre S1 à + 5 V // mettre la sortie S1 à 0
   Serial.print("compteur "); //envoyer "compteur " sur le moniteur
   Serial.println(compt); // envoyer la valeur du compteur sur le moniteur
      compt ++;                                       // incrementer le compteur de 1
   }
}


Tout ce qui suit 2 signes "/" n'est pas du code mais du commentaire.

Il suffit de téléverser ce sketck dans l'Arduino après avoir simplement fait un copier-coller et de cliquer en haut à droite de l'IDE pour afficher le moniteur et, normalement, on voit sur le moniteur s'incrémenter la valeur du compteur toutes les 2 secondes, qui va de 0 à 255, contenance de byte.
La LED rouge, sur votre carte Arduino qui est associée à la sortie 13 va clignoter chaque fois que le signal de la base de temps va passer à 0.

Si vous parvenez à cette étape, vous êtes géniaux car vous avez réussi à faire une base de temps de précision et vous avez réussi à téléverser votre premier programme dans un Arduino !

Si non, c'est qu'il y a un truc qui pas bien marche et on en parle...

@+
JC.
 
J

jajalv

Administrateur
Merci JC pour ton aide.

Plutôt que démonter une pendule, peut-on, prendre un mouvement de base neuf ?
J'en ai une paire qui trainent encore dans l'emballage.
Si oui, je vais partir à leur recherche.

A+

jajalv
 
J

JCS

Compagnon
Salut Jajalv,

Tu fais comme bon te semble, l'essentiel est que la partie électronique du mouvement soit fonctionnelle.
Pour des raisons d'économie et de recyclage, on peut donc sans problème récupérer un mouvement HS,
car c'est généralement la partie mécanique qui pose problème.

En ce qui me concerne, pour cette démo, j'ai sacrifié un mouvement neuf que j'achète au prix de gros.

Il est bon de savoir que le signal généré est d'une très faible intensité, insuffisante pour allumer une LED.

Pour les débutants, il y a un excellent bouquin de Massimo Banzi, un des créateurs de l'Arduino :
Démarrez avec Arduino principes de base et premiers montages chez ETSF.
Il doit coûter une quinzaine d'€.

@+

JC
 
T

tranquille

Compagnon
un coup de pince coupante pour sectionner
l'ensemble "canon, chaussée, tigeron de seconde"

Tu pourrais développer un chouia ?
Merci
 
J

JCS

Compagnon
Salut Tranquille,

Il s'agit s'agit en fait de couper la partie saillante, de l'autre côté de la photo,
là ou l'on fixe les aiguilles. Ce n'est pas indispensable, mais cela permet au boîtier de pouvoir être posé à plat
tout simplement.
En quelque sorte, on lui supprime sa virilité...

La partie blanche coupée est en bas à gauche de la photo :

mvt1.jpg


Petite précision qui va sans dire, il faut que le mouvement soit alimenté par une pile en bon état.
Comme la bobine a été neutralisée, la consommation va être très faible et la pile va surement durer plusieurs
années, à moins que l'Arduino lui pompe de l'énergie, mais cela m'étonnerait fort.

@+

JC.
 
T

tranquille

Compagnon
OK
Je me demandais à qui était cette zigounette
Merci
 
J

JCS

Compagnon
Voila à quoi ressemble le signal à la sortie de notre super base de temps de précision :

signal.jpg


Ici un autre modèle de mouvement ;

mvt2.jpg


Les puristes minutieux pourront extraire le circuit électronique très petit.
Il faudra trouver une alimentation la plus stabilisée possible en prenant l'alimentation
sur l'Arduino.


@+

JC
 
P

psemel

Ouvrier
bonsoir,
autre variante possible
void loop() // ceci est la boucle principale
{
int sensorValue = analogRead(A0); // raccordement de la tension de la sortie de l'horloge sur le pin A0
float voltage = sensorValue * (1,5 / 1023.0); // convertie la tension de 1,5 volts/1024

if (voltage >0 && voltage <1,0) { // par exemple si tension entre 0 et 1 volt
// commande de la carte de puissance
delay(2000); // délais pour commander l'horloge secondaire dans le cas ou elle est commandée toute les 2 secondes?
digitalWrite (XXXXXXXX,HIGH);// XXXXX pin a assigner mettre à +5volts
//delay (200 ) = 200 ms et non pas 300 pourquoi? (cela retarde l'envoi d'un signal vers l'horloge esclave)
digitalWrite (XXXXXXXX,LOW);// XXXXX pin a assigner mettre à 0 volts
//etc
}
}

si tu peu nous mettre les caractéristiques de l'horloge de réception et les pins de la carte de puissance.
Voir aussi la commande millis (compteur de millième de seconde depuis le démarrage de la la carte) à vérifier que cela correspond bien a l'heure sur une longue période ce qui permettrait ce passer de carte de recup d'une horloge.
 
K

kitos

Ouvrier
bsr, je crains que si on commence sur les variantes ceux qui démarrent aient du mal à suivre ... :rolleyes:
 
J

JCS

Compagnon
Salut Psemel,

Le sketch proposé est destiné aux débutants. C'est un premier sketch très simple qui permet à celui qui le souhaite de découvrir l'Arduino
en suivant ce modeste tuto de tester si la base de temps fonctionne bien et de se familiariser avec l'Arduino.

Il y en aura d'autres, cela va évoluer, pour arriver au final à avoir une impulsion inversée d'une durée de 300 ms, toutes les 30 secondes.

Ce que je te propose, à l'avenir, c'est de publier des sketchs complets directement "téléversables" sur l'Arduino afin de pouvoir les tester.

Je partage l'avis de Kitos.

@+

JC.
 
P

pinou29

Compagnon
JCS a dit:
Il faudra trouver une alimentation la plus stabilisée possible en prenant l'alimentation
sur l'Arduino.
@+
JC
Bonjour.
Je ne comprend pas trop, quelle différence entre la pile qui est montée dans l'horloge et qui a forcément une dérive de tension dans le temps et la nécessité de trouver une alimentation "la plus stabilité possible " ?
Bernard.
 
T

tronix

Compagnon
Alors là, chapeau ! C'est une méthode un peu "barbare" (et un horloger qui ne respecte pas un mouvement d'horlogerie :-D ) mais qui a le mérite de fonctionner et d'être accessible à tous, sans chercher de composants particuliers, ce qui n'est pas toujours possible. Bon, évidemment, je serais tenté de démonter le circuit imprimé pour ne pas trainer tous les trucs inutiles (pignons et bobine) ni devoir faire du massacre à la pince et au cutter. Mais il y a la pile et son support, sans lui, il faudrait alimenter la carte autrement en 1V5, cela devient alors plus compliqué et on ne sait plus où il faut s'arrêter. Donc, le bon choix pour débuter est bien de tout garder, le but premier étant la simplicité et l'efficacité.
L'Arduino a l'avantage de fournir énormément de code exemple, ainsi que les cartes diverses et variées qui vont avec. Pour l'amateur, c'est un très bon système.
De mon côté, je n'aurai pas trop le temps les prochains jours, mais j'ai découvert (voir dernière édition de mon dernier post) des composants intéressants : oscillateur 32768 très stable et mieux RTC intégrée avec oscillateur stable à interfacer en I2C. Intéressant aussi en Arduino.
L'électronique est un terrain de jeu fantastique pour qui est un peu créatif et curieux. Bonnes bricoles !

Pour ceux qui seraient quand-même tentés d'alimenter l'horloge par l'Arduino, et vue la très faible consommation, le plus simple serait de mettre 2 diodes (genre 1N4148) en série avec une résistance de 10k (au pif) sur le 5V, et d'alimenter l'horloge en se prenant aux bornes des diodes, on aura alors environ 1V3. La consommation étant très faible, surtout qu'il n'y a pas d'appel de courant sans la bobine, cela doit fonctionner sans problème. Un condensateur de 100nF (au pif encore, ne pas croire que tout est calculé longuement dans un schéma...) au bornes de cette alimentation improvisée évitera tout problème. On constate souvent un fonctionnement impeccable des horloges avec 1V voire moins, les oscillateurs utilisés ne doivent pas être influencés par la tension d'alimentation, c'est quand-même le minimum qu'on leur demande. A tester, comme toujours...
 

Sujets similaires

osiver
Réponses
14
Affichages
36 096
osiver
osiver
R
Réponses
20
Affichages
1 441
Hubert86
H
SuperSpinach
Réponses
47
Affichages
3 307
SuperSpinach
SuperSpinach
R
Réponses
55
Affichages
53 062
jacounet
jacounet
A
Réponses
3
Affichages
1 620
titi t16
titi t16
DA l'Auvergnat
Réponses
102
Affichages
12 494
DA l'Auvergnat
DA l'Auvergnat
J
Réponses
265
Affichages
14 358
FLCV71
F
Andoche
Réponses
150
Affichages
23 854
speedjf37
S
S
Réponses
11
Affichages
14 511
midodiy
midodiy
S
Réponses
29
Affichages
2 041
sergio26
S
Haut