EGM 360 Robotics
- TEXT
- All textbooks used are available on-line through Ramsey library. The primary text is:
Getting Started with Raspberry Pi
Other textbooks include:
Python Programming for Raspberry Pi, Sams Teach Yourself in 24 Hours
JavaScript [electronic resource] : the definitive guide - TIME AND PLACE
- MW 4-5:40PM
- RRO 223
- INSTRUCTOR
- Rebecca Bruce
- RRO 204e
- TBA
- 828.250.2345
- rbruce at unca.edu
- RESOURCES
- Idea Time
- Idea Support
- Challenge and Involvement
- PERSONAL MOTIVATION
- Trust and Openness
- Playfulness and Humor
- Absence of Interpersonal Conflicts
- EXPLORATION
- Risk-Taking
- Debates About the Issues
- Freedom
- A systematic approach to design as defined in Jennifer Preece's "Interaction Design: Beyond Human Computer Interaction," including:
- Identifying needs and establishing requirements
- Developing alternative designs that meet those requirements
- Building interactive versions of the designs so that they can be communicated and assessed
- Evaluating what is being built throughout the process
- Microcontrollers focusing on the Raspberry Pi (RPi)
- Linux using Raspbian
- Python programming
- Serial communication focusing on RPi to Arduino
- Bluetooth and WiFi communication
- Sensors focusing on those with an I2C interface
- Actuators focusing on servos
- Web-based information exchange including:
- Server-Client basics
- The Webiopi framework
- Javascript
Description
CLASS PHILOSOPHY
We believe that it is essential to play with technology, exploring different possibilities directly in hardware and software. We believe that exploration should be self-guided to the largest extent possible. Creativity is fostered by self-guided exploration. In order to encourage creativity, this class strives to offer the nine dimensions of a climate for innovation (Prather, C. W., 1996).
Students are expected to attend all class meetings. Failure to do so will impact your grade and will be considered a lack of interest in success on the part of the student. Students are responsible for completing all work missed due to class absence on their own.
COURSE OBJECTIVES
This is a hands-on lecture-lab course focused on the design of microcontroller-based systems that interact with their environment and communicate over the Internet, the quintessential thing on the Internet of Things (IoT). We will pay particularly attention to robotic things. This course has two primary objectives: (1) to provide an understanding of design strategy, and (2) to provide an understanding of technology used in creating IoT things. Specific learning objectives are:
Design Learning Objectives
- A working knowledge of the following technologies:
Tentative Course Schedule
- 08/18/14-08/22/14
- Monday
- Lecture: Course Overview; Demo system
- Lab/HW: Read Preface & Ch 1 of Getting started with Raspberry Pi, Install Raspian on your SD card
- Wednesday
- Lecture: RPi setup & hardware overview
- Lab/HW: Complete in-class exercises & Read Ch 2 of Getting started with Raspberry Pi
- 08/25/14-08/29/14
- Monday
- Lecture: Linux
- Lab/HW: Linux basics
- Wednesday
- Lecture: More Linux
- Lab/HW: Linux adv, & Read Ch 3 of
Getting started with Raspberry Pi
example script 1, example script 2 - 09/01/14-09/05/14
- Monday
- Lecture: Python, Hello in Python
- Lab/HW: Complete string1.py and list1.py and submit to Moodle
- Wednesday
- Lecture: Quiz 1 & Python dictionary (and files)
- Lab/HW: Complete wordcount.py and submit to Moodle
- 09/09/14-09/12/14
- Monday
- Lecture: GPIO (an archive of the code---use "tar xvfz gpio.tar.gz" to uncompress)
- Lab/HW: Read ch 8 of Getting started with Raspberry Pi
- Wednesday
- Lecture: Quiz 1 scores, & Auto-Start vncserver & more GPIO
- Lab/HW: Modify ledButton.py to control 3 LEDs with 3 buttons and submit to Moodle, & Watch I2C Tutorial for Monday
- 09/15/14-09/19/14
- Monday
- Lecture: I2C
- Lab/HW: I2C Exercise
- Wednesday
- Lecture: I2C part 2
- Lab/HW: modify bmp180json.py to continuously read temperature, submit to Moodle
- 09/22/14-09/26/14
- Monday
- Lecture: HTTP, HTML, CSS, & Firebug
- Lab/HW: Modify aboutMe.tar.gz as described in the lecture notes
- Wednesday
- Lecture: Javascript
- Lab/HW: Work Firebug tutorial; show work before leaving
- 09/29/14-10/03/14
- Monday
- Lecture: WebIOPi
- Lab/HW: Look through WebIOPi documentation
- Wednesday
- Lecture: Quiz 2, & more WebIOPi
- Lab/HW: wget www.cs.unca.edu/~bruce/Fall14/demo1.tar.gz & look at code
- 10/06/14-10/10/14
- Monday
- Lecture: Fall Break
- Lab/HW: Fall Break
- Wednesday
- Lecture: In-Class WebIOPi Exercise
- Lab/HW: In-Class WebIOPi Exercise
- 10/13/14-10/17/14
- Monday
- Lecture: Quiz 3 & Networking
- Lab/HW: Read Ch 9 (WiPi: Wireless Computing) in Learning Raspberry Pi with Linux, & watch video on DHCP
- Wednesday
- Lecture: Bluetooth
- Lab/HW: no homework
- 10/20/14-10/24/14
- Monday
- Lecture: Serial Communication
- Lab/HW: see in-class exercise in lecture notes
- Wednesday
- Lecture: No Class
- Lab/HW: No Class
- 10/27/14-10/31/14
- Monday
- Lecture: Quiz 4 & Servos
- Lab/HW: none
- Wednesday
- Lecture: IEEE Project
- Lab/HW: TBA
- 11/03/14-11/07/14
- Monday
- Lecture: IEEE Project
- Lab/HW: TBA
- Wednesday
- Lecture: IEEE Project
- Lab/HW: TBA
- 11/10/14-11/14/14
- Monday
- Lecture: IEEE Project
- Lab/HW: TBA
- Wednesday
- Lecture: IEEE Project
- Lab/HW: TBA
- 11/17/14-11/21/14
- Monday
- Lecture: IEEE Project
- Lab/HW: TBA
- Wednesday
- Lecture: IEEE Project
- Lab/HW: TBA
- 11/24/14-11/28/14
- Monday
- Lecture: IEEE Project
- Lab/HW: TBA
- Wednesday
- Lecture: No Class; open lab
- Lab: No Class; open lab
- 12/05/14 from 3:00-5:30PM
- FINAL EXAM: DESIGN PRESENTATIONS--SUBMIT DESIGN REPORTS AND GIVE ORAL PRESENTATION OF YOUR DESIGN
Grading
Description | Number | Individual Points | Net Points | |
---|---|---|---|---|
Attendance | approx 45 | 2/day | 90 | |
Quizzes | approx 4 | 15 | 60 | |
Lab/HW Exercises | approx 5 | 10 | 50 | |
Project |
1 | 100 | 100 | |
Totals | 300 points |
Lab/HW Exercises will be graded on the +/- scale, where + indicates satisfactory, and - indicates needs improvement.
Letter grades are assigned based on the percentage of available points obtained by a student. 100% to 90% guarantees some sort of A, 89% to 80% guarantees some sort of B, and so on. Plus and minus grades will be used for this course, as shown in the table below. The instructor reserves the option of relaxing the cut-offs for a letter grade in special circumstances.
Score ≥ 92 & Score < 100 | A |
Score ≥ 90 & Score < 92 | A- |
Score ≥ 87 & Score < 90 | B+ |
Score ≥ 82 & Score < 87 | B |
Score ≥ 80 & Score < 82 | B- |
Score ≥ 77 & Score < 80 | C+ |
Score ≥ 72 & Score < 77 | C |
Score ≥ 69 & Score < 72 | C- |
Score ≥ 65 & Score < 69 | D+ |
Score ≥ 60 & Score < 65 | D |
Score ≥ 57 & Score < 60 | D- |
Score < 57 | F |
Resources
Raspberry Pi On-line Book |
Raspberry Pi |
Raspbian |
Raspbian Image |
Python |
I2C Protocol |
WebIOPi |
Javascript |
Aug 14, 2014