MOUSE Corps Soars at Emoti-con!

On Saturday, June 1st, 2013, MOUSE Corps joined over 150 other amazing young people from all over NYC at The New York Public Library – Bartos Forum for the 5th annual Emoti-Con!

The four MOUSE Corps Legacy groups — JoyPix, ArtSquared, Extend-a-Arm, and Mixing Buddy — created displays that showcased their design process as well as their final prototypes. MOUSE Corps spent much of the day pitching their projects to everyone who came by their tables, including fellow student presenters from other MOUSE Squads, Radio Rookies, The Point, Girls Write Now, and many others, as well as members of the judging panal and even Adam Balkin from NY1! It was inspiring to see so many talented, dedicated young people from different organizations from all over New York City get the chance to interact with one another and show off all of their amazing, ingenious projects!

One of the highlights of the day for MOUSE Corps was that our partners from UCP were able to join us for much of the afternoon at Emoti-con and see the prototypes that they inspired and helped conceptualize and design!

ArtSquared and Mixing buddy were both selected as finalists and invited to come up on stage and pitch their projects to the entire room. Afterwards ArtSquared was given the Point of View Award for bringing a unique perspective to Assistive Technology Design, and Mixing buddy won both Most Innovative and Crowd Favorite for their unique design and killer stage pitch!  All four Legacy Groups had outstanding projects this year. The entire MOUSE Corps team has a LOT to be proud of!

For more information about our Emoticon adventures, click here!

Fire Dragons

Well during this meeting we have finally come up with a Permanent name
Extend-o-Arm
We have also made more progress with the de-bugging for the code on the motor.
#include // include the servo library
Servo servoMotor; // creates an instance of the servo object to control a servo
Servo servo2;
int analogPin = 0; // the analog pin that the sensor is on
int analogValue = 0; // the value returned from the analog sensor

const byte PIN_BUTTON_SELECT = 2; // Select button is triggered when joystick is pressed

const byte PIN_BUTTON_RIGHT = 3;
const byte PIN_BUTTON_UP = 4;
const byte PIN_BUTTON_DOWN = 5;
const byte PIN_BUTTON_LEFT = 6;

const byte PIN_ANALOG_X = 0;
const byte PIN_ANALOG_Y = 1;
int val;
int val2;
int pos = 0;
void setup() {
Serial.begin(9600);

// Specify each pin connected to a pushbutton as an input.
// Also enable the Arduino’s internal “pull-up” resistors
// for each pushbutton we want to read–this means the shield
// doesn’t need to have resistors on it.
// Note that when a pull-up resistor is used on a pin the
// meaning of the values read are reversed compared to their
// usual meanings:
// * HIGH = the button is not pressed
// * LOW = the button is pressed
pinMode(PIN_BUTTON_RIGHT, INPUT);
digitalWrite(PIN_BUTTON_RIGHT, HIGH);

pinMode(PIN_BUTTON_LEFT, INPUT);
digitalWrite(PIN_BUTTON_LEFT, HIGH);

pinMode(PIN_BUTTON_UP, INPUT);
digitalWrite(PIN_BUTTON_UP, HIGH);

pinMode(PIN_BUTTON_DOWN, INPUT);
digitalWrite(PIN_BUTTON_DOWN, HIGH);

pinMode(PIN_BUTTON_SELECT, INPUT);
digitalWrite(PIN_BUTTON_SELECT, HIGH);

servoMotor.attach(8);
servo2.attach(9);
}

