Aller au contenu


Photo
- - - - -

Problème horloge binaire...


6 réponses à ce sujet

#1 mathieuvelo

mathieuvelo

    Membre

  • Membres
  • 55 messages

Posté 17 mars 2010 - 01:46

Bonjour,



Afin d'expérimenter ma dernière acquisition, j'ai décidé de me lancer sur un projet d'horloge binaire avec des leds.

Le principe c'est qu'il y a 13 leds :

4 vertes (pour les 4 bits de l'heure)

6 jaunes (pour les minutes)

3 rouges (pour les secondes et par défaut comme le arduino n'a pas plus de sortie. Les deux première les servent donc à déterminer si on est dans les 30 premières ou les 30 dernières seconde de la minute. Enfin la dernière led clignote toutes les secondes...)



J'ai donc relié chaque pin de l'arduino à une résistance de 220 ohms suivit d'une led. Enfin, j'ai relié toutes les bornes (-) des leds au Ground.



Le problème, c'est que seul la partie seconde semble fonctionner... En effet toutes les autres leds semble rester éteinte... o0



Voici le code que j'ai récupéré sur le net si ça peux vous aider :




int minute=57;

int heure=3;

int reste_heure,reste_minute;



void setup()

{

pinMode(1,OUTPUT); //Heure1

pinMode(2,OUTPUT); //Heure2

pinMode(3,OUTPUT); //Heure4

pinMode(4,OUTPUT); //Heure8

pinMode(5,OUTPUT); //Minute1

pinMode(6,OUTPUT); //Minute2

pinMode(7,OUTPUT); //Minute4

pinMode(8,OUTPUT); //Minute8

pinMode(9,OUTPUT); //Minute16

pinMode(10,OUTPUT); //Minute32

pinMode(11,OUTPUT); //Secondes0

pinMode(12,OUTPUT); //Secondes30

pinMode(13,OUTPUT); //SecondesBip

}



void loop() {

static unsigned long lastTick = 0;



if (millis() - lastTick >= 1000) {

lastTick = millis();

second++;}



// move forward one minute every 60 seconds

if (second >= 60) {

minute++;

second = 0; // reset seconds to zero

}



// move forward one hour every 60 minutes

if (minute >=60) {

heure++;

minute = 0; // reset minutes to zero

}



if (heure >=12) {

heure=0;

minute = 0; // reset minutes to zero

}



if(second<30) {digitalWrite(11,HIGH);digitalWrite(12,LOW);} else {digitalWrite(11,LOW);digitalWrite(12,HIGH);}

if(second%2>0){digitalWrite(13,HIGH);} else {digitalWrite(13,LOW);}



//calcul des heures

if((heure/8)>=1) {digitalWrite(1,HIGH);reste_heure=heure%8;} else {digitalWrite(1,LOW);reste_heure=heure;}

if((reste_heure/4)>=1) {digitalWrite(2,HIGH);reste_heure=reste_heure%4;} else {digitalWrite(2,LOW);}

if((reste_heure/2)>=1) {digitalWrite(3,HIGH);reste_heure=reste_heure%2;} else {digitalWrite(3,LOW);}

if((reste_heure/1)>=1) {digitalWrite(4,HIGH);reste_heure=reste_heure%1;} else {digitalWrite(4,LOW);}



//calcul des minutes

if((minute/32)>=1) {digitalWrite(5,HIGH);reste_minute=minute%32;} else {digitalWrite(5,LOW);reste_minute=minute;}

if((reste_minute/16)>=1) {digitalWrite(6,HIGH);reste_minute=reste_minute%16;} else {digitalWrite(6,LOW);}

if((reste_minute/8)>=1) {digitalWrite(7,HIGH);reste_minute=reste_minute%8;} else {digitalWrite(7,LOW);}

if((reste_minute/4)>=1) {digitalWrite(8,HIGH);reste_minute=reste_minute%4;} else {digitalWrite(8,LOW);}

if((reste_minute/2)>=1) {digitalWrite(9,HIGH);reste_minute=reste_minute%2;} else {digitalWrite(9,LOW);}

if((reste_minute/1)>=1) {digitalWrite(10,HIGH);reste_minute=reste_minute%1;} else {digitalWrite(10,LOW);}



}[/code]



Et voici le petit "shéma de cablage" : ici



Merci d'avance pour votre aide



#2 frank9321

frank9321

    Membre occasionnel

  • Membres
  • Pip
  • 133 messages

Posté 17 mars 2010 - 08:15

As-tu essayé de mettre toutes tes sorties à 1 pour voir si ca ne vient pas d'une erreur de branchement ?
Sinon, tu peux toujours voir le code de mon horloge binaire en cours de réalisation, ca peut toujours aider pour la progr:
http://wiki.villaro-dixon.eu/doku.php?id=horloge_binaire

#3 zeqL

zeqL

    Membre passionné

  • Membres
  • PipPipPip
  • 393 messages
  • Gender:Male

Posté 18 mars 2010 - 11:45

Comment as-tu relier les masses de ton arduino, vis-à-vis des leds et aussi par rapport à l'alim ?

Car il faut faire attention car si tu as relier la masse de tes leds à celle de l'alim, essaie de les reliers à celle de l'arduino et vice versa. :)

#4 mathieuvelo

mathieuvelo

    Membre

  • Membres
  • 55 messages

Posté 19 mars 2010 - 07:34

J'ai pas vraiment d'alim, enfin je veux dire par la que j'alimente l'arduino directement avec mon PC.

Par contre, j'ai fait une petite vidéo (dsl pour la qualité) au cas ou ça pourrais vous aidez a cerner le problème j'ai essayer de prendre plusieurs angles pour vous permettre de bien voir le câblage... La voilà



Wahoo, je viens de voir un truc chelou : quand je retourne une seul led dans le lot des vertes et jaunes, d'autre de ces couleur ce mette a briller (mais de façon très faible...)

Du coup j'ai essayer de retourner toutes les dels mais ça ne marche pas x)

#5 mathieuvelo

mathieuvelo

    Membre

  • Membres
  • 55 messages

Posté 20 mars 2010 - 12:41

Personne pour m'aider ?

#6 zeqL

zeqL

    Membre passionné

  • Membres
  • PipPipPip
  • 393 messages
  • Gender:Male

Posté 20 mars 2010 - 02:13

Revérifie tous tes branchements et sens de branchement des diodes et autres composants polarisés.

#7 tyto

tyto

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 29 juin 2010 - 12:25

salu je ne pourrai pas t'aidé mais je sais peut etre qui:

http://www.lagrottedubarbu.com/2009/12/30/lagrottedubarbu-saison-02-episode-06-horlogeultrabinaire/

va voir sur leur forum et contacte les a leur adresse.

j'espere que ma reponse t'aura aidé @++



Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users