The above items are the materials we were given, along with their label. We were given our materials at the beginning of August, in 2020. We had to do so without contact, and began the school year virtual due to the Coronavirus outbreak and subsequent lock-downs.
The purpose of the Project Brief is to inform us of what the project is and what it's constraints are.
For our project, we used our briefs to guide the direction we moved in, and allowed it to serve as a final benchmark.
This document describes our plan, and the questions that we want answered by the time we're done.
This document described the steps we'll take to get to the end.
Today we learned how to create a circuit diagram and what it is. A circuit diagram is a model of a circuit and the purpose of it is to give us something to work off of, and a backup in case we make any mistakes with wiring.
Today we learned how to build a circuit picture. This represents the diagram that we drew. It also shows how we will hook up the wires to the breadboard and then to the Arduino. We had to use a third party model because TinkerCAD does not have an Arduino Nano.
The purpose of the research is to get a more vivid idea of how we want to carry out our project. This often involves asking people, or searching for related topics online.
For our project, the research involved searching for two already existing Arduino drawing machines. We would use the information we found to begin the next phase of the design process.
In this step of the design process, we research already existing DrawBots, and make observations about their construction. We'll use those observations to guide our own planning and building process.
This was the first design I found, and the one I favor the most. This design is relatively simple, using two servos to control the arm, and using small wooden planks as the arms. It also makes use of a potentiometer, which is used to control the amount of resistance applied to an electric current, and can be bought for extremely cheap.
This is the proper wiring for a dual servo configuration. The power wires are both connected to the 5V through the breadboard, and the other wires are properly attached. This has been tested, and works perfectly with the correct code.
The purpose of idea development is to narrow your project using feedback and a general concept of practicality. This is usually done by receiving constructive criticism from peers or potential users, and then finding what is most practical for your materials, time, and energy.
For our project, we had to research more in-depth, our choices for the DrawBot. We cross-referenced what we found with our materials and constraints, and chose one of the two options.
I chose the BrachioGraph. The reason I chose this specific one was because it is very simple, and uses cheap materials that are also very sturdy. This machine also does not step outside our parameters, and will be able to create three different patterns without much difficulty.
The purpose of prototyping is to create drafts, which can eliminate poor designs, and set you down a more fruitful path in your project.
For our project, we designed the circuit diagram and picture, and used the information to create our prototype. We had it complete basic functions, and used the information we acquired to continue on with the process. This is a big part of where Evaluation Modification played a role, because we had to scrap a lot of our original research ideas.
This is my circuit diagram. My design is very rudimentary, but it can look a bit complicated, mainly because it does not allow for the use of breadboards, which make the setup look quite a bit simpler, especially considering the fact that I am using two servos.
This is my circuit picture. This shows in more detail how my servos will mount off of each other by using the breadboard to distribute power.
It can be seen that each servo is operating independently, and are guiding the pen successfully. When I recorded this video, a third servo is visible and had what I thought would be used as a pen stopper. However, since then, I have retrofitted my robot, eliminating both the use and the practicality for a pen stopper.
#include <Servo.h>
Servo myservo;
Servo myservo2;
void setup()
{
myservo.attach(A1);
myservo2.attach(A2);
myservo.write(40); // set servo to mid-point
}
void loop()
{
myservo.write(100);
delay(50);
myservo.write(102);
delay(50);
myservo.write(104);
delay(50);
myservo.write(106);
delay(50);
myservo.write(108);
delay(50);
myservo.write(110);
delay(50);
myservo.write(112);
delay(50);
myservo.write(114);
delay(50);
myservo.write(116);
delay(50);
myservo.write(118);
delay(50);
myservo.write(120);
delay(50);
myservo.write(122);
delay(50);
myservo.write(124);
delay(50);
myservo.write(126);
delay(50);
myservo.write(128);
delay(50);
myservo.write(130);
delay(50);
myservo.write(132);
delay(50);
myservo.write(134);
delay(50);
myservo.write(136);
delay(50);
myservo.write(138);
delay(50);
myservo.write(140);
delay(50);
myservo.write(138);
delay(50);
myservo.write(136);
delay(50);
myservo.write(134);
delay(50);
myservo.write(130);
delay(50);
myservo.write(128);
delay(50);
myservo.write(126);
delay(50);
myservo.write(124);
delay(50);
myservo.write(122);
delay(50);
myservo.write(120);
delay(50);
myservo.write(118);
delay(50);
myservo.write(116);
delay(50);
myservo.write(114);
delay(50);
myservo.write(112);
delay(50);
myservo.write(110);
delay(50);
myservo.write(108);
delay(50);
myservo.write(106);
delay(50);
myservo.write(104);
delay(50);
myservo.write(102);
delay(50);
myservo.write(100);
delay(50);
myservo2.write(60);
delay(50);
myservo2.write(62);
delay(50);
myservo2.write(64);
delay(50);
myservo2.write(66);
delay(50);
myservo2.write(68);
delay(50);
myservo2.write(70);
delay(50);
myservo2.write(72);
delay(50);
myservo2.write(74);
delay(50);
myservo2.write(76);
delay(50);
myservo2.write(78);
delay(50);
myservo2.write(80);
delay(50);
myservo2.write(82);
delay(50);
myservo2.write(84);
delay(50);
myservo2.write(86);
delay(50);
myservo2.write(88);
delay(50);
myservo2.write(90);
delay(50);
myservo2.write(92);
delay(50);
myservo2.write(94);
delay(50);
myservo2.write(96);
delay(50);
myservo2.write(98);
delay(50);
myservo2.write(100);
delay(50);
myservo2.write(98);
delay(50);
myservo2.write(96);
delay(50);
myservo2.write(94);
delay(50);
myservo2.write(92);
delay(50);
myservo2.write(90);
delay(50);
myservo2.write(88);
delay(50);
myservo2.write(86);
delay(50);
myservo2.write(84);
delay(50);
myservo2.write(82);
delay(50);
myservo2.write(80);
delay(50);
myservo2.write(78);
delay(50);
myservo2.write(76);
delay(50);
myservo2.write(74);
delay(50);
myservo2.write(72);
delay(50);
myservo2.write(70);
delay(50);
myservo2.write(68);
delay(50);
myservo2.write(66);
delay(50);
myservo2.write(64);
delay(50);
myservo2.write(62);
delay(50);
myservo2.write(60);
delay(50);
}
The purpose of testing is to evaluate the performance of your final prototype. We usually do this by presenting a live demonstration of the prototype's functionality and what is affecting it.
For our project, we recorded our DrawBot creating three patterns, and labeled pictures of the components. This is a successful evaluation of the functionality of the DrawBot.
In this picture, the robot itself can be seen. Toward the bottom, there is the shoulder servo, which connects to the elbow servo with a popsicle stick. A popsicle stick is glued to the side of the servo, which connects to a clothes pin that holds the marker.
This picture shows the arduino. Visible are the red power wires, the black ground wires, and the white pin wires, as well as the blue A/B cable which provides power to the Arduino.
#include <Servo.h>
Servo Shoulder;
Servo Elbow;
void setup() {
Shoulder.attach(A1);
Elbow.attach(A2);
}
void loop() {
Elbow.write(30);
delay(2000);
Elbow.write(80);
delay(2000);
Shoulder.write(20);
delay(2000);
Elbow.write(30);
delay(2000);
Shoulder.write(70);
delay(2000);
Elbow.write(30);
delay(2000);
Elbow.write(80);
delay(2000);
Shoulder.write(20);
delay(2000);
Elbow.write(30);
delay(2000);
Shoulder.write(70);
delay(2000);
Elbow.write(30);
delay(2000);
Elbow.write(80);
delay(2000);
Shoulder.write(20);
delay(2000);
Elbow.write(30);
delay(2000);
Shoulder.write(70);
delay(2000);
Shoulder.write(70);
delay(2000);
Shoulder.write(130);
delay(2000);
Elbow.write(100);
delay(2000);
Elbow.write(120);
delay(2000);
Shoulder.write(70);
delay(2000);
Elbow.write(90);
delay(2000);
Shoulder.write(70);
delay(2000);
Shoulder.write(130);
delay(2000);
Elbow.write(100);
delay(2000);
Elbow.write(120);
delay(2000);
Shoulder.write(70);
delay(2000);
Elbow.write(90);
delay(2000);
Shoulder.write(70);
delay(2000);
Shoulder.write(130);
delay(2000);
Elbow.write(100);
delay(2000);
Elbow.write(120);
delay(2000);
Shoulder.write(70);
delay(2000);
Elbow.write(90);
delay(2000);
//This is where it spazzes out.
Elbow.write(140);
Shoulder.write(105);
Elbow.write(155);
Shoulder.write(80);
}
This is the circuit diagram. This is specifically made for four servos, and takes into account grounding and power requirements. It utilizes a breadboard, which is necessary to ground and power more than two servos on an Arduino Nano.
This inventory displays most of the materials that will be used for the robotic arm project. I am currently missing one wooden rod and one of the L shaped pieces on the left, however, neither of those losses should impair my progress as we were provided extras.
This is the first step in the construction process, which involved assembling four wood pieces as our base, and installing a servo.
This benchmark involved calibrating our servo so they have a correct range of motion and do not jerk. I made this video very late, so the build is more advanced, but I feel that it satisfies the requirement.
This is the first assessment of progress for the building of my robot. At this point, I have created two arm structures protruding from the base.
This is a benchmark which assesses the robots ability to move the lower arm forward and backward.
#include <Servo.h>
Servo Right;
int Rightpos = 0;
void setup() {
Right.attach(A2);
}
void loop() {
for (Rightpos = 30; Rightpos <= 90; Rightpos += 1) {
Right.write(Rightpos);
delay(15);
}
delay(3000);
for (Rightpos = 90; Rightpos >= 30; Rightpos -= 1) {
Right.write(Rightpos);
delay(15);
}
For this benchmark, I assessed the robots ability to move the upper arm up and down.
#include <Servo.h>
Servo Left;
int Leftpos= 20;
void setup() {
Left.attach(A1);
}
void loop()
for (Leftpos= 20; Leftpos<= 120; Leftpos+= 1) {
Left.write(Leftpos);
delay(15);
}
delay(1000);
for (Leftpos= 120; Leftpos>= 20; Leftpos-= 1) {
Left.write(Leftpos);
}
For this benchmark, I programmed the base servo in the middle of the robot to move it left and right.
For this benchmark, I programed the robot to go up, down, forward and backwards.
For this benchmark, I coded the robot to go up, down, left, right, forwa
For this benchmark, I coded the claw, which is not yet attached to the rest of the robot.
For this benchmark, I made the robot go left, right, up, down, forward and backward, and made the claw open and close.
#include <Servo.h>
Servo Left;
Servo Right;
Servo Base;
Servo Claw;
int leftpos ;
int rightpos;
int basepos;
int clawpos;
void setup() {
Left.attach(A1);
Right.attach(A2);
Base.attach(A3);
Claw.attach(A4);
}
void loop() {
Claw.write(45);
delay(1000);
Base.write(180);
delay(1000);
Right.write(115);
delay(1000);
Left.write(40);
delay(1000);
Claw.write(45);
delay(1000);
Claw.write(90);
delay(1000);
Left.write(130);
delay(1000);
Right.write(70);
delay(1000)
Base.write(60);
delay(1000)
Right.write(110);
delay(1000)
Left.write(110);
delay(1000)
Claw.write(45);
delay(1000);
}
This is the final Circuit Picture for the project. It shows what the actual wiring would realistically look like, and provides a good benchmark to work off of.
This is the final Circuit Diagram. It shows the technical model of the robot, and it a more barebone version of the circuit picture.
Pseudo is the writing of code as if they were human directives. Ex. Servo.write (180) = The servo moves to 180 degrees.
Function example: Taking out the trash
Function definition:
Open trash can,
Take trash out of can,
Take trash to dumpster,
Open dumpster,
Throw trash in dumpster.
For this benchmark, I make the robot extend to the left, and pick up and object, retract the arm, move it to the right, extend, and drop the object,
#include <Servo.h>
Servo Left;
Servo Right;
Servo Base;
Servo Claw;
int leftpos ;
int rightpos;
int basepos;
int clawpos;
void setup() {
Left.attach(A1);
Right.attach(A2);
Base.attach(A3);
Claw.attach(A4);
}
void loop() {
Claw.write(45);
delay(1000);
Base.write(180);
delay(1000);
Right.write(130);
delay(1000);
Left.write(60);
delay(1000);
Claw.write(45);
delay(1000);
Claw.write(90);
delay(1000);
Left.write(130);
delay(1000);
Right.write(70);
delay(1000);
Base.write(30);
delay(1000);
Right.write(110);
delay(1000);
Left.write(100);
delay(1000);
Claw.write(45);
delay(1000);
}
For this benchmark, I completed parts 1 and 2 of our Jingle Bells Dance project, I then synced it with the song.
#include <Servo.h>
Servo Left;
Servo Right;
Servo Base;
Servo Claw;
int leftpos = 90;
int rightpos = 90;
int basepos = 90;
int clawpos = 75;
void setup() {
Left.attach(A1);
Right.attach(A2);
Base.attach(A3);
Claw.attach(A4);
}
void loop() {
Claw.write(75);
delay(4000);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(90);
delay(2000);
Claw.write(45);
delay(1000);
Claw.write(75);
delay(1000);
Claw.write(45);
delay(1000);
Claw.write(75);
delay(1000);
Claw.write(45);
delay(1000);
Claw.write(75);
delay(1000);
Claw.write(45);
delay(1000);
Claw.write(75);
delay(1000);
Claw.write(45);
delay(1000);
Claw.write(75);
delay(1000);
Claw.write(45);
delay(1000);
for (rightpos = 70; rightpos <= 115; rightpos += 1) {
Right.write(rightpos);
delay(25);
}
delay(1000);
for (leftpos = 100; leftpos >= 80; leftpos -= 1) {
Left.write(leftpos);
delay(15);
}
delay(1000);
Claw.write(75);
delay(100);
for (leftpos = 70; leftpos <= 100; leftpos += 1) {
Left.write(leftpos);
delay(15);
}
delay(100);
for (rightpos = 115; rightpos >= 100; rightpos -= 1) {
Right.write(rightpos);
delay(25);
}
delay(100);
For this benchmark, I made the robot dance in sync with 'Jingle Bell Rock' using the different servos.
#include <Servo.h>
Servo Left;
Servo Right;
Servo Base;
Servo Claw;
int leftpos = 90;
int rightpos = 90;
int basepos = 90;
int clawpos = 75;
void setup() {
Left.attach(A1);
Right.attach(A2);
Base.attach(A3);
Claw.attach(A4);
}
void loop() {
Claw.write(75);
delay(4000);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(100);
delay(100);
Base.write(80);
delay(100);
Base.write(90);
delay(2000);
Claw.write(45);
delay(1000);
Claw.write(75);
delay(1000);
Claw.write(45);
delay(1000);
Claw.write(75);
delay(1000);
Claw.write(45);
delay(1000);
Claw.write(75);
delay(1000);
Claw.write(45);
delay(1000);
Claw.write(75);
delay(1000);
Claw.write(45);
delay(1000);
Claw.write(75);
delay(1000);
Claw.write(45);
delay(1000);
for (rightpos = 70; rightpos <= 115; rightpos += 1) {
Right.write(rightpos);
delay(25);
}
delay(1000);
for (leftpos = 100; leftpos >= 80; leftpos -= 1) {
Left.write(leftpos);
delay(15);
}
delay(1000);
Claw.write(75);
delay(100);
for (leftpos = 70; leftpos <= 100; leftpos += 1) {
Left.write(leftpos);
delay(15);
}
delay(100);
for (rightpos = 115; rightpos >= 100; rightpos -= 1) {
Right.write(rightpos);
delay(25);
}
delay(100);
for (basepos = 90; basepos >= 60; basepos -= 1) {
Base.write(basepos);
delay(25);
}
delay(100);
Base.write(60);
delay(100);
Base.write(65);
delay(100);
Base.write(70);
delay(100);
Base.write(75);
delay(100);
Base.write(80);
delay(100);
Base.write(85);
delay(100);
Base.write(90);
delay(100);
Base.write(95);
delay(100);
Base.write(100);
delay(100);
Base.write(105);
delay(100);
Base.write(110);
delay(100);
Base.write(115);
delay(100);
Base.write(120);
delay(100);
//break
Base.write(115);
delay(100);
Base.write(110);
delay(100);
Base.write(105);
delay(100);
Base.write(100);
delay(100);
Base.write(95);
delay(100);
Base.write(90);
delay(100);
Base.write(85);
delay(100);
Base.write(80);
delay(100);
Base.write(75);
delay(100);
Base.write(70);
delay(100);
Base.write(65);
delay(100);
Base.write(60);
delay(100);
//break
Base.write(60);
delay(100);
Base.write(65);
delay(100);
Base.write(70);
delay(100);
Base.write(75);
delay(100);
Base.write(80);
delay(100);
Base.write(85);
delay(100);
Base.write(90);
delay(100);
Base.write(95);
delay(100);
Base.write(100);
delay(100);
Base.write(105);
delay(100);
Base.write(110);
delay(100);
Base.write(115);
delay(100);
Base.write(120);
delay(100);
//break
Base.write(115);
delay(100);
Base.write(110);
delay(100);
Base.write(105);
delay(100);
Base.write(100);
delay(100);
Base.write(95);
delay(100);
Base.write(90);
delay(100);
//break
Claw.write(35);
delay(1000);
Claw.write(85);
delay(1000);
Claw.write(35);
delay(1000);
Claw.write(85);
delay(1000);
Claw.write(85);
delay(1000);
Claw.write(85);
delay(1000);
Claw.write(35);
delay(1000);
Claw.write(85);
delay(1000);
Claw.write(35);
delay(1000);
Claw.write(85);
delay(1000);
Claw.write(35);
delay(1000);
Base.write(85);
delay(100);
Base.write(80);
delay(100);
Base.write(75);
delay(100);
Base.write(70);
delay(100);
Base.write(65);
delay(100);
Base.write(60);
delay(100);
Base.write(55);
delay(100);
Base.write(50);
delay(100);
Base.write(45);
delay(100);
Base.write(50);
delay(100);
Base.write(55);
delay(100);
Base.write(60);
delay(100);
Base.write(65);
delay(100);
Base.write(70);
delay(100);
Base.write(75);
delay(100);
Base.write(80);
delay(100);
Base.write(85);
delay(100);
Base.write(90);
delay(100);
Base.write(95);
delay(100);
Base.write(100);
delay(100);
Base.write(105);
delay(100);
Base.write(110);
delay(100);
Base.write(115);
delay(100);
Base.write(120);
delay(100);
Base.write(125);
delay(100);
Base.write(130);
delay(100);
Base.write(135);
delay(100);
Base.write(130);
delay(100);
Base.write(125);
delay(100);
Base.write(120);
delay(100);
Base.write(115);
delay(100);
Base.write(110);
delay(100);
Base.write(105);
delay(100);
Base.write(100);
delay(100);
Base.write(95);
delay(100);
Base.write(90);
delay(100);
//break
Base.write(85);
delay(100);
Base.write(80);
delay(100);
Base.write(75);
delay(100);
Base.write(70);
delay(100);
Base.write(65);
delay(100);
Base.write(60);
delay(100);
Base.write(55);
delay(100);
Base.write(50);
delay(100);
Base.write(45);
delay(100);
Base.write(50);
delay(100);
Base.write(55);
delay(100);
Base.write(60);
delay(100);
Base.write(65);
delay(100);
Base.write(70);
delay(100);
Base.write(75);
delay(100);
Base.write(80);
delay(100);
Base.write(85);
delay(100);
Base.write(90);
delay(100);
Base.write(95);
delay(100);
Base.write(100);
delay(100);
Base.write(105);
delay(100);
Base.write(110);
delay(100);
Base.write(115);
delay(100);
Base.write(120);
delay(100);
Base.write(125);
delay(100);
Base.write(130);
delay(100);
Base.write(135);
delay(100);
Base.write(130);
delay(100);
Base.write(125);
delay(100);
Base.write(120);
delay(100);
Base.write(115);
delay(100);
Base.write(110);
delay(100);
Base.write(105);
delay(100);
Base.write(100);
delay(100);
Base.write(95);
delay(100);
Base.write(90);
delay(100);
// break
Base.write(85);
delay(100);
Base.write(80);
delay(100);
Base.write(75);
delay(100);
Base.write(70);
delay(100);
Base.write(65);
delay(100);
Base.write(60);
delay(100);
Base.write(55);
delay(100);
Base.write(50);
delay(100);
Base.write(45);
delay(100);
Base.write(50);
delay(100);
Base.write(55);
delay(100);
Base.write(60);
delay(100);
Base.write(65);
delay(100);
Base.write(70);
delay(100);
Base.write(75);
delay(100);
Base.write(80);
delay(100);
Base.write(85);
delay(100);
Base.write(90);
delay(100);
Base.write(95);
delay(100);
Base.write(100);
delay(100);
Base.write(105);
delay(100);
Base.write(110);
delay(100);
Base.write(115);
delay(100);
Base.write(120);
delay(100);
Base.write(125);
delay(100);
Base.write(130);
delay(100);
Base.write(135);
delay(100);
Base.write(130);
delay(100);
Base.write(125);
delay(100);
Base.write(120);
delay(100);
Base.write(115);
delay(100);
Base.write(110);
delay(100);
Base.write(105);
delay(100);
Base.write(100);
delay(100);
Base.write(95);
delay(100);
Base.write(90);
delay(100);
//break
Base.write(85);
delay(100);
Base.write(80);
delay(100);
Base.write(75);
delay(100);
Base.write(70);
delay(100);
Base.write(65);
delay(100);
Base.write(60);
delay(100);
Base.write(55);
delay(100);
Base.write(50);
delay(100);
Base.write(45);
delay(100);
Base.write(50);
delay(100);
Base.write(55);
delay(100);
Base.write(60);
delay(100);
Base.write(65);
delay(100);
Base.write(70);
delay(100);
Base.write(75);
delay(100);
Base.write(80);
delay(100);
Base.write(85);
delay(100);
Base.write(90);
delay(100);
Base.write(95);
delay(100);
Base.write(100);
delay(100);
Base.write(105);
delay(100);
Base.write(110);
delay(100);
Base.write(115);
delay(100);
Base.write(120);
delay(100);
Base.write(125);
delay(100);
Base.write(130);
delay(100);
Base.write(135);
delay(100);
Base.write(130);
delay(100);
Base.write(125);
delay(100);
Base.write(120);
delay(100);
Base.write(115);
delay(100);
Base.write(110);
delay(100);
Base.write(105);
delay(100);
Base.write(100);
delay(100);
Base.write(95);
delay(100);
Base.write(90);
delay(100);
//break
Base.write(85);
delay(100);
Base.write(80);
delay(100);
Base.write(75);
delay(100);
Base.write(70);
delay(100);
Base.write(65);
delay(100);
Base.write(60);
delay(100);
Base.write(55);
delay(100);
Base.write(50);
delay(100);
Base.write(45);
delay(100);
Base.write(50);
delay(100);
Base.write(55);
delay(100);
Base.write(60);
delay(100);
Base.write(65);
delay(100);
Base.write(70);
delay(100);
Base.write(75);
delay(100);
Base.write(80);
delay(100);
Base.write(85);
delay(100);
Base.write(90);
delay(100);
Base.write(95);
delay(100);
Base.write(100);
delay(100);
Base.write(105);
delay(100);
Base.write(110);
delay(100);
Base.write(115);
delay(100);
Base.write(120);
delay(100);
Base.write(125);
delay(100);
Base.write(130);
delay(100);
Base.write(135);
delay(100);
Base.write(130);
delay(100);
Base.write(125);
delay(100);
Base.write(120);
delay(100);
Base.write(115);
delay(100);
Base.write(110);
delay(100);
Base.write(105);
delay(100);
Base.write(100);
delay(100);
Base.write(95);
delay(100);
Base.write(90);
delay(100);
// break
Left.write(95);
delay(50);
Left.write(90);
delay(50);
Left.write(85);
delay(50);
Left.write(80);
delay(50);
Left.write(75);
delay(50);
Left.write(70);
delay(50);
Left.write(65);
delay(50);
Left.write(60);
delay(50);
Left.write(55);
delay(50);
Left.write(60);
delay(50);
Left.write(65);
delay(50);
Left.write(70);
delay(50);
Left.write(75);
delay(50);
Left.write(80);
delay(50);
Left.write(85);
delay(50);
Left.write(90);
delay(50);
Left.write(95);
delay(50);
Left.write(100);
delay(50);
//break
Left.write(95);
delay(50);
Left.write(90);
delay(50);
Left.write(85);
delay(50);
Left.write(80);
delay(50);
Left.write(75);
delay(50);
Left.write(70);
delay(50);
Left.write(65);
delay(50);
Left.write(60);
delay(50);
Left.write(55);
delay(50);
Left.write(60);
delay(50);
Left.write(65);
delay(50);
Left.write(70);
delay(50);
Left.write(75);
delay(50);
Left.write(80);
delay(50);
Left.write(85);
delay(50);
Left.write(90);
delay(50);
Left.write(95);
delay(50);
Left.write(100);
delay(50);
//break
Left.write(95);
delay(50);
Left.write(90);
delay(50);
Left.write(85);
delay(50);
Left.write(80);
delay(50);
Left.write(75);
delay(50);
Left.write(70);
delay(50);
Left.write(65);
delay(50);
Left.write(60);
delay(50);
Left.write(55);
delay(50);
Left.write(60);
delay(50);
Left.write(65);
delay(50);
Left.write(70);
delay(50);
Left.write(75);
delay(50);
Left.write(80);
delay(50);
Left.write(85);
delay(50);
Left.write(90);
delay(50);
Left.write(95);
delay(50);
Left.write(100);
delay(50);
//break
Left.write(95);
delay(50);
Left.write(90);
delay(50);
Left.write(85);
delay(50);
Left.write(80);
delay(50);
Left.write(75);
delay(50);
Left.write(70);
delay(50);
Left.write(65);
delay(50);
Left.write(60);
delay(50);
Left.write(55);
delay(50);
Left.write(60);
delay(50);
Left.write(65);
delay(50);
Left.write(70);
delay(50);
Left.write(75);
delay(50);
Left.write(80);
delay(50);
Left.write(85);
delay(50);
Left.write(90);
delay(50);
Left.write(95);
delay(50);
Left.write(100);
delay(50);
}