(2 versions intermédiaires masquées) | |||
Ligne 64 : | Ligne 64 : | ||
SoftwareSerial SoftSerial(2, 3); | SoftwareSerial SoftSerial(2, 3); | ||
- | unsigned char buffer[64]; // Tableau de mémoire tampon (buffer array) pour les données reçues par le port série | + | unsigned char buffer[64]; |
- | int count=0; | + | // Tableau de mémoire tampon (buffer array) pour les données reçues par le port série |
+ | int count=0; // compteur pour le buffer array | ||
void setup() | void setup() | ||
{ | { | ||
- | SoftSerial.begin(9600); | + | SoftSerial.begin(9600); // initialisation du débit en bauds du SoftwareSerial à 9 600 bauds |
- | Serial.begin(9600); | + | Serial.begin(9600); // initialisation du débit en bauds du port série d'Arduino à 9 600 bauds. |
} | } | ||
Ligne 75 : | Ligne 76 : | ||
void loop() | void loop() | ||
{ | { | ||
- | if (SoftSerial.available()) | + | if (SoftSerial.available()) // si les données sortent du port série du SoftwareSerial |
+ | ==> les données sortent du shield du SoftwareSerial | ||
{ | { | ||
- | while(SoftSerial.available()) | + | while(SoftSerial.available()) // lecture des données dans le tableau de caractères (char array) |
{ | { | ||
- | buffer[count++]=SoftSerial.read(); | + | buffer[count++]=SoftSerial.read(); //écriture des données dans l'array |
if(count == 64)break; | if(count == 64)break; | ||
} | } | ||
- | Serial.write(buffer,count); | + | Serial.write(buffer,count); // s'il n'y a pas de données, la transmission s'arrête. |
- | clearBufferArray(); | + | Transférer les données du buffer dans le port série du composant. |
- | count = 0; | + | clearBufferArray(); // faire appel à la fonction clearBufferArray |
+ | pour effacer les données stockées dans le buffer array | ||
+ | count = 0; //mettre le compteur de la boucle de moment à zéro | ||
} | } | ||
- | if (Serial.available()) | + | if (Serial.available()) // si des données sont disponibles sur le port série du composant |
- | SoftSerial.write(Serial.read()); | + | ==> les données sortent de l'ordinateur fixe ou de l'ordinateur portable |
+ | SoftSerial.write(Serial.read()); // inscrire les données sur le shield du SoftwareSerial | ||
} | } | ||
- | void clearBufferArray() | + | void clearBufferArray() // fonction pour effacer le buffer array |
{ | { | ||
for (int i=0; i<count;i++) | for (int i=0; i<count;i++) | ||
- | { buffer[i]=NULL;} | + | { buffer[i]=NULL;} // effacer tous les index d'array avec la commande NULL |
}</pre> | }</pre> | ||
*Installer [http://www.u-blox.com/images/Support/Support_Products/EvaluationSoftware/u-centersetup-6.2.0.0.zip U-Blox u-center]. Télécharger le code ci-dessous dans l'interface arduino/seeeduino puis ouvrir le u-center. | *Installer [http://www.u-blox.com/images/Support/Support_Products/EvaluationSoftware/u-centersetup-6.2.0.0.zip U-Blox u-center]. Télécharger le code ci-dessous dans l'interface arduino/seeeduino puis ouvrir le u-center. | ||
Ligne 147 : | Ligne 152 : | ||
[[Catégorie:technique]] | [[Catégorie:technique]] | ||
[[Catégorie:électrokids]] | [[Catégorie:électrokids]] | ||
- | + | [[Catégorie:traduire]] | |
[[Catégorie:grove]] | [[Catégorie:grove]] | ||
+ | [[Catégorie:Composant électronique]] |
Sommaire |
Ce module GPS Grove est un gadget peu coûteux et programmable équipé d'un récepteur GPS "E-1612-UB" compatible avec le protocole U-blox 6, configuré pour une communication série. Il comporte un moteur de positionnement U-blox 5 à 50 canaux dont la mise au point requiert moins d'une seconde. La sensibilité d'acquisition et de suivi peut aller jusqu'à - 160 dBm. Il s'agit donc d'un module d'un excellent rapport qualité/prix, tout à fait adapté à des projets individuels de navigation ou de localisation.
Modèle : SEN10752P
Élément | Min | Typique | Max | Unité |
---|---|---|---|---|
Tension | 4,75 | 5,0 | 5,25 | VDC |
Sensibilité | -160 | dBm | ||
Débit en bauds | 4 800 | - | 57 600 | Baud |
Température de fonctionnement | - 40 | - | 85 | °C |
Ce module permet de lire les informations du GPS via une communication série logicielle (SoftwareSerial) et de les renvoyer vers le port série.
//lien entre l'ordinateur et le shield du SoftwareSerial //9600 bps 8-N-1 (port série à 9600 bps, 8 bits de données, sans parité et avec 1 bit de stop) //L'ordinateur est connecté au composant UART //Le shield du SoftwareSerial est connecté au logiciel UART:D2&D3 #include <SoftwareSerial.h> SoftwareSerial SoftSerial(2, 3); unsigned char buffer[64]; // Tableau de mémoire tampon (buffer array) pour les données reçues par le port série int count=0; // compteur pour le buffer array void setup() { SoftSerial.begin(9600); // initialisation du débit en bauds du SoftwareSerial à 9 600 bauds Serial.begin(9600); // initialisation du débit en bauds du port série d'Arduino à 9 600 bauds. } void loop() { if (SoftSerial.available()) // si les données sortent du port série du SoftwareSerial ==> les données sortent du shield du SoftwareSerial { while(SoftSerial.available()) // lecture des données dans le tableau de caractères (char array) { buffer[count++]=SoftSerial.read(); //écriture des données dans l'array if(count == 64)break; } Serial.write(buffer,count); // s'il n'y a pas de données, la transmission s'arrête. Transférer les données du buffer dans le port série du composant. clearBufferArray(); // faire appel à la fonction clearBufferArray pour effacer les données stockées dans le buffer array count = 0; //mettre le compteur de la boucle de moment à zéro } if (Serial.available()) // si des données sont disponibles sur le port série du composant ==> les données sortent de l'ordinateur fixe ou de l'ordinateur portable SoftSerial.write(Serial.read()); // inscrire les données sur le shield du SoftwareSerial } void clearBufferArray() // fonction pour effacer le buffer array { for (int i=0; i<count;i++) { buffer[i]=NULL;} // effacer tous les index d'array avec la commande NULL }
Révision | Description | Publication |
---|---|---|
v0.9b | Première publication | 3 octobre 2011 |
Si vous avez des questions ou des suggestions d'amélioration rendez-vous sur notre forum, ou sur notre plateforme wish pour nous en faire part.
Cette page est la traduction de celle-ci : http://www.seeedstudio.com/wiki/Grove_-_GPS
Traducteurs : Jessica Pagazani et Salomé Moreau - 2013 dans le cadre du Master 2 rédacteur traducteur 2013
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique