Sunday, October 4, 2015

Maker Faire Displays

Not a lot of time right now, as we are showing at the Maker Faire again today as well.  So, here's a short breakdown of our displays at Maker Faire.  I will go into much further detail later this week for each one.

Feel free to email me at if you have any questions or would like more information.

Banana Piano

Capacitive Touch Arduino Musical Instrument
Using an Adafruit MPR121 Capacitive Touch Arduino Shield connected to an Arduino, a speaker, and some fruit,
this simple device demonstrates capacitive touch sensors in a fun, tactile way.

Go ahead, play some music!

Banana Piano Program

//Banana Piano
//By Jason Groce
//Revision 1.0 Date 2015-10-01

#include <Wire.h>
#include "Adafruit_MPR121.h"
#define NOTE_C3  131
#define NOTE_D3  147
#define NOTE_E3  165
#define NOTE_F3  175
#define NOTE_G3  196
#define NOTE_A3  220
#define NOTE_B3  247
#define NOTE_C4  262
#define NOTE_D4  294
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_G4  392

Adafruit_MPR121 cap = Adafruit_MPR121();
int spkrPin = 9;
int notes[] = {

void setup() {
  cap.begin(0x5A);                            // Start the MPR121 chip

void loop() {
  for (int i=0; i<12; i++) {                 // Go through each of the 12 sensors
    if (cap.touched() & _BV(i)) {    // Check if the sensor is touched
      tone(spkrPin,notes[i],20);     // If so, play the corresponding note

Automatic Aquaponic Arduino
Through the combined effort of a light level detection with a photoresistor module (see below), a moisture sensor (honestly, it’s two nails and some programming), and some relays ($3 eBay), we have a fully functional (and scalable) aquaponics system!
                Whether on the kitchen counter, or controlling an entire greenhouse, this basic system is capable of some amazing stuff at minimal effort.  Automatic watering when the plant is thirsty, automatic lighting when it gets dark, and expandable to add further features as you see fit, this template design is perfect for the beginner in home aquaponics and microcontrollers alike!
Notice the LED grow light; these are specifically designed to give the most usable light for the least cost.  This light contains two 650 nm Red LEDs, two 450 nm Blue LEDs, and one 700 nm Red LED colors, which provide specially targeted colors to ensure less light is wasted and more is absorbed by plants.
There are many claims made regarding grow lights in regards to “photosynthetically active radiation,” including:

420-500nm wavelength (blue) light provides the largest proportion of chlorophyll and carotenoid absorption, and has the greatest impact on photosynthesis.

620-750nm wavelength (red) light provides high chlorophyll absorption rates, and has a significant influence on the photosynthesis and photoperiod effects.

 Relative efficiency of various light colors in photosynthesis.


The LED bulb used in this project is 10 watts, which comes to less than 0.1 amps of consumption.  Our water pump is only 3 watts.  With our 15 amp outlets (and 25 amp relays), we could power 150 lights and 450 water pumps.

Additional Sources:

Gardenbot Program

//By Jason Groce
//Revision 1.0 Date 2015-10-01

int moisturePin = A0;
int photoresistor = 9;
int lightRelay = 6;
int waterRelay = 7;
int darkTime = 3000;
int dryTime = 3000;
long previousDarkMillis = 0;
long previousDryMillis = 0;

void setup() {
  pinMode(moisturePin, INPUT);
  pinMode(photoresistor, INPUT);
  pinMode(lightRelay, OUTPUT);
  pinMode(waterRelay, OUTPUT);

void loop() {
  unsigned long currentMillis = millis();                                    //current time

  if(digitalRead(photoresistor) == LOW){                                //if light detected
    previousDarkMillis = currentMillis;                                       //reset counter to 0

  if(currentMillis - previousDarkMillis > darkTime) {           //if counter greater than darkTime
    digitalWrite(lightRelay, HIGH);                                               //lights on
  } else {
    digitalWrite(lightRelay, LOW);                                                //else lights off

  if(analogRead(moisturePin) < 1000) {                                                    //if water detected
    previousDryMillis = currentMillis;                                          //reset counter to 0

  if(currentMillis - previousDryMillis > dryTime) {                //if counter greater than dryTime
    digitalWrite(waterRelay, HIGH);                                            //water on
  } else {
    digitalWrite(waterRelay, LOW);                                             //else water off

Human Battery
Power Through Copper and Zinc
It all began in 1800 with the “Voltaic Pile,” the first effective electrical battery, created by Alessadro Volta.  Layers of copper and zinc, with an electrolyte placed between, produce an electrochemical effect, which dissolves part of the zinc discs and deposits the zinc ions on the copper discs.  This frees some electrons to travel through the circuit.
                An easy way to do this at home is to use pennies.  Since pennies are copper on the outside and zinc inside, you can file the pennies down on one side and expose the zinc.  Then stack them with cardboard soaked in lemon juice or vinegar to make your own Voltaic Pile.

This is the same way “Lemon
Batteries” and similar science tricks work.

Now for the secret: you can use dozens of combinations of metals with many kinds of liquid to do the same thing!  This even works with using a person as the “acid”, oddly enough!  Just hold a strip of zinc in one hand, a strip of copper in the other, connect these up to a multimeter, and watch the power flow through you!

Brain-Computer Interface
One Part Hacked MindFlex Headset, One Part Arduino, All in Your Head

The Mind Flex provides eight values representing the amount of electrical activity at different frequencies. This data is heavily filtered / amplified, so where a conventional medical-grade EEG would give you absolute voltage values for each band, NeuroSky instead gives you relative measurements which aren’t easily mapped to real-world units. A run down of the frequencies involved follows, along with a grossly oversimplified summary of the associated mental states.

·                     Delta (1-3Hz): sleep
·                     Theta (4-7Hz): relaxed, meditative
·                     Low Alpha (8-9Hz): eyes closed, relaxed
·                     High Alpha (10-12Hz)
·                     Low Beta (13-17Hz): alert, focused
·                     High Beta (18-30Hz)
·                     Low Gamma (31-40Hz): multi-sensory processing
·                     High Gamma (41-50Hz)

In addition to these power-band values, the NeuroSky chip provides a pair of proprietary, black-box data values dubbed “attention” and “mediation”. These are intended to provide an easily-grokked reduction of the brainwave data, and it’s what the Force Trainer and Mind Flex actually use to control the game state. We’re a bit skeptical of these values, since NeuroSky won’t disclose how they work, but a white paper they’ve released suggests that the values are at least statistically distinguishable from nonsense.

Here’s the company line on each value:

·                     Attention:
Indicates the intensity of a user’s level of mental “focus” or “attention”, such as that which occurs during intense concentration and directed (but stable) mental activity. Distractions, wandering thoughts, lack of focus, or anxiety may lower the Attention meter levels.

·                     Meditation:
Indicates the level of a user’s mental “calmness” or “relaxation”. Meditation is related to reduced activity by the active mental processes in the brain, and it has long been an observed effect that closing one’s eyes turns off the mental activities which process images from the eyes, so closing the eyes is often an effective method for increasing the Meditation meter level. Distractions, wandering thoughts, anxiety, agitation, and sensory stimuli may lower the Meditation meter levels.


No comments:

Post a Comment