9. PROBLEM TO SOLVE
SHOW LEVERAGE OF ENERGY
EFFICIENT SOLUTION…
!
TO PEOPLE WHICH DON’T NEED TO
SAVE ENERGY
10. Working in Agency #2
Idea:
Show - that the same amount of energy is able
power up more LED lightbulbs then traditional
incandescent lamps.
11. “To me, ideas are worth nothing unless executed. They are just a
multiplier. Execution is worth millions.”
–Steve Jobs
12. Working in Agency #2
Idea:
Show - that the same amount of energy is able
power up more LED lightbulbs then traditional
incandescent lamps.
Execution:
A dynamo is an electrical generator that
produces power.
16. More
problems to
solve
physical installation
touch screen
integration
speed measurement
light control
17. Solution - Arduino
Arduino can sense the
environment by receiving input
from a variety of sensors and can
affect its surroundings by
controlling lights, motors, and
other actuators.
24. Code
// Calculate rpm from IR sensors
void getRPM() {
if (checkSensors()) { // if sensors arnt failing
// current sensor readings
int rpm1out = rpms1[index1 - 1][0];
int rpm2out = rpms2[index2 - 1][0];
long now = micros();
//time since last sensor readings
float deltaTime1 = (float)(now - lastTime1) / 1000000;
float deltaTime2 = (float)(now - lastTime2) / 1000000;
// if time since last sensor readings is longer than the time it took for the last reading - start to ease off rpm to 0
// Needed to return rpm to 0 if the wheel stops
if (deltaTime1 > lastDeltaTime1) {
float count = constrain(EASE_TIME - (deltaTime1 - lastDeltaTime1), 0, EASE_TIME);
rpm1out = round(Easing::easeInCirc(count, 0, rpm1out, EASE_TIME));
}
if (deltaTime2 > lastDeltaTime2) {
float count = constrain(EASE_TIME - (deltaTime2 - lastDeltaTime2), 0, EASE_TIME);
rpm2out = round(Easing::easeInCirc(count, 0, rpm2out, EASE_TIME));
}
// average the two rpm readings
int rpmOut = (rpm1out + rpm2out) / 2;
// send rpm to client
char output[10];
sprintf(output, "%d", rpmOut);
sendToClient(RPM_READING, output);
} else { // if sensor is failing notify client
sendToClient(RPM_READING, 0);
char *output = "SENSOR_ERROR";
sendToClient(SENSOR_ERROR, output);
}
}