MonkeyDogTracker (3 / 4 paso)

Paso 3: Bocetos de Arduino

GPS: TinyGPS ++ biblioteca es utilizada por dos módulos:

http://arduiniana.org/Libraries/tinygpsplus/

Utilizo maniacBugs nrf24L01 bibliotecas:

https://github.com/maniacbug/RF24

https://github.com/maniacbug/RF24Network

Estos son bocetos bastante complejos.

Dibujo de collar: ArduinoTransmitter.zip

Recuerda: Este es un Mini Pro 8 MHz 3.3V Board y procesador. También el Mini Pro tiene un pinout diferente de tipo USB-BUB. Hice un USB adaptador en este Instructable:

Dibujo de la pantalla: ArduinoDisplayStation.zip

Recuerda: Este un Pro Mini 8MHz 3, 3V y procesador. Pero estoy usando el pinout USB-BUB 'estándar'.

LSM303DLHC: Por desgracia, no recuerdo donde conseguí esta librería de Arduino. Creo que era de Pololu. De todos modos, yo he conectado la biblioteca.

Para la librería de Pololu tiene un bosquejo de calibrar a ' calibrar la LSM303DLHC. Aquí está la descripción:

Calibre: Este programa es similar de serie, pero en lugar de las lecturas más recientes de la impresión, se imprime un funcionamiento mínimo y máximo de las lecturas de cada eje de magnetómetro. Estos valores pueden utilizarse para calibrar las funciones de heading() y el ejemplo de partida después de mover el LSM303 a través de cada orientación posible.

Lo modifico para que los minutos y Maxs se mostrará en el LCD5110. Ejecutar este boceto en el módulo de la pantalla. Ejecución de croquis, lentamente, gire y gire el módulo en todas las orientaciones. Grabar los minutos y Maxs en la pantalla, luego enchúfelos en bosquejo de DisplayStation, reemplazando los valores en las siguientes líneas:

Compass.m_min = (LSM303::vector) {-433, -600,-546};

Compass.m_max = (LSM303::vector) {+570, +488, +579};

Esto debería mejorar las lecturas de la brújula.

ADVERTENCIA: Cuando me actualicé a Arduino a la 1.6.1, tuve que actualizar las bibliotecas de Adafruit_GFX y Adafruit_PCD8544:

https://Learn.Adafruit.com/Adafruit-GFX-Graphics-Library

https://github.com/Adafruit/Adafruit-PCD8544-Nokia-5110-LCD-Library

Mostrar Resumen de bosquejo:

Además setup() y loop(), escribí seis funciones:

getRadioData() utiliza nrf24L01 + para recibir los datos enviados por el módulo de collar

getGPS() obtiene datos GPS del GPS interno

Calculate() calcula distancia y rumbo entre los dos

get getHeading() de Magnetómetro de LSM303

getPosition() obtener posición mediante rumbo y brújula

displayDirection() Mostrar la información en LCD5110

Setup() inicia GPS, brújula, nrf24L01 +, instala LCD5110

Loop() obtiene datos de collar, obtiene GPS, calcula distancia y rumbo y muestra

Artículos Relacionados

CarTracker

CarTracker

¿Has salido de una tienda y dijo a sí mismo, donde aparcar mi coche? Bueno, tengo. Ahora, hay un montón de aplicaciones de smartphone que puede ayudarle a localizar su coche pero los smartphones son caros.Así este viejo perezoso Geek (L.O.G.) decidí