Engineering concepts
Project brief
Getting started with materials!
Since were taking class online this year our teacher sent us a a packet of materials and this photo was taking to verify that had all of them.
Physical CONFIGURATIONS
The first resource is a servo based rolling robot. Its being held together on a piece of cardboard with 12 batteries to power it. The wheels look like they function on all terrain.I probably couldn't make his at home due to the metal guards around the wheels I don't have access to that.
The second robot is a servo based rolling robot with five batteries and a plastic base.This one looks more complicated to make then the first one due to the plastic but i have most of the wiring in mt bag .
The last one is a simple rolling servo based robot with four batteries and a clear base . i could probably make this with the materials i was provided.
circuit picture
This is a picture of circuit that I found on the internet.It shows how to wire two servos
Two moving servos
This video shows both of my servos running on their own they have a coding malfunction at the moment making them go back ad fourth I plan to fix this soon though.
This is my circuit diagram for my final project.
if/else function.
A if else statement is something used in codes a lot. Basically they're task that will be done if given a specific condition.
This is a circuit diagram demonstrating the wiring of a ultra sonic sound sensor and a arduino.
This is a data sheet that shoes how everything works with the sensor.
Labeled wires
In class today I Labeled all the wires so that it wouldn't be confusing and if I had to take one out id know where to put it back .
code quize
For the quiz i was given a series of commands that my robot is suppose to do
180 degree tank turn to the right
Forward three seconds
Backwards three seconds
90 degree standard turn to the left
Forward for 5 seconds.
my robot isn't functioning at the moment and below is a drop down of the code
COde for code quiz
#include <Servo.h>
Servo Left;
Servo Right;
void setup()
{
Left.attach(9);
Right.attach(10);
}
void Righttankturn() {//define right tank turn
Left.write(180);
Right.write(180);
Delay(2000);
}
void Forward() {//define forward
Left.write(180);
Right.write(0);
delay(3000);
}
void Back() {//define Back
Left.write(0);
Right.write(180);
Delay (3000);
}
void right() {//define right
Left.write(180);
Right.write(90);
Delay (2000);
}
void Forward() {//define forward
Left.write(180);
Right.write(0);
delay(5000);
}
Code for functioning robot
/*
* Ultrasonic Sensor HC-SR04 and Arduino Tutorial
*
* by Dejan Nedelkovski,
* www.HowToMechatronics.com
*
*/
// defines pins numbers6
const int trigPin = 5;
const int echoPin = 6;
// defines variables
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
// Prints the distance on the Serial Monitor
Serial.print("Distance: ");
Serial.println(distance);
}
Real life Pseudo code
Today in class we practiced defining functions so we chose a real life action and for a function then we wrote out a code for it.
Real life if/else statement
If you drive in the state of Georgia
then you must have auto insurance
register your car and pay a tag tax
or else you will get a ticket
and have to go to court and pay a fine
Curcuit diagram for ultra sonic
Change in distance reading
This is my ultra sound sensors reading the way I got it was from uploading my code in class and wiring my sensor according to the circuit picture.
Circuit picture
This is the picture i used to model for the way i wired my ultra sound sensor. I started by hooking up the trig and echo to pins 5 and 6. Then I wired vcc and gnd to the red and blue row where the according wires went into pin 5v and Gnd on my Arduino.
Document your evaluation & testing / prototyping process:
When I first built my robot I had all the batteries on the second piece cardboard. It turned out the this was weighing down to much on my root so i moved two battery packs to the top piece of cardboard. So that it could function correctly.
Today we had a asynchronized day and i moved my breadboard to the front of my robot and mad sure the eyes (sensor) had a clear path with nothing blocking them.
Week 17: Research / Constraints Development
research 1
This robot is a Arduino based robot with a breadboard. I plan on putting a door in the back so breadboard and Arduino are easy accessible making it meet constraints. It also had no glue marks and its very neat.
Research 2
This robot is a small box style robot. Everything looks very accessible and easy to use. It also doesn't look to heavy for functioning. And it looks very neat. But I want to keep the idea of having eyes as the sensors
research 3
This is an idea of what i want it to look like inside
final asessment
Project Brief
The project brief plays a very big roll in the design process because it gives the background information we need on the project. The project brief tells us in specific what we will be doing throughout the project
For this project, we were given a project brief by our teacher and it describes the constraintans goals of our project. In this one it shows us what we will be learning throughout the time on this project through the goals and it gives us a brief image of what our project will looklike through describing the constraints.
Research
In the research step of the design process is also really important because it helps form the idea of what it will look like. during the research process you use resources like the internet to figure out information about something and also get inspiration from others ideas.
In this project we used the research process when we looked up how the egg mechanism worked and we recreated it with cardboard
Idea development
In the idea development part of the design process the goal is to get a more descriptive layout of exactly what your project will look like. This means drawing it out or forming a blueprint online
In our project, we used the idea development process when we made our inkscapes. this really reinforce the idea we where going to use for our final with every detail it even showed the designs that would go on our actual pieces
Prototype
"How do we convert rational motion to linear motion?"
This is the cardboard automation we made in class. It uses linear and rotational movement.
The prototyping process of the project is really vital because with out a prototype you can easily get lost on or mess up on the final project.
For our project we prototyped twice the first time being when we made the egg mechanism to demonstrate the concept of linear motion. and the second time was when we used gears on cardboard to de5mostrate how are gear boxes would work.
Evaluation & testing
evaluation and testing part of the design process is also very crucial because it makes us question on things about our project and then we put the prototypes to the test to see if they actually work
Production
The production part of the project is when you actually put together the final model using all the other steps to help you.
In our project the production process would be after we got our pieces printed out and we had to assemble our gear box. I think this is one of my favorite steps in the design process because you get t see all your hard work come to life
Inkscaape face
We tested out the program inkscape by making funny faces.
for the eyes I used the star and pentagon feature
for the eyebrows, I used the rectangle feature to make them look the way i wanted them to
I used the a circle for the mouth and tongue
instead of hair I used horns out of the star and pentagon feature
in the end i made every thing part of the face using the difference feature
My first gear
This was the design for my first gear in inkscape. I used rectangles and triangles to make of each piece. Then circles for the branch parts.
second decorativee gear
I used another method to make this gear and these are the steps
create a weird shape using star and pentagon feature
make a circle in the center of gear
click 'object to path' in path tab
right click shape and copy it
click circle and then path effects
click+ then 'pattern along path'
select circle
click 'link from clipboard button'
click 'repeted and stretch'
get yo know gear
In class we were given the task to get two gears from our kit to move in the same direction. The way i went about this was I added another gear on the end so that that gear and the drive gear could move in the same direction.
reverse engineering exampl project
dancing digits
In the example that was shown I noticed that there was motored tri cams at the bottom that engaged with the sticks that electronic numbers were on. The transparent sticks were on slots so that they could make linear motion smooth. after the rectangular pieces move up gravity brings them back down
Mrs.whites kenetic sculpture
I noticed in Mrs. whites sculpture that there is a hands crank attached too the drive shaft and it moves all of the other gears. There are layer that separate the different sizes of gears. The drive gear has all 3 layers on it and it engages with front an back for different gears.
Motor working
ultra sonic sensor and motor code
const int motorPin = 3;
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;
int speed = 255;
int flag;
void setup() {
pinMode(motorPin, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, HIGH);
delayMicroseconds(2);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration*0.034/2;
Serial.print("Distance =");
Serial.print(distance);
Serial.println(" PWM");
speed = 8*(255/distance);
if(distance <= 243.84){ //8 ft
analogWrite(motorPin, speed);
}else{
analogWrite(motorPin, 0);
}
}