COSC 422/524
Winter 2020
If you need to speak to me, email , phone. skype are all OK. Let me know.
Programming Projects for the rest of the semester
Do as many of these as you can. Project 6 and 7 are REQUIRED. Project 8 and 9 gets you extra points (and can improve grades)
I am assuming we will not meet in person again this semester. This may change.
To Submit Your Project:
1) You must make a video of your robot doing the assigned task. This
vide MUST included an introduction by you (facing the camera) stating
which
project this is and what your robot willdo. Then, without stopping the
camera, you should pan to your robot and have it do the required task.
You should post
this video on YouTube and send me the link along with a listing of your code.
IMPORTANT: You need to get your
robot moving. For now, we will assume a 50% duty cycle. All programs
should employ TIMER0 for pulsing the motor. Your program
should have TIMER0 implement a 1 millisecond delat ( a prescaler of 4:1
should accomplish this). So a 50% duty cycle would be accomplished via
top
set_motor_on
call delay_1_milli
set_motor_of
call delay_1_milli
goto top
Note that this code has a period of 2 milliseconds or a frequency of 500hz.
Project 6) (Tentative due date: Monday March 23) Get your robot to move forward. Easy. Nothing else.
Project 7) (Tentative due date: Monday March 30) Control your robot
with the remote control. A '1' on the keypad makes the robot go
forward, a '2' makes the robot stop and a '3' makes the robot go in
reverse (at a 50% duty cycle).
Project 8) Implement turns on your robor. That is, your robot should be
able to go forward, go in reversem turn left and turn right all via
remote control. Since we didn't all agree
on how to implement turns, I leave it to your creativity. You should also implement a stop feature.
Project 9) In addition to the functionaly of project 8), have your
robot respond to the bump sensor (the antennaes). If the antennae gets
"bumped" an interrupt should occur. The robot should stop, back up
(reverse)
for a foot or so, turn left or right 45%, and then continue forward.
Your program should employ the interrupts thst occur on pins
B4,B5,B6,B7.