Go Down

Topic: problème en passant de l arduino uno à l arduino mega (Read 452 times) previous topic - next topic

flo45

bonjour

je débute depuis peu dans le monde merveilleux de l arduino :)

mais je rencontre un problème que je ne maitrise pas , je suis persuade que la solution et facile et le problème viens de mon manque de connaissance ...

j ai créé un petit programme sur une carte arduino uno qui fonctionne comme je le souhaite mais lorsque je le téléverse sur la arduino mega ça ne fonctionne plus normalement et j ai un petit message qui s affiche et que je ne comprend pas .

voici le message (Archiving built core (caching) in: /var/folders/gl/yb_fgtzn3ysf4v19bvsrhrdh0000gn/T/arduino_cache_117123/core/core_arduino_avr_mega_cpu_atmega2560_51f02b7210b938436b779d1c032618e1.a)

Je tiens a préciser que la seul chose que j ai fait évolué sur mon programme entre la carte uno et la mega , ce sont mes sorties ledPin qui sont passées de 6 a 21 dans le tableau que je leur est créé .

merci par avance de l aide que vous pouvez m apporter .

lesept

Ça ne ressemble pas à un message d'erreur. Tu es sous Linux ? Si oui, les Linuxiens pourront t'aider mieux que moi...
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

flo45

bonsoir

j ai oublié de préciser que je suis sous mac os 10.11.6.

merci

flo45

bonsoir,

pour faire simple mon projet est une cible électronique , pour que ma fille s entraine a l escrime.
les cibles qu elle doit toucher clignotent  avec des leds qui est interrompu si elle touche.
depuis que je suis passé sur la MEGA certaines cibles ne clignotent plus a la bonne vitesse , ni le temps que je leur avait attribué.

flo45

par exemple les cibles 1 et 2 clignotent très lentement (temps d allumage près de 1s et éteintes 3s a peu prés et 10 fois je crois) alors que les 3 autres font bien 9 clignotements a la bonne vitesse .
Je ne vois pas pourquoi ça viendrait de la mais bon si ça peux aider voici la partie ou elles clignotent ...

Code: [Select]
//fonction allumage1

 void allumage1 (){
 for (int t=900;t>=100;t=t-100){
   if (interrupteur1==LOW){
    digitalWrite (ledPinB[0],HIGH);
for (int a=1;a<=10;a++){
  delay (25);
  touche1();
 }
    digitalWrite (ledPinB[0],LOW); 
  for (int a=1;a<=10;a++){
    delay (25);
    touche1();
  }
   }
  if (t==100){
     digitalWrite (ledPinR[0],HIGH);
      delay (2000);
      digitalWrite (ledPinR[0],LOW);
      delay (25);
    cible;
    delay (1000);
  }
  }
 }

 //fonction allumage2

 void allumage2 (){
  for (int u=900;u>=100;u=u-100){
  if (interrupteur2==LOW){
    digitalWrite (ledPinB[1],HIGH);
    for (int b=1;b<=10;b++){
      delay (25);
      touche2();
    }
    digitalWrite (ledPinB[1],LOW);
    for (int b=1;b<=10;b++){
      delay (25);
      touche2();
    }
   }
  if (u==100){
     digitalWrite (ledPinR[1],HIGH);
      delay (2000);
      digitalWrite (ledPinR[1],LOW);
      delay (25);
    cible;
    delay (1000);
  }
  }
 }

 //fonction allumage3

 void allumage3 (){
  for (int v=900;v>=100;v=v-100){
  if (interrupteur3==LOW){
    digitalWrite (ledPinB[2],HIGH);
    for (int c=1;c<=10;c++){
      delay (25);
      touche3();
    }
    digitalWrite (ledPinB[2],LOW);
    for (int c=1;c<=10;c++){
      delay (25);
      touche3();
    }   
   }
  if (v==100){
     digitalWrite (ledPinR[2],HIGH);
      delay (2000);
      digitalWrite (ledPinR[2],LOW);
      delay (25);
    cible;
    delay (1000);
  }
  }
 }


 //fonction allumage4

 void allumage4 (){
    for (int w=900;w>=100;w=w-100){
    if (interrupteur4 ==LOW){
        digitalWrite (ledPinB[3],HIGH);
        for(int d=1;d<=10;d++){
            delay(25);
            touche4 ();
        }
        digitalWrite (ledPinB[3],LOW);
        for(int d=1;d<=10;d++){
            delay(25);
            touche4 ();
        }
      }
    if (w==100){
      digitalWrite (ledPinR[3],HIGH);
      delay (2000);
      digitalWrite (ledPinR[3],LOW);
      delay (25);
        cible;
        delay (1000);
    }
   }
    }

 // fonction allumage5

   void allumage5 (){
    for (int x=900;x>=100;x=x-100){
        if (interrupteur5 ==LOW){
      digitalWrite (ledPinB[4] ,HIGH);
        for (int e=1;e<=10;e++){
              delay(25);
               touche5 ();   
             } 
        digitalWrite (ledPinB[4] ,LOW);
        for (int e=1;e<=10;e++){
              delay (25);
             touche5 ();     
            }               
            }
        if (x==100){
          digitalWrite (ledPinR[4],HIGH);
          delay (2000);
          digitalWrite (ledPinR[4],LOW);
          delay (25);
            cible;
            delay (1000);
        }
        }
       }
/code]

flo45

pour mes premiers essais j ai utilisé des leds simples avec des boutons poussoirs (une led par cible )
maintenant que je suis sur la mega j ai pris des leds rgb qui doivent clignoter en bleu pour dire quelle cible toucher en vert si c est touché et en rouge si elle a dépassée le temps (le poussoir doit se faire par le contact du fleuret sur la cible )
ma uno est un clone
ma premiere mega est un clone
ma deuxième mega est une officiel (car je pensé avoir abime l autre en faisant un mauvais branchement mais résultat quasiment pareil )

68tjs

Ce n'est donc pas seulement des sorties en plus c'est deux programmes différents.

Question : c'est la carte , le câblage ou le programme ?
Impossible de répondre simplement et rapidement.

Tu aurai du procéder par étapes  (et tu sais ce qu'il faudra faire la prochaine fois) :
1) UNO + programme_1 et câblage_1
2) Mega + programme_1 et câblage_1
3) Mega + programme_2 et câblage_2

Si c'est encore possible (câblage 1 encore disponible) essaye cette succession d'action et cela permettra d'identifier sans doute possible l'origine du non fonctionnement. L'étape suivante sera de trouver pourquoi, mais au moins tu saura où chercher.

flo45

bonjour

la nuit porte conseil j ai trouvé mon erreur (de débutant  :) ), je testais mes leds tout simplement sans les poussoirs et leur résistance ...
le boulet quoi ...
merci a vous de vos conseils et de votre aide !!

68tjs

Comme quoi ma méthode aurait eu du bon.
Ne jamais changer plusieurs choses en même  temps mais procéder par étapes
C'est !e secret pour gagner du temps où au minimum éviter  d'en perdre.

Go Up