#include <Servo.h>
Servo myservo; // create servo object to control a servo
Servo myservo2; // create servo object to control a servo
// twelve servo objects can be created on most boards
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
myservo2.attach(8); // attaches the servo on pin 9 to the servo object
}
void loop() {
myservo.write(120); // tell servo to go to position in variable 'pos'
myservo2.write(0); // tell servo to go to position in variable 'pos'
delay(1500);
myservo.write(0); // tell servo to go to position in variable 'pos'
myservo2.write(120); // tell servo to go to position in variable 'pos'
delay(1500);
; // waits 15ms for the servo to reach the position
}
/;
We are going to learn the above four things to be able to do our semester 2 project.
This year, Ms. white is helping us develop skills so that we can choose a project to solve later.
Our robotic arm is to help us do our semester 2 project.
This is my inspiration as I am a very big fan of the joints an the claw shape
I like the claw shape but I would like to add joints to mine.
This is my robot arm claw. It is built of cardboard and servos. I programmed it on arduino to control it.
This is my completed base where it rotates from 0 to 180 degrees and back.
In this video, I created a claw made of a servo and wood. This is a part of the robot arm claw project.
Today in class, we created our right arm. This video shows the base moving 180 degrees while the right arm move 90 degrees and back.
Today in class, we created our left arm. We added this to our right arm and coded it to preform a 90 turn to the opposite side of the right arm.
Today, we created our robotic arm, we also coded our claw to move.
This is my final arm robot. In the video it is grabbing an object, rotating, and then letting go of the object.
#include<Servo.h>
// put your setup code here, to run once:
Servo baseservo; // create servo object to control a servo
Servo clawservo; // create servo object to control a servo
Servo rightservo;
Servo leftservo;
// twelve servo objects can be created on most boards
int pos = 0;
int rpos = 0;
int bpos = 1;
int lpos = 0;
void setup() {
baseservo.attach(9); // attaches the servo on pin 9 to the servo object
rightservo.attach(11); // goes from 0 degrees to 180 degrees
clawservo.attach(10);
leftservo.attach(8);
rightservo.write(0);//back
leftservo.write(70);//up
baseservo.write(90);//middle
clawservo.write(90);//open
delay(1000);
//
///up, retracted, centered, open
for (pos = 0; pos <= 40; pos += 1) { // goes from 180 degrees to 0 degrees
rightservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
leftservo.write(70);
baseservo.write(90);//middle
clawservo.write(90);//open
delay(1000);
for (pos = 40; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
rightservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
// ////MOVE SLOWLY TO 0 DEGREES
rightservo.write(0);//back
leftservo.write(60);//up
for (pos = 90; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
baseservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
clawservo.write(90);//open
delay(1000);
////fully extended to the right
rightservo.write(0);//back
for (pos = 60; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
leftservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
baseservo.write(0);//middle
for (pos = 90; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
clawservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
for (pos = 0; pos <= 90; pos += 1) { // goes from 180 degrees to 0 degrees
leftservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
for (pos = 0; pos <= 180; pos += 1) { // goes from 180 degrees to 0 degrees
baseservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
for (pos = 90; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
leftservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
for (pos = 0; pos <= 90; pos += 1) { // goes from 180 degrees to 0 degrees
clawservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
for (pos = 0; pos <= 90; pos += 1) { // goes from 180 degrees to 0 degrees
leftservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
for (pos = 180; pos >= 90; pos -= 1) { // goes from 180 degrees to 0 degrees
baseservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15);
}
The video to the left is my robot moving that is coded based on a video our teacher provided for us. We were to watch the video and find which degree the servos rotated too.
#include<Servo.h>
// put your setup code here, to run once:
Servo baseservo; // create servo object to control a servo
Servo clawservo; // create servo object to control a servo
Servo rightservo;
Servo leftservo;
// twelve servo objects can be created on most boards
int pos = 0;
int rpos = 0;
int lpos = 0;
int bpos = 0;
void setup() {
baseservo.attach(9); // attaches the servo on pin 9 to the servo object
rightservo.attach(11); // goes from 0 degrees to 180 degrees
clawservo.attach(10);
leftservo.attach(8);
rightservo.write(20);//back
leftservo.write(70);//up
baseservo.write(90);//middle
clawservo.write(90);//open
delay(1000);
rightservo.write(20);//back
leftservo.write(70);//up
baseservo.write(110);//middle
clawservo.write(90);//open
delay(1000);
rightservo.write(40);//back
leftservo.write(70);//up
baseservo.write(110);//middle
clawservo.write(90);//open
delay(1000);
rightservo.write(40);//back
leftservo.write(70);//up
baseservo.write(110);//middle
clawservo.write(90);//open
delay(2000);
rightservo.write(20);//back
leftservo.write(0);//up
baseservo.write(110);//middle
clawservo.write(90);//open
delay(1000);
rightservo.write(20);//back
leftservo.write(0);//up
baseservo.write(110);//middle
clawservo.write(0);//open
delay(3000);
rightservo.write(20);//back
leftservo.write(70);//up
baseservo.write(110);//middle
clawservo.write(0);//open
delay(3000);
rightservo.write(20);//back
leftservo.write(70);//up
baseservo.write(110);//middle
clawservo.write(0);//open
delay(3000);
rightservo.write(0);//back
leftservo.write(70);//up
baseservo.write(110);//middle
clawservo.write(0);//open
delay(1000);
rightservo.write(20);//back
leftservo.write(70);//up
baseservo.write(0);//middle
clawservo.write(0);//open
delay(1000);
rightservo.write(30);//back
leftservo.write(70);//up
baseservo.write(0);//middle
clawservo.write(0);//open
delay(4000);
rightservo.write(0);//back
leftservo.write(0);//up
baseservo.write(0);//middle
clawservo.write(0);//open
delay(3000);
rightservo.write(0);//back
leftservo.write(0);//up
baseservo.write(0);//middle
clawservo.write(90);//open
delay(3000);
rightservo.write(0);//back
leftservo.write(70);//up
baseservo.write(90);//middle
clawservo.write(90);//open
delay(1000);
}
void loop(){}
In todays class, we were introduced into our next step of our project. We started by soldering our two pieces together. Then we wired and coded our sensor to change the intensity of color shown to the sensor based on what color is shown. The video to the left shows a red, blue, and green object that is put in front of the sensor to make the number of what color the object is go up.
My robot grabbing an object with new wiring
In class we wired our robot claw to a new Arduino to include the RGB sensor. We tested this by using our code that we used to grab an object to find out if we wired and coded it correctly. The video to the left shows the robot reacting to the red paper by completing the claw motion.
The picture to the left shows the wiring of our robotic claw with the RGB sensor. This gives us a representation of how our robot should be wired.
I like this video even though it does not give instruction. This video strictly shows how a robotic arm should function. I also like how this is a never ending code meaning that the robot could sort colors for virtually forever.
I like how this video gives us a simple and easy way of coding it even though we are not using the same program. I also like how this gives the robotic arm 360 degree freedom.
I like this design as it would be perfect for the project that we have. This video gives details on its code, build, and structure. I believe that this will most likely be the video we will get our ideas most from.
For day 1, we started with our blueprint along with some simple construction and just ideas for our project.
For day 2, we constructed more of our organizer using cardboard and we also started coding to make our skittles be detected and go to a certain coordinates.
In day 3 of are project, we constructed our organizer more and added our hole to feed to skittle into its container that it would go to.
In day 4 of our sorting project, we made created our hole for the color sensor. This will allow the color for the skittles to be determined.
Today in class, we installed the wires in the back of the sorter to not only make the look cleaner, but also make it so the servos can turn a full rotation. We also installed the color sensor into the hole so the skittles could be detected while in preforming
To allow the skittle to stay in the box, we added these walls to make sure they never bounce out
The video to the left demonstrates our skittle sorter working for at least 90% of the run. This shows the skittle being recognized by color, and then the sorter distributed each skittle into the container
During the video starting at 12:00. You can see a robot that has an arm that can decipher which materials the items contains. This is one of the slower moving robots but it does move in a very smooth pattern. I think that with minor tweaks, this could possibly
In this video, what looks like college students created a machine that is seen used with a phone that can tell which material the item is through the camera of the phone. Once the material is noticed, the base from underneath goes down and the two other beams go to whichever material it has.
this video is seen in a robot's point of view where the robot is seen grabbing an object with what looks to be suction and grabbing the plastic and other materials to put in its respective ports.
In this video, there is a conveyer belt which is seen in most recycling or trash plants. The claw is much bigger than the other research videos that I have seen. This video is mostly the same as the other videos where there is something grabbing an object based on
Well machine learning is a process that any computer will endure as it is slowly learning through information such as pictures. As more diverse pictures are introduced, the computer will become more advance in depicting differences between pictures.
The goal of my model is for the computer to accurately predict different pairs of shoes. I have used four models, the Jordan 6, Adidas Stan Smith, Nike Dunk, and Converse All Star.
In my data collection, I have 1008 images with 252 of each shoe. Each picture has a pixel size of 48 as seen in the code line size_picture.
My model is a data collection model that can depict what type of shoe is which. This is using python machine learning code that we learned in class starting in March.
this code will print a summary of the model which includes the layers as well as parameters. The first layer is the input layer where information is first registered. The second layer shows the paremeters of the The total number of parmeters of my model is 8, 134,662.
Below are three of the four models or shoes that were predicted correctly.
Because the accuracy of my model is 100 percent, I am fortunate to have no mislabeled images. One thing that I did was increase the epochs in order to train the model more precisely.
As I am finishing this project, I am noticing that this is my last engineering project. Thank you to Ms. White and all of the teachers who have helped me along the way in this class.