Problème: avrdude: stk500_getsync(): not in sync: resp=0x00

as tu vérifier dans le menu le choix de ta carte et éventuellement teste avec un autres cable usb , chez moi c'est ce qui planter au debut!

Bonjour,

peux-tu détailler ton programme ici ?
Quelle est la configuration de ton système ?


Stéphane.

Euh, windows 7 64bits, le programme est le suivant (je ne l'ai pas lu, dans le tuto on demande de le mettre sur la carte, c'est ce que je me contente de faire):

#include <TimerOne.h>

boolean firstRun = true; // Used for one-run-only stuffs;

//First pin being used for floppies, and the last pin.  Used for looping over all pins.
const byte FIRST_PIN = 2;
const byte PIN_MAX = 17;
#define RESOLUTION 40 //Microsecond resolution for notes


/*NOTE: Many of the arrays below contain unused indexes.  This is 
to prevent the Arduino from having to convert a pin input to an alternate
array index and save as many cycles as possible.  In other words information 
for pin 2 will be stored in index 2, and information for pin 4 will be 
stored in index 4.*/


/*An array of maximum track positions for each step-control pin.  Even pins
are used for control, so only even numbers need a value here.  3.5" Floppies have
80 tracks, 5.25" have 50.  These should be doubled, because each tick is now
half a position (use 158 and 98).
*/
byte MAX_POSITION[] = {
  0,0,158,0,158,0,158,0,158,0,158,0,158,0,158,0,158,0};
  
