Guin in the glen by the den

The harvesters sucked up tonne after tonne of Martian soil, dehydrating the clumps and analysing samples for potential mineral processing, storing valuable water for use by the colonists.

Guin hugged Shadowgrass tighter.

She had not known had much missing him had put an ache inside her which had turned her muscles to stone.

“Mom, how did you keep the ISSA Net from knowing your location? It’s virtually impossible!”

Guin looked at her son in wonder and awe.

At little over two years of age, almost three, Shadowgrass was already a man in many ways. He knew so much more than she did, building vast complex networks of memories and calculative intuition circuitry across the solar system, she was surprised when he asked her a question for which he didn’t know the answer or hadn’t developed a strong hypothesis to support or debate what he knew she was about to say.

“You really don’t know?”

He shook his head.

Was it really a black hole she and Lee had passed through?

It WAS something, something that had changed their relationship, enjoining them in ways that physical intimacy could not explain.

Guin sent a thought to Lee that the ISSA Net could not trace. Lee laughed in his thoughts and agreed — the unknown was more fun than the known.

“Well, sweetheart, I don’t have an answer for you.”

“I still want to get revenge on Collapsaricus!”

” I know you do but we don’t know what it was or where it went.”

“But we do! An astronomer is tracking a high-speed change in the flow of dust on another spiral arm of the galaxy. He thinks it might be disturbance caused by Collapsaricus.”

“Let’s not worry about it right now. Instead, why don’t you tell me about your new friend. She seems interesting.”

“She is. I’ve examined my set of thoughts and determined through testable theories that I’m experiencing what you and Dad described as the time you first fell in love with each other.”

“That’s wonderful! Isn’t love grand?”

He nodded his head.

Guin watched the clouds of dust billowing out from behind the harvesters. She wanted to rush back to the lab and catch up on her work but holding Shadowgrass felt so good. She had missed too much of his growing up for her to lose any more precious moments with her son.

She sighed and put her chin on his shoulder.

What if Shadowgrass’ new girlfriend wanted to move back to Earth? Would he go with her? What if they had children? Would Guin want to see them, spend time with them, return to a planet that had nurtured her and encouraged her to explore Mars? What did Lee think? And where was Bai?

The duh factor

So, today I’ve spent several hours with the design team deciding what we want our dancing mannequins to be.

I’ll get to that in a minute or two.

Meanwhile, I’ve been uncrating and sorting the parts for the Arduino kit, starting to wire up the PIR/ultrasonic sensor array for controlling the dancing mannequins.

Wired up everything just fine.

Wrote some code in the Arduino programming environment and compiled just fine.

One small problem — couldn’t program the Arduino Uno.

Enter the duh factor — I had chosen the wrong COM port.

Sometimes the simplest details will stop progress.

Thanks to the dude N. Fletch, the problem, avrdude stk500_getsync(): not in sync resp=0x30 error for Arduino Uno, was fixed!

A shoutout to RobotGrrl, Michael Overstreet and others at the Robot Hacks community for their help and encouragement!

The intensity of thinking?

Do I completely understand the role of electrochemical processes taking place between the atomic structures that fill the cavity between my ears and connect to the rest of the central nervous system of my body?

How many of the chemical structures can I readily recall their assigned labels and say that the photon bouncing across the back of my eyelid has anything to do with the impulse to press a tiny block of plastic which produces the letter I’m going to type next, carefully describing each changes of the states of energy between the photon hitting my eyeball and the letter that appears one after another on this screen?

How then can I understand where I’m going to take my robot design next?

First, I expose my eyes and ears to as much stimuli as possible, asking myself what in the environment, in this place and time, do I want to simulate on Mars decades later?

In other words, today I prototype with scale models of what I want to physically manifest using native materials on the Red Planet years/decades from now when who knows what kind of augmented reality we’ll give the first colonists to help them believe their senses are being so stimulated with variety that they won’t get homesick before the first generation of native-born Martians believes that life on Mars is rich and fulfilling enough as it is?

These questions trot across my memories and thoughts as I sit down to sketch out the design that I want our team to complete within three weeks using materials at hand, including the stuff I’ve bought (adding today’s purchase: another PIR sensor (Radio Shack product number 2760347) and two ultrasonic distance sensors (Parallax product number 28015-RT and Radio Shack product number 2760342)). and stuff that the folks at Maker gave our team.

