Tuesday, October 20, 2015

Lesson 2: Animatronics & The Uncanny Valley

Below is the PDF download links for Lesson 2 for this year's book:



Lesson 1: What is a Robot?

Below is the PDF download links for Lesson 1 for this year's book:



Automatons: The Uncanny Valley, and our Halloween Prop (Videos)

Automaton: Part 1, the Uncanny Valley

A short description of automatons throughout the ages and their relationship to the Uncanny Valley hypothesis.


Automaton: Part 2, Interactive Halloween Props

In this project, we are using an Arduino microcontroller to make an interactive Halloween decoration from a mask with color changing LED eyes and a distance sensor connected to a voice recorder/player module.

Monday, October 5, 2015

San Diego Maker Faire 2015 Speech

I was approached by James Newton, the coordinator for the exhibitors in the Air and Space Museum, to fill in to give a 10 minute speech about Making.

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 jasongroce@live.com 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.


Sunday, September 20, 2015

We're on YouTube!

Sagebrush 4-H Robotics now has our own YouTube channel, and our first video has just been uploaded!  Watch to find out how crystals became light bulbs, how toasters relate to circuit protection, and how fishing can be used to describe electricity!

Monday, July 6, 2015

Archive (2014-2015)

The links below are for the 78 page lesson plan used in the 2014-2015 Robotics meetings.  Please feel free to download, print, and share these however you wish.  If you have any questions, contact the author, Jason Groce.

(Note: The files are in .PDF format. You will need a PDF reader, such as Adobe Reader, to view them.)

2014-2015 Introduction
Session 1
Session 2
Session 3
Session 4
Session 5
Session 6
Session 7

Additional Files

The links below are to the files used to program the Arduino microcontroller throughout the lessons.

(Note: Many of these files are in .ZIP compressed format.)

Theremin (Session 3)