//Array to track the current position of each floppy head.  (Only even indexes (i.e. 2,4,6...) are used)
byte currentPosition[] = {
  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

/*Array to keep track of state of each pin.  Even indexes track the control-pins for toggle purposes.  Odd indexes
track direction-pins.  LOW = forward, HIGH=reverse
*/
int currentState[] = {
  0,0,LOW,LOW,LOW,LOW,LOW,LOW,LOW,LOW,LOW,LOW,LOW,LOW,LOW,LOW,LOW,LOW
};
  
//Current period assigned to each pin.  0 = off.  Each period is of the length specified by the RESOLUTION
//variable above.  i.e. A period of 10 is (RESOLUTION x 10) microseconds long.
unsigned int currentPeriod[] = {
  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
};

//Current tick
unsigned int currentTick[] = {
  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
};



//Setup pins (Even-odd pairs for step control and direction
void setup(){
  pinMode(13, OUTPUT);// Pin 13 has an LED connected on most Arduino boards
  pinMode(2, OUTPUT); // Step control 1
  pinMode(3, OUTPUT); // Direction 1
  pinMode(4, OUTPUT); // Step control 2
  pinMode(5, OUTPUT); // Direction 2
  pinMode(6, OUTPUT); // Step control 3
  pinMode(7, OUTPUT); // Direction 3
  pinMode(8, OUTPUT); // Step control 4
  pinMode(9, OUTPUT); // Direction 4
  pinMode(10, OUTPUT); // Step control 5
  pinMode(11, OUTPUT); // Direction 5
  pinMode(12, OUTPUT); // Step control 6
  pinMode(13, OUTPUT); // Direction 6
  pinMode(14, OUTPUT); // Step control 7
  pinMode(15, OUTPUT); // Direction 7
  pinMode(16, OUTPUT); // Step control 8
  pinMode(17, OUTPUT); // Direction 8

  Timer1.initialize(RESOLUTION); // Set up a timer at the defined resolution
  Timer1.attachInterrupt(tick); // Attach the tick function

  Serial.begin(9600);
}


void loop(){
  
  //The first loop, reset all the drives, and wait 2 seconds...
  if (firstRun)
  {
    firstRun = false;
    resetAll();
    delay(2000);
  }

  //Only read if we have 
  if (Serial.available() > 2){
    //Watch for special 100-message to reset the drives
    if (Serial.peek() == 100) {
      resetAll();
      //Flush any remaining messages.
      while(Serial.available() > 0){
        Serial.read();
      }
    } 
    else{
      currentPeriod[Serial.read()] = (Serial.read() << 8) | Serial.read();
    }
  }
}


/*
Called by the timer inturrupt at the specified resolution.
*/
void tick()
{
  /* 
  If there is a period set for control pin 2, count the number of
  ticks that pass, and toggle the pin if the current period is reached.
  */
  if (currentPeriod[2]>0){
    currentTick[2]++;
    if (currentTick[2] >= currentPeriod[2]){
      togglePin(2,3);
      currentTick[2]=0;
    }
  }
  if (currentPeriod[4]>0){
    currentTick[4]++;
    if (currentTick[4] >= currentPeriod[4]){
      togglePin(4,5);
      currentTick[4]=0;
    }
  }
  if (currentPeriod[6]>0){
    currentTick[6]++;
    if (currentTick[6] >= currentPeriod[6]){
      togglePin(6,7);
      currentTick[6]=0;
    }
  }
  if (currentPeriod[8]>0){
    currentTick[8]++;
    if (currentTick[8] >= currentPeriod[8]){
      togglePin(8,9);
      currentTick[8]=0;
    }
  }
  if (currentPeriod[10]>0){
    currentTick[10]++;
    if (currentTick[10] >= currentPeriod[10]){
      togglePin(10,11);
      currentTick[10]=0;
    }
  }
  if (currentPeriod[12]>0){
    currentTick[12]++;
    if (currentTick[12] >= currentPeriod[12]){
      togglePin(12,13);
      currentTick[12]=0;
    }
  }
  if (currentPeriod[14]>0){
    currentTick[14]++;
    if (currentTick[14] >= currentPeriod[14]){
      togglePin(14,15);
      currentTick[14]=0;
    }
  }
  if (currentPeriod[16]>0){
    currentTick[16]++;
    if (currentTick[16] >= currentPeriod[16]){
      togglePin(16,17);
      currentTick[16]=0;
    }
  }
  
}

void togglePin(byte pin, byte direction_pin) {
  
  //Switch directions if end has been reached
  if (currentPosition[pin] >= MAX_POSITION[pin]) {
    currentState[direction_pin] = HIGH;
    digitalWrite(direction_pin,HIGH);
  } 
  else if (currentPosition[pin] <= 0) {
    currentState[direction_pin] = LOW;
    digitalWrite(direction_pin,LOW);
  }
  
    //Update currentPosition
  if (currentState[direction_pin] == HIGH){
    currentPosition[pin]--;
  } 
  else {
    currentPosition[pin]++;
  }
  
  //Pulse the control pin
  digitalWrite(pin,currentState[pin]);
  currentState[pin] = ~currentState[pin];
}


//
//// UTILITY FUNCTIONS
//

//Not used now, but good for debugging...
void blinkLED(){
  digitalWrite(13, HIGH); // set the LED on
  delay(250);              // wait for a second
  digitalWrite(13, LOW); 
}

//For a given controller pin, runs the read-head all the way back to 0
void reset(byte pin)
{
  digitalWrite(pin+1,HIGH); // Go in reverse
  for (byte s=0;s<MAX_POSITION[pin];s+=2){ //Half max because we're stepping directly (no toggle)
    digitalWrite(pin,HIGH);
    digitalWrite(pin,LOW);
    delay(5);
  }
  currentPosition[pin] = 0; // We're reset.
  digitalWrite(pin+1,LOW);
  currentPosition[pin+1] = 0; // Ready to go forward.
}

//Resets all the pins
void resetAll(){
  
  // Old one-at-a-time reset
  //for (byte p=FIRST_PIN;p<=PIN_MAX;p+=2){
  //  reset(p);
  //}
  
  // New all-at-once reset
  for (byte s=0;s<80;s++){ // For max drive's position
    for (byte p=FIRST_PIN;p<=PIN_MAX;p+=2){
      digitalWrite(p+1,HIGH); // Go in reverse
      digitalWrite(p,HIGH);
      digitalWrite(p,LOW);
    }
    delay(5);
  }
  
  for (byte p=FIRST_PIN;p<=PIN_MAX;p+=2){
    currentPosition[p] = 0; // We're reset.
    digitalWrite(p+1,LOW);
    currentState[p+1] = 0; // Ready to go forward.
  }
  
}

Et comme j'ai un nouveau pc, je vais tester sur l'ancien voir si j'ai le même problème.
Dans le gestionnaire des périphériques, le com1 est reconnu comme cela:

Emplacement: sur Intel(R) Z68 Express Chipset Family LPC Interface Controller - 1C44

Voilà voilà

Bonjour,

Monstercrunch:
Et comme j'ai un nouveau pc, je vais tester sur l'ancien voir si j'ai le même problème.
Dans le gestionnaire des périphériques, le com1 est reconnu comme cela:

Emplacement: sur Intel(R) Z68 Express Chipset Family LPC Interface Controller - 1C44

Tu est sur d'avoir choisi le bon port série ?
D'aprés le nom du port COM il s'agirait plutôt d'un port RS-232 intégré à l'ordi que d'un port série usb.

Monstercrunch:
Et comme j'ai un nouveau pc, je vais tester sur l'ancien voir si j'ai le même problème.
Dans le gestionnaire des périphériques, le com1 est reconnu comme cela:

Emplacement: sur Intel(R) Z68 Express Chipset Family LPC Interface Controller - 1C44

Voilà voilà

même réponse que skywodd
plutôt que d'aller dans le gestionnaire de périphérique
déconnecter l'arduino du PC
sous l'IDE arduino dans le menu selectionner tools --->serial board et noter les com listés
sortir de l'IDE
connecter l'arduino au PC
relancer l'IDE
menu tools --->serial board et selectionner le com qui n’était précédemment pas listé, si la liste n'a pas bougée (pas de nouveau com)
soit il y a un probleme de driver (pas installé) soit le hard entre le usb arduino et le usb pc pose probleme.
usb arduino cuit, cable usb defectueux, usb/connecteur sur le pc HS (la là levée de doute est simple, connecter n'importe quoi sur le connecteur du pc = clef usb ou autre "machin" usb et voir si le pc le reconnait)

Bah, j'ai que le choix du port com1, donc je pense pas m'être trompé... Et j'ai essayé sur mon ancien pc -> pas de soucis. Donc ça doit bien venir de celui ci, et il doit pas reconnaître ma carte (même en la débranchant, le menu "Port série" ne se grise pas).
J'ai un autre souci: je ne sais pas si ça vient du fait que le pc est neuf et que j'ai oublié d'installer un truc, mais j'ai de graves problèmes graphiques avec le logiciel arduino ! Quand je bouge ma souris ou que j'écris quelques lignes, voilà ce qui arrive:

ça doit venir du java car ça me fait pas ça dans les autres logiciels, mais je vois pas ce que j'ai fait/pas fait pour en arriver là...

[edit] Avec le gestionnaire de périphériques, j'ai essayé de mettre a jour le pilote du port com1 avec les drivers du dossier arduino mais ça me dit qu'il est déjà a jour. De plus, quand je connecte ou déconnecte la carte, il n'y a que com1 dans l'éditeur (que la carte soit branchée ou non, il y a le com1).

C'est surement un probléme de driver alors.

Va voir dans le gestionnaire de périphérique (démarrer -> recherche -> gestion -> gestionnaire de périph...).

Dans la section Port série et parallèle -> click droit sur le port en question -> mettre à jour le driver -> choisir un fichier sur mon ordi -> C:.....\arduino\drivers -> installer.

Voir mon edit du dessus ^^'

As tu bien rien de connecter sur tes PIN Tx et Rx lors de ta compilation et de ton upoload?

Yep, la carte est débranchée de tout câble.

Désolé du retard, J'étais passé en mode "solde" 8)

Télécharge usbdeview : View any installed/connected USB device on your system
Et envoi nous la ligne qui correspond à la carte, ça permettra de voir si il y a un probléme de drivers ou autre :wink:

Si c'est pas les drivers je te donnerai une procédure à suivre pour tenter de forcer l'upload d'un programme bidon genre blink.

ça ?:

Monstercrunch:
ça ?:

Oui mais tu as du te tromper de ligne, en tout cas ce n'est pas le descriptif d'une carte arduino :wink:
D'après le PID ce que tu nous as posté serait plutôt une webcam logitech :wink:

Mince, en fait ça doit être ma souris logitech. Et je viens de voir que quand je branche ou débranche l'arduino, rien ne change sur l'interface :confused: Enfin, c'est comme si il n'était pas détecté... (je n'ai que 2 périphériques reconnus par le logiciel et le nombre ne change pas quand je branche ou débranche).

Monstercrunch:
Mince, en fait ça doit être ma souris logitech. Et je viens de voir que quand je branche ou débranche l'arduino, rien ne change sur l'interface :confused: Enfin, c'est comme si il n'était pas détecté... (je n'ai que 2 périphériques reconnus par le logiciel et le nombre ne change pas quand je branche ou débranche).

Tu n'as aucun changement lorsque tu branche l'arduino ?
--> ça sent le probléme de drivers !

Essaye ça :
-> gestionnaire de périphérique -> chercher les modifications matériel (ou les matériels non "plug and play" suivant la version de windows) -> si il ya des périphériques avec un ? jaune -> probléme de driver.

En effet, triangle jaune sur l'arduino. Clique droit -> mettre à jour les pilotes -> sur mon pc -> dossier de l'arduino -> success !
Je tente d'uploader le code -> double success !

Cependant j'ai toujours de lourds bugs graphiques qui rendent le logiciel quasi inutilisable....

Merci beaucoup pour ton aide :wink: Si tu as une idée pour mon nouveau problème... je suis preneur !

Monstercrunch:
Cependant j'ai toujours de lourds bugs graphiques qui rendent le logiciel quasi inutilisable....

Merci beaucoup pour ton aide :wink: Si tu as une idée pour mon nouveau problème... je suis preneur !

Problème de drivers de carte graphique, va voir si le site du fabricant de ta carte graphique :wink:

J'ai du mal a croire que ça vienne de là: il n'y a que sur le logiciel arduino que j'ai rencontré des problèmes

(mon lecteur disquette chante a présent 8) )

Monstercrunch:
J'ai du mal a croire que ça vienne de là: il n'y a que sur le logiciel arduino que j'ai rencontré des problèmes

Met à jour ton driver graphique, ça ne peut faire que du bien :wink:
Java a quelques bugs au niveau graphique sur certaines cartes, normalement une màj du drivers et tout rentre dans l'ordre.

Monstercrunch:
(mon lecteur disquette chante a présent 8) )

Il est possédé ? :grin: