Bonjour, apres avoir un peu taté de l'electronique et de la programmation dans ma jeunesse, à 50 balais je me remets à la bidouille.
J'ai découvert la carte Arduino et me suis déjà pas mal amusé avec tout en restant très limité dans mon cahier des charges.
Je me sers du prétexte de la rénovation/transformation d'un 2 roues, pour bricoler avec mon Arduino. J'ai commencé avec un afficheur LCD pour afficher, la tension batterie, la température exterieur, le niveau de la jauge à essence, avec la gestion des LEDS pour alertes eventuelles, jusque là tout va bien. Soyons fou ! A la lecture des réalisations faites j'ai voulu copier et mettre un afficheur plus grand pour avoir, l'heure, la vitesse, la position et le cap et Hop un petit GPS commandé. Mais voilà mon problème.
Impossible de tirer quoique ce soit ! Sauf si j'utilise les ports RX0 et TX1 ou je vois bien les trames NMEA s'afficher dans le moniteur Série. Donc mon module fonctionne.
Par contre, dés que je veux utiliser la liaison série "Software", plus rien...
J'ai testé plusieurs codes exemples glannées de part et d'autre, les bibliothèques, SoftwareSerial.h, tinyGPS.h, I2S_GPS_NAV.h (fournie avec le GPS), rien ! Je ne demande qu'à afficher la trame NMEA dans le moniteur série, ensuite je me débrouille pour l'exploiter à ma guise.
Voilà un exemple de code récupérer sur : http://tronixstuff.com/2014/01/15/tutorial-arduino-mediatek-3329-gps/
// Example 19.1
#include <SoftwareSerial.h>
SoftwareSerial GPS(2,3); // configure software serial port -
void setup()
{
GPS.begin(9600);
Serial.begin(9600);
}
void loop()
{
byte a;
if (GPS.available() > 0 )
{
a = GPS.read(); // get the byte of data from the GPS
Serial.write(a);
}
}
et voici les erreurs à la compilation :
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp:59: warning: only initialized variables can be placed into program memory area
---
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In function 'void store_char(unsigned char, ring_buffer*)':
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:98: warning: comparison between signed and unsigned integer expressions
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In function 'void __vector_18()':
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:127: warning: unused variable 'c'
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In member function 'void HardwareSerial::begin(long unsigned int, byte)':
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:368: warning: unused variable 'current_config'
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In member function 'virtual size_t HardwareSerial::write(uint8_t)':
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:467: warning: comparison between signed and unsigned integer expressions
---
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\Print.cpp: In member function 'size_t Print::print(const __FlashStringHelper*)':
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\Print.cpp:44: warning: 'progmem' attribute ignored
---
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\Tone.cpp:119: warning: only initialized variables can be placed into program memory area
---
j'ai également éssayer avec quelques codes récupérés sur ce forum, sans plus de succés.
Donc, 1erement, merci de m'avoir lu jusque là,
et ensuite merci d'avance pour vos solutions, tenant compte que je devellope d'abord sur une arduino UNO et qu'ensuite le montage final se fera sur une arduino NANO V3.0 (ce qui ne devrait pas poser de problème en principe).