GithubHelp home page GithubHelp logo

3dcompass's Introduction

3D Compass

Bill of Materials

Tools Required

  • Hobby Knife
  • Drill
  • Drill Bit 7/64"
  • Soldering Iron/Solder
  • Flat-head screwdriver
  • Hot Glue Gun/Glue
  • USB mini cable

Mechanical Assembly Instructions

3D Printing Brackets

  • Print 1 top and 1 bottom bracket. 60% infill and a raft are recommended.
  • Using a soldering iron, insert the heat-set thread inserts. Eight in bottom plate, 4 in riser posts, 4 in Arduino mounts. Two in top plate for magnetometer mounts. Demonstration Video

Assemble Top Plate

  • Attach the magnetometer with 4-40 nylon screws. Shear the excess length flush with the bottom of the plate using a hobby knife. Be careful to not break the superstructure on the printed part.
  • Place the capacitor into the cut-out and secure with a drop of hot glue.
  • Solder ~5 cm of wire onto the data in line on the 16-element ring.
  • Place the 16-element NeoPixel ring into the vertical ring holder. Thread the data-in line through the hole in the bracket. This ensures that data-in, V+, and GND are all accessable. Secure with a drop of hot-glue.
  • Place the 24-element NeoPixel ring onto the riser posts. Line up the data-out pad to be near the data-in line on the smaller ring. The LED should be directly above the mounting post. Secure with hot-glue on each post.

Assemble Bottom Plate

  • Secure the Arduino RedBoard to the base plate with 4-40 nylon screws. Shear the excess length flush with the bottom of the plate using a hobby knife.

Attaching the Plates

  • Using the 4-40 nylon screws, attach the top and bottom plates. Shear the excess length flush with the bottom of the plate using a hobby knife. You may prefer to do the wiring with the screws out for easy access, but it shouldn't be too much of a problem.

Wiring Instructions

  • See photos on how to make this easier with header.
  • Trim and solder the data-in wire on the vertical ring to the data-out pad on the 24-element ring.
  • Connect the data-in pad on the 24-element horizontal ring to pin 13 on the Arduino. The resistor goes in-line here as well. You can use 0.1" header to make this easier to assemble and troubleshoot.
  • Connect a ground pad from the 24-element horizontal ring to a ground pad on the 16-element vertical ring.
  • Connect the second ground pad on the 16-element vertical ring to the ground size of the capacitor (marked with -- on the case).
  • Connect the ground side of the capacitor to GND on the Arduino. Header can make this easier.
  • Connect the power pads of both rings to the positive side of the capacitor.
  • Connect the positive side of the capacitor to +5VDC on the Arduino.
  • Connect the GND, SDA, and SCL pins of the magnetometer to GND, SDA, and SCL on the Arduino.
  • Connect the power pin of the magnetometer to the +3.3VDC pin on the Arduino.

Programming

  • Install the NeoPixel, Adafruit Sensor, and Magnetometer libraries. For help, see the library tutorial.
  • Connect the Arduino to your computer and upload the code in the Arduino/Vector_Display directory (see the Arduino guide) if you need help uploading programs to the Arduino.
  • Play with parameters such as brightness and grading to create your own display!
  • The #define DECLINATION directive adjusts the compass headings for your current location. You can look up this value at (CIRES)[http://geomag.org/models/wmm-declination.html] but you need to convert the DMS to radians.

Activity Ideas

You can learn a lot from your new compass/magnetometer! In addition to learning about the electronics and hardware, you can learn about magnetic fields and the Earth's geodynamo. Below are a few links to get you started and some ideas. Please contribute any experiments or activities that you develop!

3dcompass's People

Contributors

jrleeman avatar rtclauss 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.