Pages: [1]   Go Down
Author Topic: Arduino ne lance pas le sketch depuis source externe  (Read 959 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir à todo smiley

Voilà je galère depuis quelques jours avec mon module GPS, j'ai réussi à constituer un code ultra simpliste, qui fonctionne avec NewSoftSerial() :


Code:
#include <NewSoftSerial.h>
NewSoftSerial mySerial(2, 3);

void setup()  
{
  Serial.begin(57600);
  //Serial.println("Goodnight moon!");
  // set the data rate for the NewSoftSerial port
  mySerial.begin(9600);
  //mySerial.println("Hello, world?");
}

void loop()                    
{
  if (mySerial.available())
  {
     char c = mySerial.read();
     Serial.print(c);
  }
}

Donc ça fonctionne lorsque je lance le code depuis l'IDE Arduino avec donc RX et TX sur 2 et 3, et le GPS alimenté directement en 5V sur l'arduino.

Et si je débranche l'Arduino et que je le rebranche (sur prise ou batterie, ou la même prise USB...) bien ça fonctionne plus smiley-sad

Même si j'enlève les Serial.print... et que je remplace par une LED.

Une idée, j'ai l'impression que mon code fonctionne de manière très aléatoire !!

Je pense que j'ai pas bon au niveau des branchements, mais je comprends pas tout ce que je lis dans la doc du GPS SKM53.

Quote
Hardware Interfaces Configuration
Power Supply: Regulated power for the SKM53 series is required. The input voltage Vcc should be 5V, current is no less than 150mA. Suitable decoupling must be provided by external decoupling circuitry(10uF and 1uF). It can reduce the Noise from power supply and increase power stability.
UART Ports: The module supports one full duplex serial channels UART. The serial connections are at 2.85V LVTTL logic levels, if need different voltage levels, use appropriate level shifters. the data format is however fixed: X, N, 8, 1, i.e. X baud rate, no parity, eight data bits and one stop bit, no other data formats are supported, LSB is sent first. The modules default baud rate is set up 9600bps. The RXD0 & TXD0 recommended to pull up (10KΩ). It can increase the stability of serial data.

Merci pour votre aide smiley
« Last Edit: January 31, 2012, 01:53:56 pm by arduimat » Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

Est ce que un simple blink marche sur batterie avec le module gps en place ?
Si ça ce trouve c'est "juste" un probléme hardware (alim trop peu puissante, switch usb/alim défaillant, ...).
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ouais, si je laisse tout branché et que je mets le Blink, ensuite je débranche l'alim et je remets l'alim, le Blink fonctionne.
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est relou les problèmes que j'ai chaque fois... smiley-confuse

Je suppose que ça doit être la librairie NewSoftSerial() qui fait n'importe quoi...

J'ai à nouveau fait le test et avec le code du Blink ça fonctionne dans les deux cas (upload puis autre alim...) et pour le code du GPS ça fonctionne que via l'upload depuis l'Arduino (mais pas toujours), et tout ça sans rien toucher ni débrancher...
« Last Edit: January 31, 2012, 02:31:43 pm by arduimat » Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pour que ça fonctionne, il faut que je débranche la pin RX (qui là est sur D2...), que j'alimente le tout et que plugue en live la pin RX et là ça fonctionne...

En fait je retombe exactement sur le même problème que j'avais al dernière fois : http://arduino.cc/forum/index.php?topic=88307.15

Donc c'est bien NewSoftSerial qui pose problème ou un truc dans le genre.

Il y a pas un autre moyen de récupérer les trames GPS qui n'utilise pas la librairie TinyGPS, NewSoftSerial et qui puisse se brancher autre que la pin 1 et 0 ?

Merci.
« Last Edit: January 31, 2012, 02:46:03 pm by arduimat » Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Et je n'arrive pas à simuler un interupteur à retardement avec le transistor 2N2222, ça ne marche point.

Si vous avez une idée...

Pour récapituler ce que je veux faire :

Pouvoir brancher l'Arduino à une alimentation (batterie, USB...) et qu'il allume une LED dès qu'il reçoi un signal GPS.

Merci smiley
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4224
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Et je n'arrive pas à simuler un interupteur à retardement avec le transistor 2N2222, ça ne marche point.

Si vous avez une idée...

Pour récapituler ce que je veux faire :

Pouvoir brancher l'Arduino à une alimentation (batterie, USB...) et qu'il allume une LED dès qu'il reçoi un signal GPS.

Merci smiley

je n'ai pas bien compris ton souhait et surtout ton probleme  smiley-red

les modules GPS standards "crachent" en permanence de la data par leur pin TX , les sentences NMEA debutent par $G
et ce qu'ils reçoivent ou pas des infos valide de la constellation GPS.

Il faut donc analyser les sentences (trames) pour détecter si le module à acquis ou pas suffisamment de sat pour pour fournir une info valide de positionnement.
Cette info de reception GPS ne peut se faire evidemment que si le TX du module communique avec l'arduino = qu'il envoi des sentences $G
recupéré par un RX (hard ou soft)



Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut Artouste,

Alors ça je sais faire, j'arrive à récupérer les données provenant du GPS, ce que je n'arrive pas à faire c'est lancer la récupération des données du GPS lors de l'alimentation du montage.

Selon moi, c'est le fait qu'il y ai quelquechose de branché sur RX et TX (hard ou soft) lors de l'initialisation de l'Arduino qui pose problème, c'est tout bête mais impossible à trépasser !

Aucune solution sur le Web ni même un semblant d'explication, je ne comprends pas comment les gens font dans leur montage pour que le module GPS renvoi des données lors de l'alimentation de l'Arduino...
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4224
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut Artouste,

Alors ça je sais faire, j'arrive à récupérer les données provenant du GPS, ce que je n'arrive pas à faire c'est lancer la récupération des données du GPS lors de l'alimentation du montage.

Selon moi, c'est le fait qu'il y ai quelquechose de branché sur RX et TX (hard ou soft) lors de l'initialisation de l'Arduino qui pose problème, c'est tout bête mais impossible à trépasser !

Aucune solution sur le Web ni même un semblant d'explication, je ne comprends pas comment les gens font dans leur montage pour que le module GPS renvoi des données lors de l'alimentation de l'Arduino...
donc à priori un probleme de communication selon si l'arduino est alimenté par usb ou par son connecteur d'alim ?

pour verif de reception des infos du module je mettrais une led clignotante fonction du nombre de caractères reçus pour on et off

Code:
void loop()                     
{
  if (mySerial.available())
  {
     char c = mySerial.read();

     Serial.print(c);

// +1 sur une  variable byte , led ON si byte <127 OFF => 127
  }
}
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

donc à priori un probleme de communication selon si l'arduino est alimenté par usb ou par son connecteur d'alim ?

Non pas forcement, ça ne marche pas non plus lorsque je déconnecte du port USB de l'ordi et que je rebranche sur ce même port quelques secondes après...

J'ai déjà essayé de faire afficher des LEDs... mais rien ne se passe, on dirait que NewSoftSerial fait planter la processus d'initialisation lorsque le GPS est branché sur une des pins déclarées par NewSoftSerial... Et donc rien ne s'execute. smiley-sad
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4224
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

donc à priori un probleme de communication selon si l'arduino est alimenté par usb ou par son connecteur d'alim ?

Non pas forcement, ça ne marche pas non plus lorsque je déconnecte du port USB de l'ordi et que je rebranche sur ce même port quelques secondes après...

J'ai déjà essayé de faire afficher des LEDs... mais rien ne se passe, on dirait que NewSoftSerial fait planter la processus d'initialisation lorsque le GPS est branché sur une des pins déclarées par NewSoftSerial... Et donc rien ne s'execute. smiley-sad
Alors description précise (photos sous toutes les coutures ) de l'ensemble quand ça marche et quand "çamarchpu"  smiley-mr-green
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je te montrerai ça dès que je reprends le temps, c'est tellement bête comme truc que ça me désespère smiley-grin
Logged

Pages: [1]   Go Up
Jump to: