16 April 2016
Magic Item
The Rememberaball
This Week’s assignment was: Pick a spell from the AD&D Player’s Handbook (any edition), other fantasy role playing game, or from fantasy literature or mythology, and make it real.
I’ve decided to make a Harry Potter Remembeall
‘It’s a Remembrall!’ he [Neville] explained. ‘Gran knows I forget things – this tells you if there’s something you’ve forgotten to do. Look, you hold it tight like this and if it turns red – oh…’ His face fell, because the Remembrall had suddenly glowed scarlet, ‘… you’ve forgotten something…‘
(From Harry Potter and the Philosopher’s Stone, Chapter Nine)
A Remembrall is a tennis ball-sized glass ball that contains smoke that turns red when its owner has forgotten something. It turns clear once whatever was forgotten is remembered.
How It’s Done:
With Tal’s advice, I got a Light Blue Bean, it’s a tiny size BLE dev board. 30$ worth.
I cut the board, to fit it into a small clear ornament ball. And soldered a strip of 5 Neopixels to it.
Then, I programed the board to only blink the Neopixels when there is no Bluetooth connection. which means, whenever it is far enough from a chosen device to be connected, it will blink.
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 0
#define NUMPIXELS 5
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
bool connected = false;
void setup()
{
Bean.setLed(0, 0, 0);
pixels.begin(); // This initializes the NeoPixel library.
}
// the loop routine runs over and over again forever:
void loop()
{
connected = Bean.getConnectionState();
if (connected) {
for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, pixels.Color(0,0,0)); // Turn off all pixels.
pixels.show(); // This sends the updated pixel color to the hardware.
}
}
else{
for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, pixels.Color(160, 0, 160)); // Purple color.
pixels.show();
Bean.sleep(25);
pixels.setPixelColor(i, pixels.Color(0,0,0)); // Turn off - blink
pixels.show();
}
}
Bean.sleep(100);
}
I then just covered the Light blue bean with a plastic bag, to give it a smoke effect, and put it inside the clear ball.