An interactive gift basket that gives it’s recipient insight on which energy source is best for them, based on their beloved preference: money or the environment
Fossil fuel is finite. In the pace we’re using it, it’ll all be gone in decades. In comparison, the sun is estimated to have 5 billion years of shining left. The fact most of the earth (~80%) is still powered by fossil fuel is a calamity.
Energy basket is communicating this simple truth with a simple, playful interface.
Conclusion:
Even if you’re greedy, renewable energy is still a better deal.
About Energy Basket
In a world where the activists in charge of climate change propaganda are 13 year old girls, critical objects better be adorable.
Renewable energy technologies exist for ages. They’re significantly better environmentally, not releasing any pollution to the atmosphere. Currently, green energy prices are more or less leveled with the prices of fossil fuels, and they keep on plunging, as reported on Forbes. With the dwindling supply of fossil fuels, it’s clear that their prices will only rise.
Our world’s politicians keep on favoring fossil fuels with their orders and legislations. Being involved with the fossil fuel business, they might see immediate profit from it. But in the long run, it’s clear that renewable energy will profit everyone involved, environmentally and financially.
Approachable API sources from Data.gov provide data on the shifts in usage and pricing of the different energy sources. I considered using them, but decided going a simpler route. I wanted this critical object to speak to a large audience.
The chosen object is a gift basket, in order to represent the world we’re gifting to the upcoming generations. It’s aesthetic draws further from the serious, discomforting, mechanic or fetishized that often is associated with critical objects. It was purposely designed to look fun and funny, kitschy and festive. A caricature of a diorama, like decoration board on steroids.
The basket is portioned to two sides illustrating two options of worlds we might be headed into.
Fossil-fueled petroleum half
Grotesque garden made of glitzening plastic debris. Trump-figurine, dollar sign and toy gun illustrating the corruption and greed behind the fuel industry.
Biodegradable-renewable half
Adorable floral arrangement handcrafted of natural and recycled materials.
The Environment heart piece is an actual homemade biodegradable sculpture made of mushroom mycelium.
@EnergyBasket Twitter
An automatic twitter account mirroring the basket
Talking to @EergyBasket1 twitter Profile, you can send your preferred choice and receive a personalized reply online. Energy Basket reply bot will auto-generate a result twit for you, with the energy source that’s best for you. Our social media manager will explain to you why it makes sense, if necessary.
Tweets by EnergyBasket1Further development suggestion
This is only a prototype. A more developed version will ideally include:
♥ An option actually to power the basket from a built-in solar panel
♥ A built-in “ding!” sound when the result is revealed
♥ Better readability
♥ Data collection of how many clicks gathered to Money and Environment, to publish updated on Energy Basket’s twitter account
The mechanics
Energy basket is operated by a simple home-made interface. Input from two arcade buttons is transformed by a basic micro-controller (arduino 101) into a satisfying visual output. The output is shown on an acrylic dial built upon a servo motor, enhanced by two RGB LEDs.
This is the breadboard:
And here’s the arduino code used to activate it:
#include <Interval.h>
#include <Servo.h>
#include <Adafruit_NeoPixel.h>
int button1 = 4; //button pin, connect to ground to move servo
int press1 = 0;
int button2 = 5; //button pin, connect to ground to move servo
int press2 = 0;
Servo servo1;
#define PIN 12
#define NUMPIXELS 2
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 10000 // Time (in milliseconds) to pause between pixels
Interval buttonTimeout; // set a timout for the ticker
void setup()
{
pinMode(button1, INPUT);
pinMode(button2, INPUT);
servo1.attach(9);
digitalWrite(4, HIGH); //enable pullups to make pin high
digitalWrite(5, HIGH); //enable pullups to make pin high
pixels.begin();
}
void loop() {
for(int i=0; i<NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(0, 100, 50));
pixels.show();
}
{
press1 = digitalRead(button1);
if (press1 == LOW)
{
servo1.write(145);
for(int i=0; i<NUMPIXELS; i++) {
pixels.clear();
pixels.setPixelColor(i, pixels.Color(0, 200, 30));
pixels.show();
}
delay(DELAYVAL); // Pause before next pass through loop
servo1.write(90);
}
press2 = digitalRead(button2);
if (press2 == LOW)
{
servo1.write(10);
pixels.clear();
pixels.setPixelColor(0, pixels.Color(0, 200, 30));
pixels.show();
delay(255);
servo1.write(170);
pixels.clear();
pixels.setPixelColor(1, pixels.Color(0, 200, 30));
pixels.show();
delay(255);
servo1.write(30);
pixels.clear();
pixels.setPixelColor(0, pixels.Color(0, 200, 30));
pixels.show();
delay(255);
servo1.write(150);
pixels.clear();
pixels.setPixelColor(1, pixels.Color(0, 200, 30));
pixels.show();
delay(255);
servo1.write(70);
pixels.clear();
pixels.setPixelColor(0, pixels.Color(0, 200, 30));
pixels.show();
delay(275);
servo1.write(130);
pixels.clear();
pixels.setPixelColor(1, pixels.Color(0, 200, 30));
pixels.show();
servo1.write(80);
pixels.clear();
pixels.setPixelColor(0, pixels.Color(0, 200, 30));
pixels.show();
delay(325);
servo1.write(140);
pixels.clear();
pixels.setPixelColor(1, pixels.Color(0, 200, 30));
pixels.show();
delay(375);
servo1.write(40);
pixels.clear();
pixels.setPixelColor(0, pixels.Color(0, 200, 30));
pixels.show();
delay(525);
servo1.write(145);
pixels.clear();
pixels.setPixelColor(1, pixels.Color(0, 200, 30));
pixels.show();
delay(DELAYVAL); // Pause before next pass through loop
servo1.write(90);
}
}
}