Coding Def: The coding is the process of transforming the design of a system into a computer language format.
-The Art Of Coding-
Coding can be complicated at times even when you have the simplest tasks. But you want to do something like an action for an example, you want your robot to do what you program it to do but it has to be in a language that the robot understands. First you think of what you want this robot to do, and how to get to one point to another. Then the second step is Pseudo-code which is in your own words but this is a step closer to the language a computer understands and more detailed than the step before. And last, the third step is coding but you have a guide of what you are looking for in your pseudo-code. Another helpful tip to remember is that it all boils down to one thing,"It is going to do exactly what you tell it to do."
Pseudocode- I'm drawing a M and T. My first movement is forward then turning right 65 degrees going straight, then turning left 45 degrees and going forward. Then, turning right 65 degrees again and going forward.Then I stop turn to the left 90 degrees go forward 2 secs and stop. Turn left 90 degrees, go forward for 1.2 seconds and turning left again 90 degrees. I go for 1 seconds and stop then reverse my motors and back up for 2 seconds.
This is the code for the "T" but with space from M
prizm.setMotorPowers(0,40); // spin motor 1 a 0% power and motor 2 at 40% power
delay(1275); // wait here for 1.275 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 50% power and motor 2 at 50% power resulting in straight line
delay(1100); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 0% power and motor 2 at 40% power
delay(1500); // wait here for 1.5 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 50% power and motor 2 at 50% power resulting in straight line
delay(1500); // wait here for 1.5 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 0% power and motor 2 at 40% power
delay(1650); // wait here for 1.65 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 50% power and motor 2 at 50% power resulting in straight line
delay(1000); // wait here for 1 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(-50,-50); // reverse spin motor 1 a 50% power and motor 2 at 50% power
delay(2000); // wait here for 2 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
delay(1275); // wait here for 1.275 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 50% power and motor 2 at 50% power resulting in straight line
delay(1100); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 0% power and motor 2 at 40% power
delay(1500); // wait here for 1.5 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 50% power and motor 2 at 50% power resulting in straight line
delay(1500); // wait here for 1.5 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 0% power and motor 2 at 40% power
delay(1650); // wait here for 1.65 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 50% power and motor 2 at 50% power resulting in straight line
delay(1000); // wait here for 1 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(-50,-50); // reverse spin motor 1 a 50% power and motor 2 at 50% power
delay(2000); // wait here for 2 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
Things we thought we might have encountered before the project.
The steps we went through to get finish our frame and finalize our build.
Our final end effector to hold our pen. A screw that kept the holders to stay tight and firm.
The image to the left was our final chassis build. We felt like this was the only dependable build that outweighed others in the pros and cons list. Before we got to this point we had to sum it down to two builds and the images on the left and right made it to that point. |
This was our first ever prototype, but as we progressed there were to many trial and errors so we tried our other option which led us to the best build for this task. |
Program for M&T:
/* PRIZM Controller example program
* This program will cause the PRIZM TaskBot to drive in a continuous circle.
* Press the red reset button to stop the program.
* author PWU 08/05/2016
*/
#include <PRIZM.h> // include PRIZM library
PRIZM prizm; // instantiate a PRIZM object “prizm” so we can use its functions
void setup() {
prizm.PrizmBegin(); // initialize PRIZM
prizm.setMotorInvert(1,1); // invert the direction of DC Motor 1 to harmonize direction
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(900); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(40,0); // spin motor 1 a 30% power and motor 2 at 0% power
delay(3825); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(200); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,50); // spin motor 1 a 30% power and motor 2 at 0% power
delay(2600); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(200); // go for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(40,0); // spin motor 1 a 30% power and motor 2 at 0% power
delay(3800); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(900); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 30% power and motor 2 at 0% power
delay(2000); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(2000); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 30% power and motor 2 at 0% power
delay(1000); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(800); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 30% power and motor 2 at 0% power
delay(1000); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(400); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(40,0); // spin motor 1 a 30% power and motor 2 at 0% power
delay(1800); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(200); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // TTTTTTTT spin motor 1 a 30% power and motor 2 at 0% power
delay(1400); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(1100); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 30% power and motor 2 at 0% power
delay(1600); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(1100); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 30% power and motor 2 at 0% power
delay(1600); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(900); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(-50,-50); // spin motor 1 a 30% power and motor 2 at 0% power
delay(1800); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
}
void loop() {
}
Program for M:
/* PRIZM Controller example program
* This program will move the PRIZM TaskBot forward for 3 seconds, stop and end program.
* author PWU 08/05/2016
*/
#include <PRIZM.h> // include PRIZM library
PRIZM prizm; // instantiate a PRIZM object “prizm” so we can use its functions
void setup() {
prizm.PrizmBegin(); // initialize PRIZM
prizm.setMotorInvert(1,1); // invert the direction of DC Motor 1 to harmonize direction
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(900); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(40,0); // spin motor 1 a 30% power and motor 2 at 0% power
delay(3825); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(200); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,50); // spin motor 1 a 30% power and motor 2 at 0% power
delay(2600); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(200); // go for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(40,0); // spin motor 1 a 30% power and motor 2 at 0% power
delay(3500); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(900); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
}
void loop() {
}
* This program will move the PRIZM TaskBot forward for 3 seconds, stop and end program.
* author PWU 08/05/2016
*/
#include <PRIZM.h> // include PRIZM library
PRIZM prizm; // instantiate a PRIZM object “prizm” so we can use its functions
void setup() {
prizm.PrizmBegin(); // initialize PRIZM
prizm.setMotorInvert(1,1); // invert the direction of DC Motor 1 to harmonize direction
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(900); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(40,0); // spin motor 1 a 30% power and motor 2 at 0% power
delay(3825); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(200); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,50); // spin motor 1 a 30% power and motor 2 at 0% power
delay(2600); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(200); // go for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(40,0); // spin motor 1 a 30% power and motor 2 at 0% power
delay(3500); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(900); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
}
void loop() {
}
Program for T:
/* PRIZM Controller example program
* This program will move the PRIZM TaskBot forward for 3 seconds, stop and end program.
* author PWU 08/05/2016
*/
#include <PRIZM.h> // include PRIZM library
PRIZM prizm; // instantiate a PRIZM object “prizm” so we can use its functions
void setup() {
prizm.PrizmBegin(); // initialize PRIZM
prizm.setMotorInvert(1,1); // invert the direction of DC Motor 1 to harmonize direction
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(1100); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 30% power and motor 2 at 0% power
delay(1600); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(900); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(-50,-50); // spin motor 1 a 30% power and motor 2 at 0% power
delay(1800); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
}
void loop() {
}
* This program will move the PRIZM TaskBot forward for 3 seconds, stop and end program.
* author PWU 08/05/2016
*/
#include <PRIZM.h> // include PRIZM library
PRIZM prizm; // instantiate a PRIZM object “prizm” so we can use its functions
void setup() {
prizm.PrizmBegin(); // initialize PRIZM
prizm.setMotorInvert(1,1); // invert the direction of DC Motor 1 to harmonize direction
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(1100); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(0,40); // spin motor 1 a 30% power and motor 2 at 0% power
delay(1600); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(50,50); // go forward motor 1 at 30% power and motor 2 at 30% power resulting in straight line
delay(900); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
prizm.setMotorPowers(-50,-50); // spin motor 1 a 30% power and motor 2 at 0% power
delay(1800); // wait here for 4 seconds while motors are spinning
prizm.setMotorPowers(0,0); // motor 1 at 0% power and motor 2 at 0% power causing a stop.
}
void loop() {
}