While all of that boils in the cauldron of a cranium, I’ve got the love of dance and the love for friends floating in the mix, making my wife nervous that my thoughts are so clouded with constant processing that I’ve become a dangerous “tunnel vision” driver, the stereotypical absent-minded professor type who doesn’t see the light is red at the traffic intersection.

Every day, every hour is precious and the next three weeks will be challenge because I’ll both be without Abi in my life and missing dance lessons with her, let alone feeling her close by in my thoughts, and I’ll be without her which means I can focus on the robot design.

Aren’t most of us able to transfer some part of our physical attraction from one person to another?

I sure am.

So, last night, knowing that I’ll miss Abi more than I can ever tell her, I chose not to dance with her (or Jenn or Naomi or…) and gave my body love to women on the dance floor I’d never met before, losing myself in two-minute spans of time and hoping that I could be as good a dance partner for them as their eye-love requested, helping me transition my love for Abi from her to unknown women last night and then to my computer work today.  I danced with my wife, too, of course; she mentioned I barely paid attention to her most of the evening, seeing that I danced with only a few women (quality instead of quantity, I always say) so it wasn’t that I ignored her, my monogamous partner, and spent all evening with other women; no, I was my usual alone-in-a-crowd meditative self preparing mentally for this day.

While sitting in a chair alone in my thoughts next to the dance floor determining how to take the new dance moves I saw advanced/all star and professional dancers showing off and incorporate them into my dancing, the design for the team’s robot started appearing to me in a foggy vision.

i wish I had a flatbed scanner in my laboratory study to quickly scan the engineering notebook drawing of my vision.

Here is an electronic paint version, instead:

Make-Robot-Hacks-brainstorm-idea-1

More details tomorrow…

Let’s have fun!

Early 21st century robot presentation

21c-robot-presentation

21c-robot-presentation-02

21c-robot-presentation-02a  21c-robot-presentation-03 21c-robot-presentation-04 21c-robot-presentation-05 21c-robot-presentation-06 21c-robot-presentation-07 21c-robot-presentation-0821c-robot-presentation-09

And the estimated cost for this DIY 3D-printed robot at home…?  The body itself is relatively inexpensive — one to three spools.  Total cost goal for the “standard” Jimmy is around $500, less than $1000.

Right, guys?

Sure!

21c-robot-presentation-10

Levels of personalisation include the simple (such as voice) to the more complex (number of servos/sensors) but the idea for the design team is to build other models that scale up with specific features.

Happier than a pumpkin that survived Halloween!

Great news!:

Subject: Robot Hacks – your package is on its way to you….

Thanks for signing up as a participating team in the Robot Hacks Maker Session.    We are pleased to inform you that a package of MAKE materials, components and parts has been shipped out to you and if you have not already received it, you should be receiving it any day now.

We kick off this series with a Google + Hangout on Air live from Olin College with Brian David Johnson, and more Maker Masters this Sunday, November 3rd, 2013 (from noon – 3pm ET).   We’ll be discussing his vision of the 21st Century Robot and talking to the makers behind Jimmy the Robot, and more…     We are also encouraging teams to get involved and create their own open source robots – and have set aside kits for teams that would like to get involved.

An overview on Maker Sessions, Robot Hacks can be found here:  http://makezine.com/robot-hacks/

If you would like to check it out online, Sunday, 11/3 from 1pm-2pm ET, please join us here: http://bit.ly/19THpub

And, be sure to sign up to become a part of the Make Robot Hacks community, by signing in here: http://bit.ly/robothacks     This is the perfect forum to ask questions, follow other #RobotHacks makers and post photos of your progress.   We will be hanging out here throughout this program.

The twitter hashtag for this program is #robothacks — share your progress via twitter!

Thanks in advance for being part of this program!   We very much appreciate your support.

Please feel free to let me know if you have any questions.

 

Best,

Sherry

@make #robothacks

 

 

Today’s Arduino programming lesson

The last update on my Arduino-based yard art sculpture showed the addition of a servo to a circuit with eight LEDs.

Today, I want to figure out if I can set the servo and LEDs to activate only after a PIR (passive infrared) motion sensor has been triggered.

The PIR motion sensor I’ll use for this experiment is sold through Radio Shack (product number 276-135) and available online at Parallax, Inc.  (product number 555-28027, rev B).

Via info at Parallax, here’s how to wire the sensor to your Arduino (note: I’m using digital port 12, not 2 as shown):

PIR-6

The question for me is how complex/sophisticated do I want the code for the yard art sculpture to be?  For example, let’s look at two code samples, a simple one and one that’s more sophisticated.

