Coder Social home page Coder Social logo

arduino-variometer's Introduction

############################
# Arduino based variometer #
############################

Features :
---------
- High precision altitude with improved ms5611 code
- High precision vertical velocity with InvenSense accelerometer (optionnal)
- Screen display with Nokia 5110 : altitude, vertical speed, ground speed, glide ratio and more (optionnal)
- Ground speed and glide ratio with GPS device (optionnal)
- Flight tracking with SD card reader and GPS (optionnal)
- Bluetooth communication with external device (optionnal)
- Battery level (optionnal)


How to build :
--------------
Pre-build kits can be found here :

https://github.com/prunkdump/variometer-kits

Contact me for more informations at [email protected]


Variometer Wiring :
-------------------

See schematic.pdf for full diagram.

ms5611/mpu9250 board :
SDA -> Arduino A4
SCL -> Arduino A5
VCC -> Battery RAW +
GND -> GND

Speaker (simple) :
Speaker + -> 120 Ohms resistor -> Arduino D9
Speaker - -> Arduino D10

Speaker (amplified with L9110) :
L9110 IA -> Arduino D9
L9110 IB -> Arduino D10
L9110 OA -> Speaker +
L9110 OB -> Speaker -
L9110 VCC -> Battery RAW +
L9110 GND -> GND

Nokia 5110 board :
SCLK -> Arduino D13
DIN/MOSI -> Arduino D11
DC -> any Arduino pin (default D4)
CS -> any Arduino pin (default D3)
RST -> any Arduino pin (default D2)
VCC -> regulated 3.3V !
GND -> GND

GPS board :
GPS TX pin -> Arduino RX pin
GPS RX pin -> any Arduino pin (only used for GPS configuration)
GPS VCC -> Battery RAW +
GPS GND -> GND

SD card reader :
CS -> any Arduino pin (default A0)
MOSI -> Arduino D11
SCLK -> Arduino D13
MISO -> Arduino D12
5V -> Battery RAW +
GND -> GND

Bluetooth module :
Bluetooth RX pin -> Arduino TX pin
Bluetooth TX pin -> arduino pin with interrupt capatibility (default D8, used only for Bluetooth configuration)
Bluetooth VCC -> Battery RAW +
Bluetooth GND -> GND

Battery level unit (voltage divisor) :
Arduino Analog pin (default A2) -> 270 kOhms resistor -> Battery RAW +
Arduino Analog pin (default A2) -> 1 MOhms resitor -> GND


Code configuration :
--------------------

!!! Don't skip this step !!!
Open ./libraries/VarioSettings/VarioSettings.h and check all the parameters.
To "comment" a line put a "//" at the beginning.


If you embed an SD card reader :
--------------------------------

Compile and upload "SetVarioParameters" sketch and run it. This store
the "pilot" parameters in EEPROM. This must be done just one time.


!!! Don't skip this step !!!
Make a less than 2Go partition (typically 1,5Go) on the SD card. And
format it in FAT16.


If you embed an InvenSense accelerometer :
------------------------------------------

Don't forget to set the model in "VarioSettings.h". Next compile and
upload "calibration_nointeractive" sketch. And follow this procedure :

https://www.youtube.com/watch?v=fc0vIsZJvsw

This must be done just one time.

---------------------------------
YOU CAN NOW TRY YOUR VARIOMETER !
---------------------------------

arduino-variometer's People

Contributors

prunkdump avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.