Avant de décrire mon problème, voici le code (très simpliste) utilisé :
- Code: Tout sélectionner
// Arduino is powered by the engine. When the engine is started, the status of the motor (sentence NMEA0183)
// is transmitted in a frame
void setup() {
Serial.begin(9600); // initializes the speed of the serial port commnication
}
// the loop routine runs over and over again forever:
void loop(){
Serial.println("$ERRPM,E,1,1,0,A*40"); // Sending Engine is ON
delay(1000); // wait for a second
}
Voici ce qu'est sensé faire le programme
Lorsque la carte Arduino est alimentée (sous tension) la chaine "$ERRPM,E,1,1,0,A*40" doit être automatiquement transmise toutes les secondes sur le port serie (TX).
Mon problème est le suivant :
Lorsque je test mon projet, la carte Arduino est raccordée à mon PC à l'aide du cordon USB (qui sert aussi d'alimentation). Dans ce cas là et uniquement dans ce cas, le programme fonctionne correctement le moniteur de l'ide Arduino montre bien la transmission de la chaine sur le port série (la led TX clignote chaque seconde).
Par contre, lorsque je test mon projet en alimentant la carte Arduino à l'aide d'une pile 9V sur le Vin (le cable USB n'est pas utilisé) rien ne sort sur le port série (la LED TX ne clignote pas !).
But du projet :
Raccorder la carte arduino à un multiplexeur qui va relayer une information. A titre d'information lorsque j'utilise hyperterminal pour lire ce qui arrive sur le multiplexeur rien n'apparait. Ce qui me confirme qu'en mode autonome (sans cordon usb) rien n'est transmit

Je ne vois pas où est mon erreur ou comment corriger pour que cela fonctionne correctement !
Merci par avance pour votre aide