Giter Club home page Giter Club logo

arduino-altimeter's Introduction

Arduino-Altimeter

A customizable Arduino script to record Altimeter data (among other things) using an Arduino, a sensor, and an optional external EEPROM. This was created with model rocketry in mind, especially after struggling to find specific information on creating compact and light Arduino Altimeters.

Materials / Supplies

The materials you will need to create this depends on what you want to make. However, you will need a couple basic things.

  • An Arduino Nano or Pro Mini(better option, but harder for new users)
  • A Sensor that can read barometric pressure(MS5611)
    • GY-63 and GY-86 are currentlty the only two tested sensors, however there should be no reason any sensor with an MS5611 wouldn't work.
  • I2C EEPROM. FOr example a 24LC256 or 24LC512
  • A 7V battery for Nano or 3v button battery for Pro Mini
  • Wiring. Hookup wires or enamled copper wire work fine.
  • Soldering iron (and knowledge on how to use one)

Using the Code

VSCode - PlatformIO (reccomended)

  1. Download this Repo if you havent done so already
  2. Open PlatformIO and press Import Project
  3. Select your board type and then select the Repo folder
  4. Open platformio.ini and comment out thr board types that do not correspond to yours(uses ; for comment)
  5. Open src/Altimeter.ino and change the settings at the top
  6. Run the script like you normally would (All dependancies are automatically downloaded)

Arduino IDE

  1. Download this Repo if you havent done so already
  2. Download all external dependancies, and place them in your library folder
  3. Open platformio.ini and comment out thr board types that do not correspond to yours(uses ; for comment)
  4. Open src/Altimeter.ino in a new sketch and change the settings at the top
  5. Run the sketch

Program function

The program has two states:

  • Altimeter
    • Will log all altitude data to the eeproms(read above).
    • Built in LED will be flashing repeatedly
    • Power LED will be on
  • Reader
  • Will open a serial connection and output the contents of the eeprom.
  • Built in LED will be off
  • Power LED will be on

The program will start in altimeter if the first byte in the selected eeprom reads False. Once in Altimeter mode it will set these bytes to True and run as an altimeter until the arduino is shutdown. If the first byte reads True it will enter reader mode. Once it is done printing the contents, it will prompt you to unlock the eeprom(wether or not you want to set the first byte to false). Aside from manually reassigning the value of the byte, this is the only way of re-entering altimeter mode. The reason for this is to ensure that altimeter data is not overwritten.

Wiring

BATTERY:

	+     :     VIN
	-     :     GND

GY-63:

	VCC     :     5V
	GND     :     GND
	SCL     :     A5 / SCL
	SDA     :     A4 / SDA
	CSB     :     UNUSED
	SDO     :     UNUSED
	PS      :     UNUSED

GY-86:

	VCC_IN  :     5V
	3.3V    :     UNUSED
	GND     :     GND
	SCL     :     A5
	SDA		:     A4
	FSYNC   :     UNUSED
	INTA    :     2
	DRDY    :     UNUSED

arduino-altimeter's People

Contributors

lyricpants66133 avatar

Stargazers

 avatar

Watchers

 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.