void loop() {
// Print the current values of the inputs (joystick and
// buttons) to the console.
Serial.print(“l:”);
Serial.print(digitalRead(PIN_BUTTON_LEFT));
Serial.print(” “);

Serial.print(“r:”);
Serial.print(digitalRead(PIN_BUTTON_RIGHT));
Serial.print(” “);

Serial.print(“u:”);
Serial.print(digitalRead(PIN_BUTTON_UP));
Serial.print(” “);

Serial.print(“d:”);
Serial.print(digitalRead(PIN_BUTTON_DOWN));
Serial.print(” “);

Serial.print(“x:”);
Serial.print(analogRead(PIN_ANALOG_X));
Serial.print(” “);

Serial.print(“y:”);
Serial.print(analogRead(PIN_ANALOG_Y));
Serial.print(” “);

Serial.print(“s:”);
Serial.print(digitalRead(PIN_BUTTON_SELECT));
Serial.print(” “);

Serial.println();

val = analogRead(PIN_ANALOG_X); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
servoMotor.write(val); // sets the servo position according to the scaled value
delay(15);

val2= digitalRead(PIN_BUTTON_DOWN);
if (val2 == LOW)
{
for(pos = 0; pos< 1000; pos += 2)
{
servo2.write(pos);
delay(7);
}
}
}
Although there are some bugs left I feel that the bugs will be resolved by the end of next week.
We tested the the mounting mechanism that will be used to mount the Mechanical Arm.

That's All

So right now I am able to make…

So right now, I am able to make the servo stop at a certain angle.
The problem is that, it won’t go back to position zero.
Right now I need code a method that will make the servo move back to zero.

hint:
servo.detach( );
this can stop a continuous rotation servo.
code so far:

// Store the Arduino pin associated with each input
#include // include the servo library
Servo servoMotor; // creates an instance of the servo object to control a servo
Servo servo2;
int analogPin = 0; // the analog pin that the sensor is on
int analogValue = 0; // the value returned from the analog sensor

const byte PIN_BUTTON_SELECT = 2; // Select button is triggered when joystick is pressed

const byte PIN_BUTTON_RIGHT = 3;
const byte PIN_BUTTON_UP = 4;
const byte PIN_BUTTON_DOWN = 5;
const byte PIN_BUTTON_LEFT = 6;

const byte PIN_ANALOG_X = 0;
const byte PIN_ANALOG_Y = 1;
int val;
int val2;
int pos = 0;
void setup() {
Serial.begin(9600);

// Specify each pin connected to a pushbutton as an input.
// Also enable the Arduino’s internal “pull-up” resistors
// for each pushbutton we want to read–this means the shield
// doesn’t need to have resistors on it.
// Note that when a pull-up resistor is used on a pin the
// meaning of the values read are reversed compared to their
// usual meanings:
// * HIGH = the button is not pressed
// * LOW = the button is pressed
pinMode(PIN_BUTTON_RIGHT, INPUT);
digitalWrite(PIN_BUTTON_RIGHT, HIGH);

pinMode(PIN_BUTTON_LEFT, INPUT);
digitalWrite(PIN_BUTTON_LEFT, HIGH);

pinMode(PIN_BUTTON_UP, INPUT);
digitalWrite(PIN_BUTTON_UP, HIGH);

pinMode(PIN_BUTTON_DOWN, INPUT);
digitalWrite(PIN_BUTTON_DOWN, HIGH);

pinMode(PIN_BUTTON_SELECT, INPUT);
digitalWrite(PIN_BUTTON_SELECT, HIGH);

servoMotor.attach(8);
servo2.attach(9);
}

void loop() {
// Print the current values of the inputs (joystick and
// buttons) to the console.
Serial.print(“l:”);
Serial.print(digitalRead(PIN_BUTTON_LEFT));
Serial.print(” “);

Serial.print(“r:”);
Serial.print(digitalRead(PIN_BUTTON_RIGHT));
Serial.print(” “);

Serial.print(“u:”);
Serial.print(digitalRead(PIN_BUTTON_UP));
Serial.print(” “);

Serial.print(“d:”);
Serial.print(digitalRead(PIN_BUTTON_DOWN));
Serial.print(” “);

Serial.print(“x:”);
Serial.print(analogRead(PIN_ANALOG_X));
Serial.print(” “);

Serial.print(“y:”);
Serial.print(analogRead(PIN_ANALOG_Y));
Serial.print(” “);

Serial.print(“s:”);
Serial.print(digitalRead(PIN_BUTTON_SELECT));
Serial.print(” “);

Serial.println();

val = analogRead(PIN_ANALOG_X); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
servoMotor.write(val); // sets the servo position according to the scaled value
delay(15);

val2= digitalRead(PIN_BUTTON_DOWN);
if (val2 == LOW)
{
for(pos = 0; pos< 1000; pos += 2)
{
servo2.write(pos);
delay(7);
pos = 1000;
}
}

}

Fire Dragon 4-16-13

Today for Extend-A-Arm (EAA),

Zainab worked on the modelling the crutches and trying to determine where it would be best to place the controls and EAA on the crutches. Updated and improved how the object that EAA picks up will be delivered to Tawn etc. Came up with some moving forward question that needs to be looked at moving forward with the production of the EAA.

Wilson and Filipa worked on and updated the code for the controls and movement of EAA. They have made improvements in making the controls works as they need to.

CODE HERE:

// Store the Arduino pin associated with each input
#include // include the servo library

// JOYSTICK controll
Servo servoMotor; //creates an instance of the servo object to control a servo
int analogPin = 0; // the analog pin that the sensor is on
int analogValue = 0; // the value returned from the analog sensor
const byte PIN_ANALOG_X = 0; // right-left controll
const byte PIN_ANALOG_Y = 1; // will not be using this one for now
const byte PIN_BUTTON_SELECT = 2; // Select button is triggered when joystick is pressed
int val;

// BUTTON controll
Servo servoMotor2;
const byte PIN_BUTTON_RIGHT = 3;
const byte PIN_BUTTON_UP = 4;
const byte PIN_BUTTON_DOWN = 5;
const byte PIN_BUTTON_LEFT = 6;

////////////////////////////////////////////////////////////////

void setup() {
Serial.begin(9600);

// Specify each pin connected to a pushbutton as an input.
// Also enable the Arduino’s internal “pull-up” resistors
// for each pushbutton we want to read–this means the shield
// doesn’t need to have resistors on it.
// Note that when a pull-up resistor is used on a pin the
// meaning of the values read are reversed compared to their
// usual meanings:
// * HIGH = the button is not pressed
// * LOW = the button is pressed

pinMode(PIN_BUTTON_RIGHT, INPUT);
digitalWrite(PIN_BUTTON_RIGHT, HIGH);

pinMode(PIN_BUTTON_LEFT, INPUT);
digitalWrite(PIN_BUTTON_LEFT, HIGH);

pinMode(PIN_BUTTON_UP, INPUT);
digitalWrite(PIN_BUTTON_UP, HIGH);

pinMode(PIN_BUTTON_DOWN, INPUT);
digitalWrite(PIN_BUTTON_DOWN, HIGH);

pinMode(PIN_BUTTON_SELECT, INPUT);
digitalWrite(PIN_BUTTON_SELECT, HIGH);

servoMotor.attach(8);
servoMotor2.attach(9);
}

////////////////////////////////////////////////////////////////

void loop() {
// Print the current values of the inputs (joystick and
// buttons) to the console.
Serial.print(“l:”);
Serial.print(digitalRead(PIN_BUTTON_LEFT));
Serial.print(” “);

Serial.print(“r:”);
Serial.print(digitalRead(PIN_BUTTON_RIGHT));
Serial.print(” “);

Serial.print(“u:”);
Serial.print(digitalRead(PIN_BUTTON_UP));
Serial.print(” “);

Serial.print(“d:”);
Serial.print(digitalRead(PIN_BUTTON_DOWN));
Serial.print(” “);

Serial.print(“x:”);
Serial.print(analogRead(PIN_ANALOG_X));
Serial.print(” “);

Serial.print(“y:”);
Serial.print(analogRead(PIN_ANALOG_Y));
Serial.print(” “);

Serial.print(“s:”);
Serial.print(digitalRead(PIN_BUTTON_SELECT));
Serial.print(” “);

Serial.println();

val = analogRead(PIN_ANALOG_X); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
servoMotor.write(val); // sets the servo position according to the scaled value
delay(15);

if (PIN_BUTTON_LEFT==LOW)
{
servoMotor2.write(0);
}
}

Omar and Ivan worked on the the scissor like movement of EAA when extending, delivering object to user and retracting. They created a cardboard model to help them better understand how all the movements will work.

Next Week Goal:
To start creating and putting together the actual product instead of just prototypes

Today Feedback

So To start of this Blog Post I will be Stating the Feedback we receive:
1.One thing Tawn Stated was that being right handed.(try to make it Universal)
2.Another thing that she mentioned would be that she prefers the device Attached to the Crutches, or the Wheelchair.
3. Lighter than 5 pounds.
4. Weight that the Arm should be able to pick is about 2-3 pounds.
5. Three fingers is preferred
6. Another thing would be that it would be that it is easily removed, Putty Type .
7.Buttons would be preferred.
8.A way to attach the device to the wheelchair without causing interfering.
9.Walker is 35.5 Inches, 7 Inches From cup holder to the arm grabber. 4.9 (Arm Garber)

Fire Dragon Meeting – April 2nd 2013

Today in our meeting, we have planned out five next meetings. In addition, we worked on some of our sketches and began coding the joystick and game buttons for the motor. While Zainab and Miguel sketched, several questions were mentioned:

  • How heavy is too heavy?
  • Where would be best to attach the splint on the crutches for the user?
  • Where should the controls of the “extend an arm” be placed?

While we pondered these questions, Omar and Ivan were assembling small prototypes to implement the grasp of the project. Wilson made sure that the code has started and developed for the Arduino.

Our implementation plan is the following:

4/16 – Integrate Components (all motions and improve code)

4/23 – Test Structure (Stability, Weight, Materiality, Smoothness)

4/30 – Wearability, Refine Ergonomics & Code, Efficiency

5/14 – Troubleshooting (Clear blueprint diagram to explain function and prepare for Emoticon)

Fire Dragon aka Group D 3/19/13


The Current state of our project would be the following:

1. We have started to assemble parts that we have gathered to start building on our prototype.
2. At the moment we have almost finished soldering the joy stick on the Arduino
3. Also the Motor that we might use a servor that uses circular movement to create a linar movement.
( we planned on using a linear motor but found many issues with using it)
e might run into another problem either causing control and weight on the metal.

How has your idea changed since you started prototyping it?
Not much has changed since we have started this project. Our target us still the same, but we might change the mechanics on the design of the actual Prototype. But the target is still the same.

What are your next steps?
Our next steps would be to get 2 different motors for our prototype. one of the motors would have to work in a linear motion while the other one works on the grip of the fingers.

Here are some pictures:

2-26-13 Group Fire Dragon

Question: What features from your first paper/analog prototype will you be able to implement by June?
-Linkage Mechanism that makes the arm extend and retract.
-Other Mechanism is the grabber.
-For now using part from the pickup-reaching tool.
-One cable controlling reach
-One cable controlling grabbing.
-Two motors for both motions
-Rigid Cables
-Joystick to control motors
-Picking up only lightweight objets

Question: What features will you not implement (or save until later)?
-Rather that all 5 fingers in a natural hand, we decided to have just 2 fingers which is the basic you need for grabbing
-Rotating the arm 360 (x,y,z)(we want to use!!)

Create a list of components for your design.
-Arduino Uno
-Joystick
-Grabber
-Actual model of crutches that Tawn uses
-Steel Cable
-Knobs for rotating of pieces
-Something to roll back cable
-2 motors
-Replace wrist splint for right hand
-Breadboard
-Jumper wires
-Alligator clips

Draw a “next level” blueprint that includes these components.

Next Week:
-Build Extension Mechanism
-Take the reaching tool/grabber apart
-Save the day
-Solder the joystick kit

February 12, 2013 Meeting – Team D

At today’s meeting, we have begun to solidify our main prototype using paper storyboards. Our main focus is to decide weither we should limit our audience or create a prototype that will serve the general CP population. The mission is to continue with the stop & reach aspect of the project.

Team Fire Dragons

during our discussions we discussed a lot of the feed back we received from cooper Heiwet.
Some of the feedback was

  • That We have to consider the weight of our Mechanism
    – We of Course have to consider the Type of material that we will use to make it.
    – We Also thought of how we would be able to make it so that the way we make it, to have the Highest amount of mobility.
    – We have yet to Find Solutions to these.
  • Would it be conspicuous? In Order to Blend In with the common Public.
    – We thought about how we can make it fashionable. Sio instead we thought that instead we would make it as fashionable as possible.
  • We also thought of many different ways that we would be able to move the Arm.
    – Some of the basic movement we thought of were, of the grabbing movement.
    – We Know that Every movement is important to each person.