User:Sharonlnchrs/ENES-100/project 0

Week0 Preferences
1. Tribot  2. Music 3.Combolock

Professor Foerster's class user page: https://en.wikiversity.org/wiki/User:1sfoerster

Week1 Narrative
0/10/0 .. 10 points for communicating in canvas --1sfoerster (discuss • contribs) 18:56, 17 February 2014 (UTC)

Downloaded Arduino and it took a little while because my computer isn't the fastest but it works. http://arduino.cc/en/Guide/Windows#.UwLe0fldU1I  where i got started. It took me a while because there's a lot of computer terminology I don't know. http://arduino.cc/en/Tutorial/BareMinimum#.UwLfpPldU1I shows the two minimal concepts of Arduino. I understood those. I looked at the program that is already in the tribot and i compared to see how much I understood. http://arduino.cc/en/Tutorial/Blink#.UwLgSfldU1I I looked over how to turn on an LED light on, that would be the light in the head of the tribot. I need more time. Arduino is hard to grasp quickly. It will be something I work on even if it isn't my assigned task.

10/10/0 ... please edit the Arduino tutorial here ... looks like your links are associated with the install ... edit the current tutorial which looks like bad cell phone pictures ... then mention that you did this (with link in your week 2 narrative) --1sfoerster (discuss • contribs) 15:02, 24 February 2014 (UTC)

Week2 Narrative
I edited a part of the already existing tutorial linking up to the official Arduino page where you can download the software. I also created a new wikiversity page as a simple tutorial of Arduino Basics.I added this new Arduino Basics to the Main Arduino page I am somewhat frustrated on how to manage creating new pages on wikiversity and how the wording goes. I edited the Tribot Team Page for Spring 2014 I added the purchase part to Conceive section. I also added several things to the Implement section. What goes in the CDIO sections is unclear but I've made some assumptions and random reasoning as to what goes in each section. I looked up the Arduino Motor Test code and I took it apart to further understand it. I tried making sense of it in Arduino Basics. Im trying to understand what "digitalwrite" is. Arduino isn't easy to learn plus it is very time consuming.

very good ... I am glad you edited the arduino tutorial. Your editing is a great starting point for a wikiversity tutorial:
 * user space versus article space --- build in user space, transfer to article space when done
 * team documentation -- done in instructor personal user space
 * weekly report, individual portfolio -- done in student personal user space
 * internal wiki links versus external links --- use wiki links whenever possible
 * tutorials versus engineering documentation --- tutorials guide toward success, engineers document frustration, incompleteness, next steps
 * editing existing documentation versus starting over by cutting and pasting old stuff into new document -- start over always ... good first stab at it
 * gallery tag versus alternating left and write graphics -- use gallery tag
 * creating new wiki articles versus working on an existing page -- bloat existing article until there is a concensus to split into two articles
 * using Collapse top and Collapse bottom around code -- use the Collapse top and bottom macros example

10/10/10 ... inspired me to create the above wikiversity editing guide ... in general .. created more chaos rather than reducing it ... but you are on the right track --1sfoerster (discuss • contribs) 15:37, 27 February 2014 (UTC)

Week3 Narrative
I used the Tribot hack Motor Test as a building base. I decided I wanted to make Tribot go in a square pattern. I used paint to create a diagram of what path the Tribot should take. I added those commands to the loop section.

