PROJECT DEVELOPMENT
WEEK 00
Task:
complete your final project, tracking your progress:
what tasks have been completed, and what tasks remain?
what has worked? what hasn't?
what questions need to be resolved?
what will happen when?
what have you learned?
documentation during development
demand- vs supply-side time management
spiral development
Fabrication
The first idea consists in using gears to drive the servo motors and allow movement of the parts.
But when operating the gear generates pressure on the other parties. So I need to change the design or make safety each parts with structure.
The second idea design based in train mechanist, now change the design concept allows pieces are secure , with the respective support and a structure for easy placement of the booster, this module is repeated 16 times.
Each parts of the modules places ready for be cut by laser in format of the work place
Componets
Manufacturing
Componets
Electronics
3 fabduinos for send signal to the output and input
For the final project I made my own protoboard for connect all the servos, with GND and VCC. All the pins are connected to a power supply of 5V.
GND
GND
VCC
SIGNAL
SIGNAL
This is the case for save the the boards and hide all the wire
Assembly
Programming
The programming based on passing the hand over a input(LDR ), action servomotors rotate 45 degrees, and each time the LDR receives less light drives the servo to reach 180 degrees this translate into increasingly that rotates , the piston rises 3 centimeters. At the same time it causes an ignition sequence of the LEDs are activated.
The programming test is not working perfect because when I touch the LDR , the servomotor move, but I don't want it return up to 180 degrees.
Final presentations links:
Here is my code of the final project all design files
Task:
what tasks have been completed, and what tasks remain?
what has worked? what hasn't?
what questions need to be resolved?
what will happen when?
what have you learned?
License
Kinetic sculpture (as defined below) is provided under the terms of this creative commons public license ("ccpl" or "license"). The work is protected by copyright and/or other applicable law. Any use of the work other than as authorized under this license or copyright law is prohibited.
By exercising any rights to the work provided here, you accept and agree to be bound by the terms of this license. To the extent this license may be considered to be a contract, the licensor grants you the rights contained here in consideration of your acceptance of such terms and conditions.
#include <Servo.h>
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo;
int led = A5;
int sensor = A0;
void setup() {
myservo1.attach(3);
myservo2.attach(4);
myservo3.attach(5);
myservo4.attach(6);
Serial.begin(9600);
myservo.write(0);
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
int sensor = analogRead(A0);
while(sensor<250){
myservo1.write(0);
myservo2.write(0);
myservo3.write(0);
myservo4.write(0);
sensor = analogRead(A0);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led,HIGH);
delay(50);
}
delay(100);
sensor = analogRead(A0);
while(sensor>250){
myservo1.write(45);
sensor = analogRead(A0);
}
delay(100);
sensor = analogRead(A0);
while(sensor<250){
myservo1.write(45);
myservo2.write(45);
myservo3.write(45);
myservo4.write(45);
sensor = analogRead(A0);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led,HIGH);
delay(50);
}
delay(100);
sensor = analogRead(A0);
while(sensor>250){
myservo1.write(90);
myservo2.write(90);
myservo3.write(90);
myservo4.write(90);
sensor = analogRead(A0);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led,HIGH);
delay(50);
}
delay(100);
sensor = analogRead(A0);
while(sensor<250){
myservo1.write(90);
myservo2.write(90);
myservo3.write(90);
myservo4.write(90);
sensor = analogRead(A0);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led,HIGH);
delay(50);
}
delay(100);
sensor = analogRead(A0);
while(sensor>250){
myservo1.write(135);
myservo2.write(135);
myservo3.write(135);
myservo4.write(135);
sensor = analogRead(A0);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led,HIGH);
delay(50);
}
delay(100);
sensor = analogRead(A0);
while(sensor<250){
myservo1.write(135);
myservo2.write(135);
myservo3.write(135);
myservo4.write(135);
sensor = analogRead(A0);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led,HIGH);
delay(50);
}
delay(100);
sensor = analogRead(A0);
while(sensor>250){
myservo1.write(180);
myservo2.write(180);
myservo3.write(180);
myservo4.write(180);
sensor = analogRead(A0);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led,HIGH);
delay(50);
}
sensor = analogRead(A0);
while(sensor<250){
myservo1.write(180);
myservo2.write(180);
myservo3.write(180);
myservo4.write(180);
sensor = analogRead(A0);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led,HIGH);
delay(50);
}
//Serial.println(sensor);
delay(100);
}
Copyright © Jorge Huang Li - FAB ACADEMY 2016