Introduction and Overview Presented by John Cole Senior Lecturer in Computer Science The University of Texas at Dallas USA Embedded Programming and Robotics Introduction 1 About the Course ID: 653375
Download Presentation The PPT/PDF document "Embedded Programming and Robotics" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Embedded Programming and Robotics
Introduction and OverviewPresented byJohn ColeSenior Lecturer in Computer ScienceThe University of Texas at Dallas, USA
Embedded Programming and Robotics -- Introduction
1Slide2
About the Course
During the two weeks we will be together, our main objective is to learn the fundamentals of embedded programming on two processors: the Arduino and the Raspberry PiTo do this, our main project will be to build a working robot that can be controlled by various programs. We will use both the Arduino and the Pi for this.Embedded Programming and Robotics -- Introduction
2Slide3
About the Course
You’ll work in teams of 4. You can select your own team.This is a collaborative effort, not a graded class; you are encouraged to help each other learnBy the end of the workshop, each team will have a working robot and various programs for itWe will also do other small embedded-programming projects to illustrate principles
Embedded Programming and Robotics -- Introduction
3Slide4
About the Course
We’ll be doing a little soldering, and we’ll use the multimeter when necessary to check out circuitsYou’ll learn basic Python programming and gain some familiarity with Linux if you don’t already have itAbove all, we’re here to have fun while we’re learningEmbedded Programming and Robotics -- Introduction
4Slide5
About Your Instructor
Six years as an adjunct (part-time) faculty member in the Computer Science Department at The University of Texas at Dallas from January 2006 through May 2012, full time senior lecturer since thenTaught at Collin College and, long ago, Illinois Institute of Technology in Chicago40 years of writing software in a large variety of industriesCompleted MS in Computer Science from Illinois Institute of Technology and some work toward PhD
Embedded Programming and Robotics -- Introduction
5Slide6
Instructor Web Site
Web page: www.utdallas.edu/~John.ColeEmbedded Programming and Robotics -- Introduction
6Slide7
Logistics
We start at 9:30 every morning and finish the morning session at 12:30One hour break for lunchReturn at 1:30 and work until 4:30Breaks at 11:00 and 3:00 for about 10-15 minutesIf you need to take a restroom break other than the scheduled times, just goPlease wear your nametag
Embedded Programming and Robotics -- Introduction
7Slide8
Workshop Format
This will be done as a workshop, not a regular classThis means that I’ll present for a while, never more than an hour at a time and usually lessAfter I have introduced a topic or defined a project, you will work on it in your groupOnce everyone has finished or come to a stopping point, we’ll discuss it as a class, then go on to the next topic
Embedded Programming and Robotics -- Introduction
8Slide9
Workshop Format
If your group gets behind, try to catch up during lunch or after classIf I’m going to fast for the group, ask questions or ask me to give you more timeYou can take photos of things I present if you likeSlides and code will be made available on my Web site
Embedded Programming and Robotics -- Introduction
9Slide10
What You Should Already Know
You should know how to program in C/C++ at some reasonably good levelYou should have a basic understanding of the components of a computer and how they work togetherAn understanding of basic electricity is helpful, but I’ll cover that
Embedded Programming and Robotics -- Introduction
10Slide11
Secondary Skills
We will be doing a little soldering, but not much. If you want to make things more permanent, you can get circuit prototyping boards and solder components onto them.We will be doing a little mechanical assembly, but again, this will be pretty simple.You should document your work so you remember what you did. Often, we will build something, then take it apart and build something else. Photos are great, and so are written notes and diagrams.
Embedded Programming and Robotics -- Introduction
11Slide12
What We Will Cover: Week 1
Morning
AfternoonIntro
and logistics
Basic Electricity and precautions
Arduino Basics, including tools setup
C/C++ Refresher
Simple counter exercise
Transistor Basics
Sensor Overview
Robot Assembly: connecting the motors, basic wiring
LCD display and keypad
Mechanical design
The motor control chip
Simple program to move forward for 10 seconds and stop
Program
to turn in a circle for 30 seconds
The IR sensor and edge-following
Bluetooth communication
Controlling your robot from Bluetooth
Joystick control
Light sensors
Follow the light beam program
Temperature/humidity sensor: sending back status.
The range finder.
“Follow me” program
Interrupts and interrupt service routines
Intro to Raspberry Pi
Basic Linux commands
Using the GPIO pins
Introduction to Python: basic syntax, conditionals, loops, GPIO access
Embedded Programming and Robotics -- Introduction
12Slide13
What We Will Cover: Week 2
Morning
Afternoon
Continuing Python: functions, the camera, Internet access
More Python: Bluetooth, CURSES screen control library, etc.
Robot control with the Raspberry Pi through Bluetooth
Android control program
Robot controller with the Pi.
PWM
on the Pi
The Raspberry Pi camera.
The
OpenCV
library
Roving camera
Programming the Pi in C/C++
More C/C++ on the Pi
Intro to Pi assembly language
Design your own program
Finish project
s and discuss future direction
Embedded Programming and Robotics -- Introduction
13Slide14
Schedule Notes
There are some basic things we must cover, such as Arduino programming, Python, the basics of the boards, and so onHowever, if the class has a consensus on an additional related topic, or expansion on some of the existing ones, I’m open to suggestionsEmbedded Programming and Robotics -- Introduction
14Slide15
Murphy’s Law
Anything that can go wrong will go wrongCorollary: at the worst possible timeThis course involves wiring, electronic parts, and software you didn’t write. Things will go wrong. Connections will come loose, chips will burn out, programs won’t work the way you think they should, and so on. This is all part of our craft. Don’t worry about it.
Embedded Programming and Robotics -- Introduction
15Slide16
Let’s Get Started!
Embedded Programming and Robotics -- Introduction
16