Étape 1: Comment fonctionnent l’électronique InPace ?
Tout le système est alimenté par un 3.7V 500mAh batterie de Lithium polymère.
Définir le commutateur « marche/arrêt » (qui se trouve dans le centre du panneau de contrôle dans l’image ci-dessus) sur la position permettra la LiPo charger le module s rouge (+) fil forme une connexion avec les régulateurs de tension d’entrée (+). La batterie du noire (-) le fil de terre est relié à des régulateurs de tension d’entrée (-).
Le régulateur de tension convertit la tension de sortie de la batterie LiPo de ~3.7V en 5V. Il s’agit du paramètre par défaut mais ce régulateur de tension est capable de 4-12V DC tension de sortie en ajustant la résistance fixe. Le régulateur est seulement capable de fournir un maximum de 1 a (1000mA) du courant. InPace consomme 750mA (+/-~ 150mA) lorsque allumé, donc cette limitation n’est pas un problème.
Le régulateur de tension (+) et les broches de sortie (-) sont reliés par un fil rouge et noir sur un morceau de PCB que j’ai abattu dans une section de 6 x 4 broches à l’aide d’un outil Dremel. Le but de ce PCB est distribution d’énergie. 12 les broches (la moitié d'entre eux) sont utilisés comme un commune VCC 5V ; les 12 autres sont utilisés comme un terrain d’entente.
Broche « RAW » de l’Arduino Pro Mini (étiqueté VIN d’un Arduino Uno et la plupart des autres conseils) est connectée à un de la (+) broches sur la carte de distribution de puissance, j’ai fait. Le VCC (+) et la masse (-) goupilles de ce qui suit sont également câblés à l’armoire de distribution électrique : le module Bluetooth 4.0, la LED RGB et le panneau de configuration.
Tous les Modules sont connectés à l’Arduino comme suit :
---------------------------------------
Adafruit microSD Card broches de lecture/écriture
CS -> broche D-10
MOSI -> broche D-11
MISO -> broche D-12
CLK -> broche D-13
-----------------------------
Adafruit ultime GPS_Module Module Pins
RX--> broche D-2
TX--> broche D-3
-----------------------------
Ours rouge Lab BLE Mini Bluetooth 4.0 Module Pins
(BLE Mini) RX--> TX (Arduino)
(BLE Mini) TX--> RX (Arduino)
-----------------------------
bouton tactile momentané--> Broche 8 (pour l’envoi de données Bluetooth)
bouton tactile momentané--> broche 9 (pour l’enregistrement de données GPS de mise en marche/arrêt)
-----------------------------
Common Anode RGB LED
4 pins : rouge | VIN | Vert | Bleu |
(1) Rouge--> broche A0 (sur l’Arduino)
(2) VIN--> VCC (sur la carte de distribution de puissance)
(3) vert--> broche A1 (sur l’Arduino)
(4) bleu--> broche A2 (sur l’Arduino)
-----------------------------
Si tout est correctement branché et que l’Arduino a été programmé avec mon code InPace, 3 États virtuels existera maintenant. Ceux-ci sont connus comme systemState (int) dans le code.
Si systemState = 1, le système est ne rien faire, mais en attente de l’intervention de l’utilisateur. Les LED RGB sera rouge. Si ce n’est pas déjà, le module GPS tenterons d’obtenir le correctif de Satellite.
Si vous appuyez sur le bouton GPS, l’Arduino est notifié par l’intermédiaire de la broche numérique 9 systemState est changé à 2 et le RGB LED deviendra vert. Lorsque systemState = 2, le code de InPace analyse les données du satellite GPS NMEA que le module GPS est alimenter l’Arduino. J’ai utilisé la bibliothèque de SoftwareSerial Arduino pour faire des broches 2 et 3 agissent comme les broches TX et RX pour permettre la communication avec le module GPS. Puis, après être analysé dans des chaînes, les données GPS sont écrit sur la carte microSD à travers pins 10-13 (Arduino) qui sont connectés à l’évasion de microSD comme indiqué plus haut. Longitude, Latitude, Date et heure sont ajoutés à une gpsdata.txt de fichier texte (le seul fichier sur la carte microSD).
Voici un exemple de comment les chaînes de données GPS sont enregistrées dans la carte microSD.
start-105.269462 40.005664 04/22/2015 23:47:14 -105.269363 40.005630 04/22/2015 23:47:16 -105.269409 40.005664 04/22/2015 23:47:17 -105.269340 40.005699 04/22/2015 23:47:20 end
Si le GPS touche à nouveau, enregistrement de données sera arrêtée. Si vous appuyez sur le bouton Bluetooth tandis que systemState = 2, rien ne se passera.
Si vous appuyez sur le bouton Bluetooth tandis que l’Arduino est dans « Etat virtuel 1 » (systemState = 1, en attente de l’intervention de l’utilisateur), aura la valeur systemState égal à 3 et les données du fichier texte seront envoyées via bluetooth. Cela se fait par itération sur toutes les lignes du fichier gpsdata.txt et imprimant à la série un format UTF-8 encoded chaînes. La LED RGB sera bleu jusqu'à ce que toutes les lignes de gpsdata.txt a été envoyé par Bluetooth par l’intermédiaire de série (broches 0 et 1, RX et TX de l’Arduino) à une vitesse de transmission de 57600.