Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

zeroeth/oculus_aethereum

Repository files navigation

At last my time trans-location side arm was complete! I quickly moved to my bedroom and moved the giant chest of drawers and fired at the large wall it once was previously obstructing... and lept in. I ended up at the 1964 worlds fair--a curious affair filled with technology that seemed like magic to my mind. And that's when a man dressed in a slim black suit, of the finest fabric I had ever laid eyes on handed me a pair of goggles. The ominous glow was unlike anything from my time, or the present one. The man held them firmly in his grasp for a brief moment and uttered, "You must find her," and slowly faded from existence.

preview

Oculus Aethereum

Preview them in action here http://www.youtube.com/watch?v=w8Tyc3dmfSE

Instructions

  • Get the NeoPixel library and learn more about them at http://www.adafruit.com/products/1463
  • Connect two (or more) Adafruit NeoPixel Rings together
  • Set the pin you connected them to in the code (Default is 4)
  • Add Spots, Wobblers, Pulsars, Circlers and Growers as you see fit in the themes file!
  • Adjust their speed, color, and amplitude for variation.
  • Upload the code using Arduino's software.

Annotated Source

http://zeroeth.github.io/oculus_aethereum/docs/oculus_aethereum.ino.html

Nerdy Notes for the Curious

The style of this code is based on a Model/View pattern: The models (another name for classes that deal with data only) take care updating their information, in this case, the wobble or position of rotation of a light segment. The model's don't need to know about how many leds there are in a circle. The Views gather their respective Models and render them to the NeoPixel strands.

This code is object oriented uses Pointers to objects. Read more about the C++ constructors at http://www.learncpp.com/cpp-tutorial/101-constructor-initialization-lists/.

The Spot class has virtual in front of its update() method, this makes sure the proper method is called on its subclasses instead of the original method.

The #IFNDEF SOMETHING_HERE lines you see in the header files solve an annoying situation in C/C++ where including a header in multiple places gives a warning that whatever is in it has been defined twice.

About

One day I stepped foot into a strange land.. a strange time..

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /