Things used in this project

Hardware components:
Core
Particle Spark Core
×1
Adafruit Neo Pixel - 4 pack - Breadboard friendly
×1
Adafruit 8 channel - Bi-directional Logic Level Converter
×1
LED Glow Orb
Buy this on amazon and gut the electronics. The translucent shell works really great!
×1
Software apps and online services:
Heroku
Firebase
Hand tools and fabrication machines:
09507 01
Soldering iron (generic)

Schematics

Picture of circuit
Img 3584

Code

Particle codeC/C++
Paste this code into the Particle IDE for your project
#include "neopixel/neopixel.h"

// IMPORTANT: Set pixel COUNT, PIN and TYPE
#define PIXEL_PIN D2
#define PIXEL_COUNT 4
#define PIXEL_TYPE WS2812B

Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

int r = 0;
int g = 0;
int b = 0;

void setup() 
{
  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
}
void loop() 
{
   Spark.function("color", ledControl);
   if (r == 0 && b == 0 && g == 0) {
     rainbow(20);
   }
}

int ledControl(String command){
  int i;
  String rs = String(command.substring(0,3));
  String gs = String(command.substring(3,6));
  String bs = String(command.substring(6));
  r = (int)rs.toInt();
  g = (int)gs.toInt();
  b = (int)bs.toInt();
  for(i=0; i<strip.numPixels(); i++) {
    strip.setPixelColor(i, strip.Color(r,g,b));
  }
  strip.show();
  return 1;
}

void rainbow(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel((i+j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  if(WheelPos < 85) {
   return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  } else if(WheelPos < 170) {
   WheelPos -= 85;
   return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } else {
   WheelPos -= 170;
   return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
}
Orby Hue App
This is the code you'll need to run on heroku (or other service) if you want a webUI to change the color of your orb

Credits

43358b1dc76c91f999cd7258873dbcb8
Brian Chamberlain

Software Engineer and Hardware Hacker

Replications

Did you replicate this project? Share it!

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

Solar Smart Greenhouse Using Vertical Aquaponic Towers
Intermediate
  • 2,452
  • 37

Work in progress

Feed your family with 22 sqm greenhousing by combining permaculture, aquaponic vertical towers and IoT.

Drop of Life
Intermediate
  • 618
  • 16

Full instructions

A display to remind me when I can donate blood and save lives, powered by the Red Cross API and Particle.

Avoid Injuries with Smart Backpack
Intermediate
  • 873
  • 11

Full instructions

Smart Backpack helps you to avoid injuries caused by backpacks by alerting you about improper uses.

PiGlass
Intermediate
  • 2,552
  • 18

Full instructions

A device that can measure environmental conditions and relay to the user; in glasses form.

FM radio
Intermediate
  • 7,568
  • 33

Full instructions

Build a great sounding FM radio with a cool display using an Arduino Nano and the Sparkfun Si4703 FM tuner breakout

Alexa Trigger ESP8266
Intermediate
  • 1,480
  • 13

Work in progress

Use Alexa to voice control a relay connected to the Internet via ESP8266-01.

ProjectsCommunitiesContestsLiveAppsBetaFree StoreBlogAdd projectSign up / Login
Respect project
Feedback