Paso 1: ¿Cómo funcionan los componentes electrónicos InPace?
El sistema entero es alimentado por un 3.7V batería de polímero de litio de 500mAh.
Ajuste el interruptor "on/off" (que se encuentra en el centro del panel de control en la foto de arriba) a la posición ON permite la LiPo de carga módulo 's rojo (+) cable forma una conexión a los reguladores de voltaje (+) entrada. Negra de la batería (-) cable a tierra está conectado a los reguladores de voltaje (-) entrados.
El regulador de voltaje convierte el voltaje de la salida de la batería de LiPo de ~3.7V en 5V. Esta es la configuración por defecto pero este regulador de voltaje es capaz de 4 12V DC tensión de salida ajustando la resistencia fija. El regulador sólo es capaz de proporcionar un máximo de 1A (1000mA) de la corriente. InPace consume 750mA (+-~ 150 mA) mientras que el encendido por lo que esta limitación no es un problema.
El de regulador de voltaje (+) y (-) salida pines están conectados por un cable rojo y negro a un trozo de PCB que corta en una sección de 6 x 4 pines con una herramienta Dremel. El propósito de este PCB es distribución de energía. 12 de los pernos (la mitad de ellos) se utilizan como un VCC de 5V común; los otros 12 se utilizan como una base común.
Pin de "RAW" el Arduino Pro Mini (con la etiqueta VIN en un Arduino Uno y la mayoría de las otra placas) está conectado a uno de los (+) fija en el tablero de distribución de poder que hice. El VCC (+) y GND (-) los pernos de las siguientes también se conectan a la placa de distribución de potencia: el módulo de Bluetooth 4.0, RGB LED y el Panel de Control.
Todos los módulos están conectados a la Arduino como sigue:
---------------------------------------
Adafruit microSD tarjeta de lectura/escritura Pins
CS -> pin D-10
MOSI -> pin D-11
MISO -> pin D-12
CLK -> pin D-13
-----------------------------
Adafruit GPS_Module final módulo Pins
RX--> pin D-2
TX--> pin D-3
-----------------------------
Oso rojo laboratorio BLE Mini Bluetooth 4.0 módulo Pins
(BLE Mini) RX--> TX (Arduino)
(BLE Mini) TX--> RX (Arduino)
-----------------------------
pulsador táctil momentánea--> pin 8 (para el envío de datos de Bluetooth)
pulsador táctil momentánea--> pin 9 (para registro de datos GPS arranque/parada)
-----------------------------
Común ánodo RGB LED
4 pernos: rojo | VIN | Verde | Azul |
(1) rojo--> pin A0 (en el Arduino)
(2) VIN--> VCC (en el tablero de distribución de energía)
(3) verde--> pin A1 (en el Arduino)
(4) azul--> pasador A2 (Arduino)
-----------------------------
Si todo está correctamente conectado y programado el Arduino con mi código InPace, 3 Estados virtuales ahora existirá. Estos son conocidos como systemState (int) dentro del código.
Si systemState = 1, el sistema es no hacer nada pero a la espera de la interacción del usuario. El LED RGB será rojo. Si no ya, el módulo GPS se intentar conseguir el fix de satélites.
Si se presiona el botón GPS, el Arduino es notificado vía pin digital 9 systemState se cambia a 2 y el LED RGB se vuelve verde. Cuando systemState = 2, el código InPace analiza los datos del satélite GPS NMEA que el módulo GPS es alimentar el Arduino. He utilizado la librería SoftwareSerial de Arduino para hacer los pines 2 y 3 actúan como los pines RX y TX para permitir la comunicación con el módulo GPS. Después de ser analizado en cadenas, los datos GPS luego está escritos en la tarjeta microSD a través de pernos de 10-13 (Arduino) que están conectados con el desbloqueo de microSD como se señaló anteriormente. Longitud, latitud, fecha y hora se añaden a un gpsdata.txt de archivo de texto (el único archivo en la tarjeta microSD).
Aquí es un ejemplo de cómo las secuencias de datos GPS se guardan en la tarjeta 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 se presiona nuevamente el botón GPS, registro de datos se detendrá. Si se presiona el botón de Bluetooth mientras systemState = 2, no pasará nada.
Si se presiona el botón de Bluetooth, mientras que el Arduino es en estado virtual del"1" (systemState = 1, a la espera de la interacción del usuario) systemState se establecerá igual a 3 y se enviarán los datos del archivo de texto por bluetooth. Esto se hace mediante iteración en todas las líneas del archivo gpsdata.txt e imprimir en serie como un UTF-8 codificado en cadenas. El LED RGB será azul hasta el cada línea de gpsdata.txt ha sido enviada por Bluetooth a través de la serie (pines 0 y 1, RX y TX del Arduino) a una velocidad de 57600.