When I first started taking engineering concepts , we were learning virtually due to Covid-19. My teacher gave me this kit of materials to use for our first project. When i laid the materials out i was missing the DSD. Our first assignment was to make sure we had everything we were supposed to have in our kit. This is a picture of what was in my kit.
Today we learned that our project will be about automation. We are going to design a rolling robot.
Above is how we will progress through the project. We will use what we learn in this rolling robot project in our next project too.
Circuit diagrams are used for the design, construction, and maintenance of electrical and electronic equipment.
We also learned how to create circuit pictures. Circuit pictures are also a great way to convey how a circuit is created. The battery connects to the LED for it to light up.
A circuit picture shows the actual electrical connections.
This resource is a set of instructions on how to create a servo based robot. This shows the step by step on how to make the servo based robot.
The aurdino are in the middle, there are 2 wheels, it has a sensor in the front. This is not going to be my design but i think examples are important.
This resource has a step by step tutorial. The sensor is in the front. This robot is WiFi controlled. The breadboard is on the back and the material is like a foam type material. There is a total of 4 tires.
This is my circuit picture it represents what the Arduino wiring looks like.
The diagram I made in the circuit diagram editor website. The two circles with the m inside represent the motors. The large rectangle with the letters and numbers demonstrates the arduino.
This is a video of my robot's wheels moving. I couldn't show my servos because my camera wasn't working at the time.
#include <Servo.h> // you will only need this line once, and it refers to a library that controls servos
Servo myservo;
Servo myservo2;// just defines a device called servo that is controled by the servo library
void setup()// this is where you set things up (only occurss once)
{
myservo.attach(9);
myservo2.attach(10); // my servo is controlled by pin 9
}
void loop() { // anything within void loop happens indefinitely
myservo.write(0); // turn my servo clockwise at full speed
delay(2000); //for two seconds
myservo2.write(180); // turn my servo counterclockwise at full speed
delay(2000); //for two seconds
myservo.write(0);
myservo2.write(0);
delay (200);
myservo.write(180);
delay (200);
myservo2.write(180);
}
This is my moving robot. It moves forward, and backwards.
My coarse plan is I am coding it to go around my kitchen and go back to the position it started in.
This is the circuit diagram with the battery packs on them.
Forward
Short amount of time
Right
Short amount of time for a 90 degree turn
Forward
Long amount of time
Right
Short amount of time for a 90 degree turn
Forward
Short amount of time
This is a circuit diagram demonstrating the wiring of a ultra sonic sound sensor and a arduino.
https://randomnerdtutorials.com/complete-guide-for-ultrasonic-sensor-hc-sr04/
https://www.theengineeringprojects.com/2018/10/introduction-to-hc-sr04-ultrasonic-sensor.html
This is a data sheet that shoes how everything works with the sensor.
https://randomnerdtutorials.com/complete-guide-for-ultrasonic-sensor-hc-sr04/
In class we were told to label our wires, so when we build the final product it would be easier to put the wires where they go.
During today's class my teacher wanted to check my understanding of the code. She gave each student in my class an individual "pseudo code". To complete the test we had to code our robot with the proper code that matches the commands our teacher gave us. If we are having trouble with our robots we can do the code, without a video of our robot performing the code and we can still get 90%. My individual pseudo code is
Forward for five seconds.
Left tank turn 180 degrees
Forward 3 seconds
Right turn (standard turn 90 degrees)
Forward 6 seconds
#include <Servo.h>
Servo myservoR;
Servo myservoL;
void setup()
{
myservoR.attach(9);
myservoL.attach(10);
}
void loop() {
myservoR.write(180);
myservoL.write(0);
delay(7000); // forward
myservoR.write(90);
myservoL.write(90);
delay(3000); //stop
myservoR.write(180);
myservoL.write(180);
delay(2000);// right
myservoR.write(90);
myservoL.write(90);
delay(3000);// stop
}
This is the circuit picture I used to connect and wire my sensor. On the sensor there are two pins labeled "Trig" and "Echo". Those twin are suppose to be connected to a pin number. The other two pins on the sensor labeled "Vcc' and "GND" are suppose to connect to power pins on the Arduino. "GND" on the sensor should be wired to "GND" on the Arduino. "Vcc" on the sensor should be wired to "5V" on the Arduino.
Ultra sonic sensors put out sound waves, too loud for the human ear and that sound waves bounces off an object and back to the sensor. Therefore calculating the distance based on time.
Function: A function is a named command that executes a defined set of code.
Pick up toothbrush
Put water on toothbrush
Then you put toothpaste on toothbrush
Then you wet toothbrush again
Then you proceed to brush teeth singing a 4 minute song
You rinse your mouth out
And brush again.
Code:
#include <Servo.h>Servo myservoL;Servo myservoR;Today was an Asynchronous day, our teacher assigned us to move our breadboard to the front of the robot as you can see in the picture thats what I did.
Today in class we were asked to do an if/else statement. An if/else statement is when something triggers something to happen and a function is when you have a set of code or things to do that lead up to it
This video is supposed to show my robot moving autonomously but my batteries wee dead and I couldn't find new ones so I had to leave my robot connected to the computer.
My code used for the video.
#include <Servo.h>
Servo myservoR;
Servo myservoL;
// defines pins numbers
const int trigPin = 12;
const int echoPin = 11;
// 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
myservoL.attach(9);
myservoR.attach(10);
}
void Lefttank(){
myservoR.write(0);
myservoL.write(0);
}
void Righttank(){
myservoR.write(180);
myservoL.write(180);
}
void Left(){
myservoR.write(90);
myservoL.write(0);
}
void Right(){
myservoR.write(0);
myservoL.write(90);
}
void Forward(){
myservoR.write(0);
myservoL.write(180);
}
void Back(){
myservoR.write(180);
myservoL.write(0);
}
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);
Forward();
delay(2000);
Back();
delay(2000);
Righttank();
delay(2000);
Right();
delay(2000);
Lefttank();
delay(2000);
Left();
delay(2000);
}
Description of circuit diagram:
https://create.arduino.cc/projecthub/m_karim02/arduino-and-hc-05-bluetooth-module-tutorial-9f15ed
The Arduino Bluetooth module receives data and sends it to the Arduino through a pin. The code uploaded to the Arduino checks the data that was received from the module.
The wires are in in the T shaped box. If I use this design I would put latches on the top T so I can access all the wires.
The wires are in the farmhouse shaped box. If I use this design I would put a latch on on side of the farmhouse top part.
The wires for this robot are sandwiched between the two black pieces. If I use this design I would put a door on the top with a match so I can access all the wires
This is the front and side drawing of my design.
This the shell of the new design of my robot. It's very similar to the sketch I made in my former entry.
#include <Servo.h>
Servo myservoR;
Servo myservoL;
void setup()
{
myservoR.attach(9);
myservoL.attach(10);
}
void loop() {
myservoR.write(180);
myservoL.write(0);
delay(7000); // forward
myservoR.write(90);
myservoL.write(90);
delay(3000); //stop
myservoR.write(180);
myservoL.write(180);
delay(2000);// right
myservoR.write(90);
myservoL.write(90);
delay(3000);// stop
}
This part was extremely hard it took me four time to get the wheels to turn. I had to get my dad to help me.
This is our new project brief. This project is about mechanical motions and power. Our project learning goals and project constraints are presented above.
First I want to say I couldn't do a voice over but my descriptive caption should sum it up for you. There are two pencils that I used, the one that is horizontal has the rotational component and the one that is vertical has the linear component. I put an oval shape on the horizontal pencil and added curved L's on the opposite sides so when I twisted the pencil it would lift up the vertical pencil. For the vertical pencil I used two slabs of of card bored hot glued them together and I cut a hole right in the center and hot glued the pencil in the hole. Once that was done I twisted the horizontal piece and it went up and down. My creative piece was the smiley face with the hands.
This is the face I drew. The tools I used were
Draw freehand lines
Paint bucket
I used my finger to draw each shape. I included each feature and added eyelashes.
This automata is very interesting and I like it a lot. From first glance I thought the acrylic portion had a smoke effect like at a party with the lights, but I think it was just dull. The Tricams and the rectangle shapes going up and down really worked together. The Tricams pushed the rectangles up and down. The driveshafts spin the Tricams around. The digits are moved up and down by a Tricam.
This sculpture has the following:
Drive shaft
Drive gear
Layers
Opening directions
This sculpture had a hand crank. Ms. White spun the crank around and the wheels would turn. The wheels were going in an opposite direction and that was caused by spacers. Her design was very cool although I liked the first design better.
This is a video of my gears I'm showing how two of the gears move in the same direction.
< In this video I explain the direction of my gears and what I'll be adding.
This is my final gearbox design.
I skipped the ultrasonic sensor and motor individual assignments because I was behind. This is my ultrasonic sensor controlling my motor.
The science aspect relates to circuits and the way the Arduino connects to the ultrasonic sensor and motor. This could also relate to technology.
Technology was a part apart of this project because of these things listed below: we used Inkscape (demonstrated in the picture above), hot glue, and the laser cutter. We used Inkscape to make our final pieces.
We included the Engineering Design process in making out gearboxes. The first step was our project brief. Next, we
This school year was the year of covid