J'ai dessoudé, la diode, on va voir ce que ça donne (je dois charger une batterie). J'ai effectué des tests sans convertisseur, avec un voltage de 3.7V, le GPS ultimate persiste à rester éteint. Je l'alimente via l'atmega (deux digitaux) et la tension est apparement de 3.3V (je m'attendais à 3.7V), mais l'ampérage ne dois pas être aussi fort qu'en 5V car si je branche le GPS sur le 3.3 du générateur il s'allume.
Il me vient donc une question, combien une broche digital configurée en OUTPUT peut elle délivrer de courant, en 5V et en 3.7V ?
L'atmega adopte des niveaux logiques de 3.3V pour toute tension inférieure à 5V ?
Je suis entrain de sécher sur ce qui semblait être une bricole au départ...
// --- Edit --------------------------------------------------------------------------
Bon, après une petite frayeur (mon alim qui m'a trollé) j'ai un peu avancé, d'après cette page : Arduino Playground - ArduinoPinCurrentLimitations le courant sortant par un digital en 3.3V est de 10mA. Alors j'ai utilisé les 7 digitaux qu'il me restait pour alimenter le GPS. Alors ça fonctionne mais j'ai un petit soucis. Déjà c'est abusé d'utiliser 7 digitaux, je trouve ça très sale. Ensuite, le GPS ne demarre pas comme en 5V. La première fois il clignote très vite et très faiblement. Si je relie le VIN et le GND du GPS avec un tournevis pendant une fraction de seconde il s'allume et trouve son fonctionnement normal (il s'allume, fait son boulot, s'éteint, etc). Tu as une idée pour expliquer ça ?
Ci joint mes fonctions ON et OFF pour le GPS :
void powerOffGPS() {
mySerial.println("$PMTK161,0*28"); // GPS go sleep
digitalWrite(GPS_VIN, LOW); // GPS OFF
digitalWrite(GPS_VINB, LOW);
digitalWrite(GPS_VINC, LOW);
digitalWrite(GPS_VIND, LOW);
digitalWrite(GPS_VINE, LOW);
digitalWrite(GPS_VINF, LOW);
digitalWrite(GPS_VING, LOW);
}
void powerOnGPS() {
digitalWrite(GPS_VIN, HIGH); // take the module ON
digitalWrite(GPS_VINB, HIGH);
digitalWrite(GPS_VINC, HIGH);
digitalWrite(GPS_VIND, HIGH);
digitalWrite(GPS_VINE, HIGH);
digitalWrite(GPS_VINF, HIGH);
digitalWrite(GPS_VING, HIGH);
delay(1000);
// 9600 NMEA is the default baud rate for Adafruit MTK GPS's- some use 4800
GPS.begin(9600);
// to turn on only the "minimum recommended" data
GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCONLY);
GPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ); // 1 Hz update rate
GPS.sendCommand(PGCMD_ANTENNA);
delay(1000);
// Ask for firmware version
mySerial.println(PMTK_Q_RELEASE);
}
Il doit bien exister une autre manière d'éteindre ce GPS (pas simplement de le mettre en veille, ça fait monter ma conso), un truc propre. Voilà, j'en suis là pour l'instant, bonne soirée amoureux et amoureuses d'AVR !