Mitto-Bot is Alive!

Using a different LCD-I2C library than the one on EIT Online, I was able to populate my LCD with text. I did a I2C address search first using a nice little bit of code from //add reference// and was able to poll the serial line to see what was connected. It returned back a hex address which allowed me to identify the I2C board. //video to be edited//

Continue reading “Mitto-Bot is Alive!”

Mega Mind – 4th August 2017

  • Introduce students to their own bot components – explain each components function.
  • Check and modify chassis to support all components.
  • Export design as .stl ready for print.
  • Continue incorporating sensors into Vex bots code.
  • Test code in arena and iterate.

Back in Black – 28 July 2017

  • Taking video and stills for website/blog.
  • Styles of video & photography shots – play YT clips.
  • Webpage layout – Using a storyboard.
  • Principles for effective website design.
  • Connecting and programming the ultrasonic sensor.
  • Operators.

A game of two halves – 07 July 2017

  • L3 students paired with L2 students and setup Fusion 360 accounts.
  • L3 students to demonstrate creating a fidget spinner.
  • L2 students to go forth and design their own fidget spinners and export as an .stl file.
  • Presentation on line sensors and setup.
  • Demonstrate writing and incorporating code for the line sensor.
  • L3 students to write code and experiment with having their robot track a line.
  • L3 students to explore designing a further chassis using a piece of plastic board 240mm x 240mm x 4.5mm.

Iteration, a continuing cycle – 23 June 2017

  • Design chassis prototypes for the Arduino Mega bot – Locate specifications for board and use Ish’s diagrams as a reference for motor mount measurements. Students to measure (ruler/vernier calipers) ultrasonic sensor board and design a suitable holder. Students could also design a holder/mount to suit their phone for video purposes.
  • Teams to continue with mounting sensors to their Vex chassis and to finish off chassis.
  • Individually, start incorporating each sensor into students own code and test function.
  • Quick spiel on the importance of iteration and recording our iterative processes. Students will be given 45min to fill out their blog.

Arduino Rover – 16 June 2017

  • Design a robot chassis to suit Arduino Mega and Uno boards. Specifications found on Moodle. Design constraint – < 200mm x 200mm.
  • Students are to research/measure and design to allow room for sensor shield, motor driver board/s,  sensors – ultrasonic, line detection, encoders, bump switches and ldr and to allow for different batteries to be installed – Vex and AA pack.
  • Presentation on encoders – What they sense, how they work, single vs quadrature.
  • Continue with rebuilding Vex robots to incorporate sensors.
  • Blog.

Insert Title Here

  • Continue with designing a spinner on Fusion 360.
  • Export/Convert design to a .stl ready for print.
  • Setup resin printer with students and print off files.
  • Students back into teams to finish off converting their clawbot to more of a recbot design to incorporate bump sensors, shaft encoders, ultrasonic sensor and line sensors.
  • Students as a team to incorporate each sensor individually into their code to enable the bot to move forward and avoid an obstacle by performing a 90 degree point turn.

Sensing the void – 19 May 2017

Introduce the students to the function Void

  • Using the function Void to simplify our code.
  • Setup void functions for motors moving forward at full power, half power, off and point turn.
  • Write code that now uses void to get the robot to move forward, point turn and return.
  • Include void functions for the arm and claw.

Introduction to sensors

  • Differences between analog and digital – graph
  • Conversion of analog to digital and vice versa
  • Push button 1/0 on & off
  • Simple single pulse encoder
    • sensing distance and speed
  • Double offset pulse (quadrature)
    • sensing distance, speed and direction
  • Write up blogs, finish mugs, 1st finished to format and partition our 4 500GB drives

Autobot’s rollout – 12 May 2017

  • Introduce students to Robot C who weren’t present last session.
  • Break down of the code structure/syntax.
  • The importance of correct punctuation and upper/lower case when coding.
  • Remarking // commenting /**/ on each line of code while learning.
  • Show how to configure Pragmas for each individual motor including speed and reversing.
  • Demonstrate writing a basic code to enable the robot to drive forward, point turn and return with wait times included. Explain the reason why we power down the motors.
#pragma config(Motor, port1, rightMotor, tmotorVex393_HBridge, openLoop, driveRight)

#pragma config(Motor, port10, leftMotor, tmotorVex393_HBridge, openLoop, reversed, driveLeft)
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//

task main()
{
/*

Steve's experimental robot

Robot will wait, move forward, wait, 180 deg point turn, wait, move forward back to where it started.

*/

wait1Msec (6000); // This command will cause the program to 'wait' for 6 sec before executing so we have time to put the robot down

motor [rightMotor] = 127; // This command will turn on the right motor at full power of 127
motor [leftMotor] = 127; // This command will turn on the left motor at full power of 127
wait1Msec (6000); // This command will cause the motors to run for 6 sec

motor [rightMotor] = 0; // This command will turn off the right motor
motor [leftMotor] = 0; // This command will turn off the left motor
wait1Msec (1000); // This command will keep the motors turned off for 1 sec

motor [rightMotor] = 63; // This command will turn on the right motor at half power of 63
motor [leftMotor] = -63; // This command will turn on the left motor at half power of 63 but reversed so that it will perform a point turn
wait1Msec (2000); // This command will cause the motors to run for 2 sec

motor [rightMotor] = 0; // This command will turn off the right motor
motor [leftMotor] = 0; // This command will turn off the left motor
wait1Msec (1000); // This command will keep the motors turned off for 1 sec

motor [rightMotor] = 127; // This command will turn on the right motor at full power of 127
motor [leftMotor] = 127; // This command will turn on the left motor at full power of 127
wait1Msec (6000); // This command will cause the motors to run for 6 sec

}

 

 

  • Students to start setting up pragmas for the claw and arm motors, noting that these needed speed controllers as only two ports have these built into the Cortex.
  • Write code that includes operating these extra two motors.
  • Capture and write up their blogs.