void setup { // initialize the digital pin as an output. pinMode(12, OUTPUT); //yellow wire to motor enable 1 pinMode(11, OUTPUT); //teal wire to motor enable 2 pinMode(10, OUTPUT); //blue wire to motor enable 3 pinMode(9, OUTPUT); // white wire to motor direction 1 pinMode(8, OUTPUT); //gray wire to motor direction 2 pinMode(7, OUTPUT); //purple wire to motor direction 3 pinMode(6, INPUT); //orange encoder from motor 1 pinMode(5, INPUT); //red encoder from motor 1 pinMode(4, INPUT); //brown encoder from motor 1 }

void loop // oneMotorAtATime; // spinTightCCW; { oneMotorAtATime; delay(1000); spinTightCCW; delay(1000); gradualTurn; delay(1000); rightForward; delay(1000); gradualTurn; delay(1000); forWard; delay(1000); gradualTurn; delay(1000); forWard; delay(1000); gradualTurn; delay(1000); forWard; delay(1000); }

void oneMotorAtATime {

//motors turning individually delay(1000);             // wait for a second digitalWrite(12, HIGH);  // set the LED on  delay(2000);              // wait for a second digitalWrite(12, LOW);   // set the LED off delay(2000);             // wait for a second digitalWrite(11, HIGH);  // set the LED on  delay(2000);              // wait for a second digitalWrite(11, LOW);   // set the LED off delay(2000);             // wait for a second digitalWrite(10, HIGH);  // set the LED on  delay(2000);              // wait for a second digitalWrite(10, LOW);   // set the LED off }

void spinTightCCW { delay(1000); digitalWrite(9, HIGH);  // reverse motor 1 digitalWrite(8, HIGH);  // reverse motor 2 digitalWrite(7, HIGH);  // reverse motor 3 delay(100); digitalWrite(12, HIGH);  // turn motor 1 on   digitalWrite(11, HIGH);   // turn motor 1 on  digitalWrite(10, HIGH);   // turn motor 3 on  delay(840); digitalWrite(12, LOW);  // turn motor 1 off digitalWrite(11, LOW);  // turn motor 2 off digitalWrite(10, LOW);  // turn motor 3 off digitalWrite(9, LOW);  // normal motor 1 digitalWrite(8, LOW);  // normal motor 2 digitalWrite(7, LOW);  // normal motor 3

} void forWard { delay(1000); digitalWrite(12, HIGH);  // turn motor 1 on   digitalWrite(8, HIGH);   // reverse direction of motor 2 digitalWrite(11, HIGH);  // turn motor 2 on  delay(2000); digitalWrite(12, LOW);  // turn motor 1 off digitalWrite(8, LOW);  // make direction of motor 2 normal digitalWrite(11, LOW);  // turn motor 2 off

}

void rightForward { delay(1000); digitalWrite(11, HIGH);  // turn motor 1 on   digitalWrite(7, HIGH);   // reverse direction of motor 2 digitalWrite(10, HIGH);  // turn motor 2 on  delay(2000); digitalWrite(11, LOW);  // turn motor 1 off digitalWrite(7, LOW);  // make direction of motor 2 normal digitalWrite(10, LOW);  // turn motor 2 off

}

void gradualTurn { delay(1000); digitalWrite(12, HIGH);  // turn motor 1 on   digitalWrite(8, HIGH);   // reverse direction of motor 2 digitalWrite(11, HIGH);  // turn motor 2 on  delay(200); digitalWrite(10,HIGH); // turn motor 3 on delay(200); digitalWrite(10,LOW); // turn motor 3 on delay(200); digitalWrite(10,HIGH); // turn motor 3 on delay(200); digitalWrite(10,LOW); // turn motor 3 on delay(200); digitalWrite(10,HIGH); // turn motor 3 on delay(200); digitalWrite(10,LOW); // turn motor 3 on delay(200); digitalWrite(10,HIGH); // turn motor 3 on delay(200); digitalWrite(10,LOW); // turn motor 3 on delay(200); digitalWrite(12, LOW);  // turn motor 1 off digitalWrite(8, LOW);  // make direction of motor 2 normal digitalWrite(11, LOW);  // turn motor 2 off

}

excellent ... good graphic ... good use of the collapse command ... I tried to give it a title ... maybe you can come up with something more catchy ... should shoot video of it working ... 10/10/20 ... --1sfoerster (discuss • contribs) 15:19, 4 March 2014 (UTC)

Week4 Narrative
I created a video of Tribot going in the new square pattern.

The robot is not moving in an obvious square ... turn your camera sideways so that the video fills the screen--1sfoerster (discuss • contribs) 19:44, 5 March 2014 (UTC)

I created a page that shows step by step how to change the code. I also created a new graphic showing the new commands that were inserted in the loop section of the square code. I added a link to my new page on the tribot team page in the implement section. I also reorganized the already existing pictures on the team page so that they are in the correct format.

10/10/20 ... good job on moving in a square ... too bad it is not tested ... should be put in the operate section ... I put it there ... is implement because the goal is to have 5 functioning robots running some demo programs ... --1sfoerster (discuss • contribs) 16:02, 11 March 2014 (UTC)