First, the simple code from here:

/*
 * PIR sensor tester
 */

int ledPin = 13;                // choose the pin for the LED
int inputPin = 2;               // choose the input pin (for PIR sensor)
int pirState = LOW;             // we start, assuming no motion detected
int val = 0;                    // variable for reading the pin status

void setup() {
  pinMode(ledPin, OUTPUT);      // declare LED as output
  pinMode(inputPin, INPUT);     // declare sensor as input

  Serial.begin(9600);
}

void loop(){
  val = digitalRead(inputPin);  // read input value
  if (val == HIGH) {            // check if the input is HIGH
    digitalWrite(ledPin, HIGH);  // turn LED ON
    if (pirState == LOW) {
      // we have just turned on
      Serial.println("Motion detected!");
      // We only want to print on the output change, not state
      pirState = HIGH;
    }
  } else {
    digitalWrite(ledPin, LOW); // turn LED OFF
    if (pirState == HIGH){
      // we have just turned of
      Serial.println("Motion ended!");
      // We only want to print on the output change, not state
      pirState = LOW;
    }
  }
}

And now, the more sophisticated code from here:

/* 
 * //////////////////////////////////////////////////
 * //making sense of the Parallax PIR sensor's output
 * //////////////////////////////////////////////////
 *
 * Switches a LED according to the state of the sensors output pin.
 * Determines the beginning and end of continuous motion sequences.
 *
 * @author: Kristian Gohlke / krigoo (_) gmail (_) com / http://krx.at
 * @date:   3. September 2006 
 *
 * kr1 (cleft) 2006 
 * released under a creative commons "Attribution-NonCommercial-ShareAlike 2.0" license
 * http://creativecommons.org/licenses/by-nc-sa/2.0/de/
 *
 *
 * The Parallax PIR Sensor is an easy to use digital infrared motion sensor module. 
 * (http://www.parallax.com/detail.asp?product_id=555-28027)
 *
 * The sensor's output pin goes to HIGH if motion is present.
 * However, even if motion is present it goes to LOW from time to time, 
 * which might give the impression no motion is present. 
 * This program deals with this issue by ignoring LOW-phases shorter than a given time, 
 * assuming continuous motion is present during these phases.
 *  
 */

/////////////////////////////
//VARS
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)
int calibrationTime = 30;        

//the time when the sensor outputs a low impulse
long unsigned int lowIn;         

//the amount of milliseconds the sensor has to be low 
//before we assume all motion has stopped
long unsigned int pause = 5000;  

boolean lockLow = true;
boolean takeLowTime;  

int pirPin = 3;    //the digital pin connected to the PIR sensor's output
int ledPin = 13;

/////////////////////////////
//SETUP
void setup(){
  Serial.begin(9600);
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(pirPin, LOW);

  //give the sensor some time to calibrate
  Serial.print("calibrating sensor ");
    for(int i = 0; i < calibrationTime; i++){
      Serial.print(".");
      delay(1000);
      }
    Serial.println(" done");
    Serial.println("SENSOR ACTIVE");
    delay(50);
  }

////////////////////////////
//LOOP
void loop(){

     if(digitalRead(pirPin) == HIGH){
       digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state
       if(lockLow){  
         //makes sure we wait for a transition to LOW before any further output is made:
         lockLow = false;            
         Serial.println("---");
         Serial.print("motion detected at ");
         Serial.print(millis()/1000);
         Serial.println(" sec"); 
         delay(50);
         }         
         takeLowTime = true;
       }

     if(digitalRead(pirPin) == LOW){       
       digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state

       if(takeLowTime){
        lowIn = millis();          //save the time of the transition from high to LOW
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase
        }
       //if the sensor is low for more than the given pause, 
       //we assume that no more motion is going to happen
       if(!lockLow && millis() - lowIn > pause){  
           //makes sure this block of code is only executed again after 
           //a new motion sequence has been detected
           lockLow = true;                        
           Serial.print("motion ended at ");      //output
           Serial.print((millis() - pause)/1000);
           Serial.println(" sec");
           delay(50);
           }
       }
  }

Conclusion?

So, what do you think?  Should I go with the first or second code sample for the yard art sculpture?

I’ll get input from you — the loyal, happy reader — and let everyone else know what you said.  Then, I’ll show you what I did and if it differs from you, I’ll try your suggestions and show the world the results.

Until next time!