ben Posté(e) 21 septembre 2018 Auteur Share Posté(e) 21 septembre 2018 8eme et dernière étape, chargement du code pour cette opération, il est nécessaire de déconnecter l'alim du module Bluetooth et connecter l’Arduino via le port USB. Installer l'appli Arduino et téléverser le code ci dessous. Lien détaillant l'utilisation de l'appli Arduino: https://wiki.mchobby.be/index.php?title=Guide_démarrage_Arduino le code sans quoi tout ce travail ne servirait a rien! en fichier joint : loggerGPS-SD.ino en ligne de code... : ************************************************************************************************************************************************************************************************* #include <SoftwareSerial.h> // Connect the GPS RX/TX to arduino pins 8 and 9 SoftwareSerial serial = SoftwareSerial(8,9); const unsigned char UBX_HEADER[] = { 0xB5, 0x62 }; const char UBLOX_INIT[] PROGMEM = { // Disable NMEA 0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x24, // GxGGA off 0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x2B, // GxGLL off 0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x32, // GxGSA off 0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x39, // GxGSV off 0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x04,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x40, // GxRMC off 0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x05,0x00,0x00,0x00,0x00,0x00,0x01,0x05,0x47, // GxVTG off // Disable UBX 0xB5,0x62,0x06,0x01,0x08,0x00,0x01,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x17,0xDC, //NAV-PVT off 0xB5,0x62,0x06,0x01,0x08,0x00,0x01,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0xB9, //NAV-POSLLH off 0xB5,0x62,0x06,0x01,0x08,0x00,0x01,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0xC0, //NAV-STATUS off // Enable UBX 0xB5,0x62,0x06,0x01,0x08,0x00,0x01,0x07,0x00,0x01,0x00,0x00,0x00,0x00,0x18,0xE1, //NAV-PVT on //0xB5,0x62,0x06,0x01,0x08,0x00,0x01,0x02,0x00,0x01,0x00,0x00,0x00,0x00,0x13,0xBE, //NAV-POSLLH on //0xB5,0x62,0x06,0x01,0x08,0x00,0x01,0x03,0x00,0x01,0x00,0x00,0x00,0x00,0x14,0xC5, //NAV-STATUS on // Rate //0xB5,0x62,0x06,0x08,0x06,0x00,0x64,0x00,0x01,0x00,0x01,0x00,0x7A,0x12, //(10Hz) 0xB5,0x62,0x06,0x08,0x06,0x00,0xC8,0x00,0x01,0x00,0x01,0x00,0xDE,0x6A, //(5Hz) //0xB5,0x62,0x06,0x08,0x06,0x00,0xE8,0x03,0x01,0x00,0x01,0x00,0x01,0x39, //(1Hz) }; struct NAV_PVT { unsigned char cls; unsigned char id; unsigned short len; unsigned long iTOW; // GPS time of week of the navigation epoch (ms) unsigned short year; // Year (UTC) unsigned char month; // Month, range 1..12 (UTC) unsigned char day; // Day of month, range 1..31 (UTC) unsigned char hour; // Hour of day, range 0..23 (UTC) unsigned char minute; // Minute of hour, range 0..59 (UTC) unsigned char second; // Seconds of minute, range 0..60 (UTC) char valid; // Validity Flags (see graphic below) unsigned long tAcc; // Time accuracy estimate (UTC) (ns) long nano; // Fraction of second, range -1e9 .. 1e9 (UTC) (ns) unsigned char fixType; // GNSSfix Type, range 0..5 char flags; // Fix Status Flags unsigned char reserved1; // reserved unsigned char numSV; // Number of satellites used in Nav Solution long lon; // Longitude (deg) long lat; // Latitude (deg) long height; // Height above Ellipsoid (mm) long hMSL; // Height above mean sea level (mm) unsigned long hAcc; // Horizontal Accuracy Estimate (mm) unsigned long vAcc; // Vertical Accuracy Estimate (mm) long velN; // NED north velocity (mm/s) long velE; // NED east velocity (mm/s) long velD; // NED down velocity (mm/s) long gSpeed; // Ground Speed (2-D) (mm/s) long heading; // Heading of motion 2-D (deg) unsigned long sAcc; // Speed Accuracy Estimate unsigned long headingAcc; // Heading Accuracy Estimate unsigned short pDOP; // Position dilution of precision short reserved2; // Reserved unsigned long reserved3; // Reserved unsigned char dummy[8]; // dummy not used }; NAV_PVT pvt; float vitesseMax; int incomingByte = 0; // for incoming serial data void calcChecksum(unsigned char* CK) { memset(CK, 0, 2); for (int i = 0; i < (int)sizeof(NAV_PVT); i++) { CK[0] += ((unsigned char*)(&pvt)); CK[1] += CK[0]; }} bool processGPS() { static int fpos = 0; static unsigned char checksum[2]; const int payloadSize = sizeof(NAV_PVT); while ( serial.available() ) { byte c = serial.read(); if ( fpos < 2 ) { if ( c == UBX_HEADER[fpos] ) fpos++; else fpos = 0; } else { if ( (fpos-2) < payloadSize ) ((unsigned char*)(&pvt))[fpos-2] = c; fpos++; if ( fpos == (payloadSize+2) ) { calcChecksum(checksum); } else if ( fpos == (payloadSize+3) ) { if ( c != checksum[0] ) fpos = 0; }q<c else if ( fpos == (payloadSize+4) ) { fpos = 0; if ( c == checksum[1] ) { return true; } } else if ( fpos > (payloadSize+4) ) { fpos = 0; } } } return false;} void setup(){ Serial.begin(9600); serial.begin(9600); // send configuration data in UBX protocol for(int i = 0; i < sizeof(UBLOX_INIT); i++) { serial.write( pgm_read_byte(UBLOX_INIT+i) ); delay(5); // simulating a 38400baud pace (or less), otherwise commands are not accepted by the device. } vitesseMax = 0.0; } void loop() { float vitesseCourante = 0.0; if ( processGPS() ) { if (pvt.fixType==2 || pvt.fixType==3) { vitesseCourante = abs(pvt.gSpeed)/ 1000.0f / 1000.0f * 3600.0f; if (vitesseCourante>vitesseMax) { vitesseMax=vitesseCourante; } } Serial.print("*f");Serial.print(pvt.fixType);Serial.println("*"); Serial.print("*v");Serial.print(vitesseCourante);Serial.println("*"); Serial.print("*m");Serial.print(vitesseMax);Serial.println("*"); Serial.print("*k");Serial.print(pvt.lon/10000000.0f);Serial.println("*"); Serial.print("*l");Serial.print(pvt.lat/10000000.0f); Serial.println("*"); /* Serial.print("#SV: "); Serial.print(pvt.numSV); Serial.print(" fixType: "); Serial.print(pvt.fixType); Serial.print(" vitesseMax:"); Serial.print(vitesseMax); Serial.print(" lat/lon: "); Serial.print(pvt.lat/10000000.0f); Serial.print(","); Serial.print(pvt.lon/10000000.0f); Serial.print(" gSpeed: "); Serial.print(pvt.gSpeed/1000.0f); Serial.print(" heading: "); Serial.print(pvt.heading/100000.0f); Serial.print(" hAcc: "); Serial.print(pvt.hAcc/1000.0f); Serial.println(); */ } if (Serial.available() > 0) { // read the incoming byte: incomingByte = Serial.read(); if (incomingByte == 'r') { vitesseMax=0.0; } }} ************************************************************************************************************************************************************** 1 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
ben Posté(e) 21 septembre 2018 Auteur Share Posté(e) 21 septembre 2018 mon Job touche a sa fin, c'est donc maintenant a vous de jouer! vous pouvez donc réaliser un enregistreur GPS Bluetooth dans sa version "boitier" ou sous gaine thermorétractable afin de gagner notamment en encombrement 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arno 69 Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 Je vais me lancer, vu que ça fait un moment que je cherche infos compact, léger et avec lecture de vitesse au bord de l'eau Ou acheter les cartes ? Le code il faut copier les etoiles aussi ? Je connais rien en Arduino et j'ai pas bien le temps de regarder de prêt Tu proposerai une version kit avec programme chargé et juste à souder ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
xenobus Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 C'est du bon boulot. Et c'est tentant de le faire. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Maskali XIII Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 Chapeau bas ! .. Ça c'est du tuto au service de la communauté Ps.. Tu as oublié un "/" et une virgule à la ligne 37 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Maskali XIII Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 Est il possible d'afficher l'altitude ???... Je sais que Sunderman a toujours voulu savoir s'il détient le record du plus haut "soleil" avec son Electra vert ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
ben Posté(e) 22 septembre 2018 Auteur Share Posté(e) 22 septembre 2018 Bonjour, pour améliorer la lisibilité es qu'un modérateur peux remplacer le code insérer précédemment par le fichier ci dessous et remplacer les deux schéma de début de sujet par cette version définitive. merci loggerGPS-SD.ino 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
ben Posté(e) 22 septembre 2018 Auteur Share Posté(e) 22 septembre 2018 @Arno 69 je pense que le plus simple c'est que chacun commande le nécessaire, je vais mettre ici des liens. Je vais étudier ta demande. @Maskali XIII Mais bien sûre que c'est possible et bien plus encore! Nous sommes dans une époque où beaucoup de choses son réalisable, on pourrait imaginer piloter nos modèle avec le smart phone ou faire chauffer le café... la seul limite est votre imagination! 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
ben Posté(e) 22 septembre 2018 Auteur Share Posté(e) 22 septembre 2018 Voici les lien vers les boutiques chez qui j'ai acheté les modules, j'essaye autant que possible de ne pas acheter chez les mastodontes américain mais la, les tarifs sont imbattables. Comment font ils?... Arduino nano: https://www.amazon.fr/dp/B00QPUEFNW/ref=pe_3044141_189395771_TE_3p_dp_1 lecteur SD: https://www.amazon.fr/dp/B00YMJVLAS/ref=pe_3044141_189395771_TE_3p_dp_2 module bluetooth HC06: https://www.ebay.fr/itm/HC-06-HC-05-module-bluetooth-emetteur-recepteur-ou-module-base-HC06-HC07-HC05/142503305546?hash=item212ddbe14a:m:mYSHrYZsvbi0buLhF9mwF0g module GPS: https://www.ebay.fr/itm/272499483857 carte micro SD et son adaptateur: https://www.ebay.fr/itm/151994222160 Lien vers le commentaire Partager sur d’autres sites More sharing options...
laurent Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 il y a 50 minutes, Maskali XIII a dit : Est il possible d'afficher l'altitude ???... Je sais que Sunderman a toujours voulu savoir s'il détient le record du plus haut "soleil" avec son Electra vert ! Je ne sais pas s'il a le record en hauteur mais en longueur c'est sûr ! @ben, je m'occupe des modifs 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
LOULE04 Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 Pourquoi ne pas tout prendre chez Amazon ? Je penses que tout est dispo...... Pour ceux qui ont un compte Prime , commandé avant 13h00 , reçu le lendemain ( pour les impatients..... ..) 2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arno 69 Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 il faut quoi comme capacité de micro SD ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fripouille Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 il y a 23 minutes, LOULE04 a dit : Pourquoi ne pas tout prendre chez Amazon ? Je penses que tout est dispo...... Pour ceux qui ont un compte Prime , commandé avant 13h00 , reçu le lendemain ( pour les impatients..... ..) C'est ce que je suis en train de regarder aussi Je m'attendais pas à un prix des composants aussi bas, j'en ai pas forcément l utilité en ce moment mais juste pour le fun je vais essayer merci Ben 👍 Lien vers le commentaire Partager sur d’autres sites More sharing options...
ben Posté(e) 22 septembre 2018 Auteur Share Posté(e) 22 septembre 2018 une carte Sd de 1 ou 2Go est largement suffisant Lien vers le commentaire Partager sur d’autres sites More sharing options...
Benoît Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 Coup total, on est pas loin d'un GSM-010. Bon ok on a le plaisir de le monter soi même avec celui ci Lien vers le commentaire Partager sur d’autres sites More sharing options...
youyou_35 Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 Il y a 1 heure, newnew95 a dit : Coup total, on est pas loin d'un GSM-010. Bon ok on a le plaisir de le monter soi même avec celui ci Mouai pas autant que ça, j’ai vu 60€ le gsm 010 là j’ai commandé le matos pour - de 20€ en tout Lien vers le commentaire Partager sur d’autres sites More sharing options...
LOULE04 Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 Il y a 3 heures, ben a dit : une carte Sd de 1 ou 2Go est largement suffisant Les 1 GO sont depuis un bout de temps quasi introuvables..... Lien vers le commentaire Partager sur d’autres sites More sharing options...
laurent Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 Il y a 1 heure, LOULE04 a dit : Les 1 GO sont depuis un bout de temps quasi introuvables..... sauf dans les fonds de tiroir peut-être ??... Lien vers le commentaire Partager sur d’autres sites More sharing options...
M2MAX Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 Genre 😀 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
laurent Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 Si c'est pas du collector ça... Lien vers le commentaire Partager sur d’autres sites More sharing options...
M2MAX Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 j'avais des 56MB mais faut faire un peu d'archeologie ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
LOULE04 Posté(e) 22 septembre 2018 Share Posté(e) 22 septembre 2018 il y a 52 minutes, laurent a dit : sauf dans les fonds de tiroir peut-être ??... Non Non , elles sont toutes dans les WII crackées 2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
M2MAX Posté(e) 23 septembre 2018 Share Posté(e) 23 septembre 2018 🏆 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
ben Posté(e) 23 septembre 2018 Auteur Share Posté(e) 23 septembre 2018 Paramétrage de l'application "BluetoothElectronics" https://play.google.com/store/apps/details?id=com.keuwl.arduinobluetooth&hl=en_US Cette application permet d'afficher les valeurs générés par le code de l'Arduino qui sont: le Fix qui est la qualité du signal GPS sur trois niveau, la vitesse courante, la vitesse maximum ainsi que la longitude et la latitude. 1/ Pour afficher les deux paramètres qui nous intéressent qui sont la valeur de vitesse maximale et la valeur de Fix il faut ouvrir l'application et éditer une page vierge. - insérer deux zone de texte de taille moyenne - éditer la zone de texte et renseigner le nom du paramètre a afficher dans le champ "default text", dans le champs "Receive Caracter" inscrire la lettre en minuscule correspondante a la valeur que vous voulez afficher. fix: f; vitesseCourante: v; vitesseMaximum: m; latitude: k; longitude:l - valider 2/ Insertion d'un bouton permettant la remise a zéro de la valeur de vitesse maximum ce bouton peut être intéressant si après votre premier run vous changez un réglage sur votre modèle et que vous souhaitez savoir quelle est la vitesse max lors du second run -insérer un bouton - éditer et inscrire la lettre r dans le champ "Press Text" - valider Lien vers le commentaire Partager sur d’autres sites More sharing options...
ben Posté(e) 23 septembre 2018 Auteur Share Posté(e) 23 septembre 2018 Coté carte SD, les données sont enregistrées dans un fichier texte sous la forme Fix, Vitesse, Longitude, Latitude. Pour mettre en forme les données et ainsi faciliter la lecture vous pouvez utiliser un tableur comme OpenOffice ou Excel. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés