############################ # 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 prunkdump@gmail.com 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 ! ---------------------------------
prikha/arduino-variometer
Arduino based variometer with accelerometer, screen, gps and sdcard code
C++