Introduction to Electrical & Computer Engineering: Robotics and IC Programming
140 likes | 264 Vues
This course serves as an introduction to Electrical and Computer Engineering, focusing on robotics and programming using Interactive C (IC). Throughout the course, students will explore motor control, programming structures like if-else statements, and loops within hands-on exercises using the Botball Kit. Instructional materials include slide presentations, documentation, and sample programs emphasizing practical application. Students will learn to write simple IC programs to control robots, enabling them to make decisions and execute tasks autonomously.
Introduction to Electrical & Computer Engineering: Robotics and IC Programming
E N D
Presentation Transcript
The George Washington University Department of ECE ECE 001 - Intro: Electrical & Computer Engineering Intro to the Robotics Introducing the IC Discuss motor control using IC Hands-on programming Dr. S. Ahmadi Class 1 Slides obtained from Botball Kit Documentation
Class Outline Policy and Safety Basic IC programming Download Display Function commands Botball Part list http://www.seas.gwu.edu/~ece001/partlist.doc • Overview of Motors
How to Write a SIMPLE Interactive C (IC) Computer Program • IC is a hybrid of C designed to run on small, self-contained robot controllers void main() { } • Making decisions • If ( ) { statement } • Else( ) { statement } • Making repeated decisions • While( ) { statement }
How to Write a SIMPLE Interactive C (IC) Computer Program • IC is a hybrid of C designed to run on small, self-contained robot controllers • void main() { // This is a comment int my_variable; // “my_variable” is of type: integer my_variable = 2; // assinging a variable motor(1, my_variable); // a function call, turns on motor float my_second_variable; // “my_second_variable” is of type: float my_second_variable = 2+(3/6)^5; // mathematical expression using C my_second_variable = sqrt((a^2)+(b^2)); } • Important: All statements end with a semicolon (;). • Making decisions • If ( ) { statement } • Else( ) { statement } • Making repeated decisions • While( ) { statement }
Variable Types • What is a variable? • It holds information, for example: a number • Two types of variables we will use in ECE001 • int (16 bit integer number in IC) +/-32,767 (largest # it can hold) • float (32 bit floating point number) e.g. 3.1416
Useful Function: • Sleep(seconds); • sleep() delays the function’s execution for an amount of time equal to the number of seconds (expressed as a float) given as an argument
C Function:printf(); • Takes a quoted string and prints it out – %d is used for an integer – %f is used for a float – \n starts next character back at upper left corner (or new line on terminal) – commas separate all arguments after the quoted string • printf(“I’m printing\n”);
Handyboard Functions • start_button(); • stop_button(); • beep(); • fd(x); // makes motor “x” go forward • bk(x); // makes motor “x” go backward • ao(); // turns all motors off --- “all off”
Sample Program • When a program is run, the control moves from one statement to the next • Calculate j2 + 1 when j = 3 void main() { int r,j; /* declare r and j */ j = 3; /* assign a value to j */ r = j*j + 1; /* calculate and assign */ printf(“result is %d\n”,r); }
Making decision Using if-else condition void main() { if ( start_button()==1) { fd(1); fd(2); } else { ao(); } }
Repeating Execution: Loops • Loops are used when you want to do the same thing multiple times • E.g., beep 20 times • You could type beep(); 20 times, but there is a better way: a loop
Repetition Using while • Syntax: while (<test>) {statements} • Beep 20 times void main() { int num; /* declare counter */ num = 1; /* initialize counter */ while (num <= 20)/* loop while num is <=20*/ { beep(); /* beep once */ num = num + 1; /* add one to the counter */ } }
Get Started with IC Environment • Start the IC application • Click on the picture of the Handy Board • Click on the Connect Later button • Click on the New button (upper left corner) • Type in the program that prints out a text string • Save the file using the Save button (name it • whatever you want -- just remember where you put it).
Important Information • How to learn IC programming • http://www.kipr.org/curriculum/programming.html • Check class website for Handy board documentation • Check IC command functions • Check the handy board diagram • Return the Kit release form after you check all parts in the Kit • Homework is to be done individually