Le schéma électrique:

Commençons par l'alimentation: Comme je le disais plus haut, c'est une batterie de 3,7 volt qui va fournir l'énergie à tout les circuits . Un"chargeur" avec fiche micro USB (ref.:TP4056) va permettre la recharge ou le fonctionnement sur une source extérieure dont les deux leds, respectivement rouge et verte, nous renseignent si les accus sont en charge ou complètement chargés. La couleur des leds est visible par le trou de la fiche USB. Le temps de charge va dépendre de la capacité de la batterie et de son avancement dans la décharge ...

Cette batterie va être reliée à un relais dont la bobine sera collée par l'appui sur le bouton/contact de l'encodeur rotatif; en appuyant dessus on vient fermer le circuit, via la diode D1 1N4148, en tirant à la masse. Le relais s'actionne, fermant son contact, et permettant l'alimentation de tous les circuits; on garde le doigt sur le bouton jusqu'à ce que l'Arduino prenne vie et assure, via son programme et sa sortie D12 (PWR), l'auto-maintient du relais par la mise en conduction du transistor T1 2N2222, à travers la résistance de limitation R4 de 2K2, pour confirmer la mise à la masse de la bobine jusqu'à ........ ce qu'on lui dise d'arrêter (on ne va pas garder le doigt en permanence sur le bouton tout de même !) . Une diode de roue-libre D2 1N4148 est placée aux bornes de la bobine du relais pour absorber les courants de self rupture.
J'ai prévu deux types de relais pour que chacun puisse y mettre ce qu'il a dans ses stocks ! la sérigraphie du circuit est prévue à cette fin . Le relais sera de type miniature en 5 volts mais ça fonctionne très bien avec 3,7 volt, jusqu'à 2,8 volt (là la batterie est bien déchargée !) Attention de choisir un relais avec un pouvoir de coupure assez conséquent, car lors de la mise sous tension, il y a un appel de courant non négligeable par l'onduleur d'élévation de tension qui risque de souder le contact ...( pas de relais DIL, j'en ai fait l'expérience ...Grrr).
Pour générer du 5 volts, à partir du 3,7 volts, je confie la tâche à un circuit convertisseur DC/DC 3,6 -->5v Boost converter qui va me monter, redresser et filtrer la tension à 5 volts pour l'alimentation de tous les composants; Une led bleue sur le circuit nous renseigne sur son bon état de fonctionnement lorsque le contact du relais est fermé .

La résistance R5 prend la tension de la batterie et la transmet, juste pour information, à une entrée analogique (A3) de l'Arduino Nano dans le but de l'afficher lors du démarrage. De toutes façons, si elle n'a pas la valeur suffisante, le relais ne pourra pas coller, et le GPS s'arrêtera au relâché du bouton .
Vous l'avez sans doute compris, un Arduino Nano va gérer toutes les fonctions des éléments qui lui sont attachés; A commencer par le module GPS du type NEO-6M, dont l'alimentation est "raffraichie" par l'électro-chimique C1 de 25µF. La communication est assurée à 9600 bauds par les lignes D2/D3, dédiées à cet effet sut le microcontrôleur. Une led rouge nous indique que le GPS est correctement alimenté et une led verte clignotante nous indiquera que des satellites sont "en vue" ! Attention il faut parfois un certain temps avant que les premières données soient interprétées ... Et tant que la réception n'est pas effective, on ne peut arrêter le GPS que par coupure la batterie .

Le GPS et son antenne ...
Un codeur incrémental va permettre de se déplacer dans les différents menus par rotation avant ou arrière et validation par appui sur l'axe ! Pas de résistances de 'pull up' physiques, car Arduino permet de les déclarer dans le programme; profitons de cette aubaine ... Les entrées analogiques A0 à A2 ont été traitées en digitale pour ce cas. La pin A3, elle reste en analogique afin d'exploiter la mesure de tension de batterie et pour l'afficher dans les présentations au démarrage .
Un afficheur 2x16 caractères nous permet de visualiser toutes ces données ... Le rétro éclairage, dans un soucis de prolonger l'autonomie, est piloté par une sortie PWM qui va ajuster la luminosité suivant le besoin et la réduire si le mode "Eco" est validé . Un transistor CMS 2N2222 interface la sortie à travers une résistance de base de 22K (R2) et une limitation de courant de 100 (R1) . Le contraste du LCD peut être réglé par un ajustable de 10K; personnellement je le prérègle par deux résistances SMD de 8K2 (R3) et 1K (R7) : c'est moins cher et ça simplifie bien le tracé du circuit imprimé ... Le pilotage est fait dans la facilité de 4 lignes de données (D4..D7) et deux pour la commande (E) & (RS) ... Classic !
Le circuit Imprimé:

Le circuit câblé sans l'afficheur ...
Le circuit imprimé est 'simple face' réalisé suivant ma méthode habituelle expliquée ?ICI ! Le typon et tous les fichiers nécessaires à la réalisation sont dans le ZIP plus bas .
Trois straps permettent de s'affranchir de la double face. J'ai également fait une double empreinte pour le relais: le but étant de mettre ce que l'on a dans les stocks sans courrir chez le revendeur de composants; un relais de 5 volts, avec une bonne valeur ohmique de bobine (pour la consommation) fonctionne très bien sous 3 volts et reste collé jusqu'à 2,8 volts (là, la batterie est bien à plat; de plus, ça la préserve pour ne pas la vider jusqu'à la moelle ) . Après réalisation et perçage du circuit imprimé, on commence par souder les résistances, diodes et transistor CMS puis les straps et enfin les composants traversants, avec une attention particulière pour les connecteurs femelles en barrettes sécables, à monter bien perpendiculairement . Le chargeur et le convertisseur sont soudés sur des picots mâle/mâle . j'ai monté mon relais à l'horizontale sur des pinuches coudées à 90° pour une question de longueur d'entretoises de l'afficheur; les miennes étaient si petites que le relais entrait en conflit avec les sertissages de l'écran. Le codeur incrémental est juste à la bonne hauteur et son corps métallique sert de pont de continuité de masse. Le connecteur de la batterie dispose volontairement de 3 pins pour ne pas faire de dégâts, si par étourderie, on le branche à l'envers .
Le programme ou sketch :
Comme d'habitude, on ne change pas une équipe qui gagne et puisque c'est un Arduino Nano le coeur du projet, pour le développement et chargement, j'ai utilisé l'IDE Arduino; ce qui m'a permis d'importer et d'adapter certaines parties qui avaient le privilège d'exister sur un appareil de navigation maritime. Pour faciliter la compréhension de ce que j'ai fait, j'ai ajouté de nombreux commentaires sur chaque ligne (ou presque !) La version complète se trouve dans le fichier .ZIP plus bas !
