hannah mishin

Portfolio and Blog of artist and technologist Hannah Mishin.  

Filtering by Tag: github

Emulative Emergence - Circuit and Code && Piston / Materiality

A somewhat something schematic.  I wanted to do a couple of things with making this schematic-
One- have an artifact of the arduino - pins used- real estate
Two- have an artifact of unanswered things (i.e. power... will follow up).
Three- Make it real-er
Four- whew

*For power, if I have different motors (which is a high probability) I need to devise a way to get proper amperage and voltage to each.  Earlier this semester, I found myself using two different steppers in a test- one required low voltage and high amperage, the other low amperage and higher voltage.  A simple resistor ladder would not suffice.

As for the code- I am a wee bit perplexed.
I have begun mapping the code into pseudo-code/ to do list code to break down the architecture of how the individual units will act as both master in some circumstances and as slave in others.
This is still vague and ambiguous (I will Git this once it is actual code). *** This may not be comprehensible without explanation***
Any advice is surely welcomed (esp on this front- though this is the beginning- and will be flushed out further this week... I needed to get the simple organization down, so treat this like "notes" not code).


***#include <Stepper.h>

int actualSteppers[10];

int slaves[10];

///array assigning which steppers will follow master stepper

///array to hold the quadrants of the sq. footage for sensors.

int quadrants [10];

int Master;

///do motor stuff and sensor instantiation here

//query:  how to use 10 steppers 

void setup(){
  
///follow up with pin assignments etc.
 
 Serial.begin (9600);

}

void loop(){

  Sensing();
  
Change();
  
}
void sensing(){
    
///calculate all sensor reading here i.e. velocity is a fear 
    
    //read sensor vals
   
 quadrantassignment();
    
}

void quadrantassignment(){
  
if (sensorval = 0){
   
 Master = 0;
  
}

  //etc

}

void Change(){

  //sensor stuff

  determineCurrentMaster();

  GetSlaves();
  
}

void determineCurrentMaster(){

  //state changes here for both master and behaviours

// and get location for master 
 
 //(i.e. if in  quadrant 0 Master = 0
  
}

void GetSlaves(){

  //hardcode each instance where each stepper is master and all others are slaves

if(Master == 0){

 []slaves = {1, 2, 3, 4, 5, 6, 7, 8, 9};

// pass the slave array to the actualStepper array how?
}

if (Master == 1);
[]slaves = {0, 2, 3, 4, 5, 6, 7, 8, 9};
}

if (Master == 2);
[]slaves = {0, 1, 3, 4, 5, 6, 7, 8, 9};
}

if (Master == 3);
[]slaves = {0, 1, 2, 4, 5, 6, 7, 8, 9};
}
if (Master == 4);
[]slaves = {0, 1, 2, 3, 5, 6, 7, 8, 9};
}

if (Master ==5);
[]slaves = {0, 1, 2, 3, 4, 6, 7, 8, 9};
}

if (Master == 6);
[]slaves = {0, 1, 2, 3, 4, 5, 7, 8, 9};
}

if (Master == 7);
[]slaves = {0, 1, 2, 3, 4, 5, 6, 8, 9};
}

if (Master == 8){
  []slaves = {0, 1, 2, 3, 4, 5, 6, 7, 9};
}

if (Master ==9){
  []slaves = {0, 1, 2, 3, 4, 5, 6, 7, 8};
}

}

void Behaviors(){

  ///hardcode each behavior here DO NOT CALCULATE SENSORS HERE

 Fear();

 Attraction();

 Neutral();

}

void Fear(){

  actualSteppers[Master] //put Master movement command here.

  []slave///repeat master commands 
  
  
}


***

in addition- the steper.h library does not have the flexibility of using more than 4 steppers.
I am downloading and installing this library:
http://www.airspayce.com/mikem/arduino/AccelStepper/classAccelStepper.html

I have also pushed the code for thesis onto GITHUB:
https://github.com/hannahmishin/Thesis

This repo will hold both the arduino code as well as the processing for serial input from kinect.
It will be a slow progression.


___
Process notes:
I firmly believe in constructing all systems as I develop a project:
this project involves 


Electrical System

Coded System

Mechanical System

Sensor System

Object Tiling System

I will be working on each in tandem with the other as I progress through this semester.

This week, I have constructed a sketch of the housing for the kinetic functionality of the project.  I needed to turn circular motion into linear.  The best option for this =


a piston!


Here is what I have so far.  I have a few questions about how to enhance this particular model, but, closer than before.


So I need to settle on a material for the tiled geometric units.
I have several concerns:

**that they retain their inherent shape but have buoyancy which can assist in the generation of naturalistic movements**

**that they fold and give somewhat when manipulated**

**that they have some presence- meaning that they are not comprised of sticks and wires- but that they exhibit materiality and form**

**they must- for practicality- be as light weight as possible**

**they must be able to be attached to each other in a fluidic manner**


So, in keeping with these concerns- I have discarded the plexi (as I knew I would) and have sought more malleable materials.

I acquired some of this stuff- natural rubber tubing

![latex_rubber_thin_film.jpg](http://itp-thesis.s3.amazonaws.com/hm825-1393392929322/latex-rubber-thin-film.jpg)

and this stuff- a thin sheet of latex (perhaps as a skinning material for constructing a presence)

I also got some of this stuff. AND Its great.  It isn't just wire, but wire that has some will - meaning- it has a position/a  curve that it likes.  If it is bent in a particular manner, it will pop itself out to get closer to that curve it likes.
I've been bending them like this:


I have come across several issues with this material:
It is not sustainable for multiples.  It takes a very long time to get one of these right and it destroys my hand tendons etc.  Hard labour is not something I shy from, but it is not a pragmatic use of my time.

In addition, securing each triangular unit to the others is, in its current configuration- sloppy.

I feel, despite my affinity and gutteral draw towards this material (imagine it skinned in a huge sheet of latex!) I cannot sustain this design.

This choice -of what to build the matrix of units of- has actually been an agonizing one.

After meeting with Gabby Levine I had some robust ideas of maybe what could happen - such as vacuum forming polystyrene- but none of the materials available to me really fit the bill.  We discussed the idea of the hinge being comprised of the material itself.... meaning hinge and unit and hinge and unit etc.-- are one object.

I was still not clear on how this might happen.  I did not like vacuum forming because of its limitations with cavities etc.  

I had office hours with Scott Garner who helped me get to what I am certain will work; casting rubber.
I went to the Compleat Sculptor and took an inordinate amount of time from the awesome red-haired tech lady who lives in the back.  My task this week is to CNC this file (it currently lacks a few adjustments- such as trimming the hinge -making holes there and shoring up the distances/thicknesses) as a positive to cast the rubber into - that will then be the negative from which all rubber matrixes will be born:


 

I am toying with the idea of making these offset in depth:

Currently- because I need each "unit" on the matrix to be 1/4'' thick - I am limited on how different I can make these, and am not sure how 3-d I want the matrix to be when it is not being manipulated.


And just for our own sake- here is a rendering of four nodes put together in one file:

In the file- I need to tend to making adjustments for attaching one node matrix to the other.  This file will be ready by Thursday and testing of everything commences on Friday.