Intro To Arduino and Microcontrollers
DETAILS:
When most people hear the term Arduino they immediately think of the tiny, inexpensive computer board.
Well it’s that but actually a whole lot more! It’s a movement that allows tinkerers, makers, artist, hackers and
just about anybody create almost anything they can imagine.
In this course we’ll explain how that can be. What's inside the basic hardware, software, and how you can
get started with this wonderful technology. No previous experience is required.
The class consists of four, 2-hour sessions and when complete you will be able to create a simple project
using an Arduino board.
PREREQUISITIES: You should know the basics of working with files and programs on a PC.
If you’re not familiar with C programming, I highly recommend checking out one of the numerous
online tutorials that can bring you up to speed in just a few evenings.
You can google "best online C tutorial" and choose one from the results. (this is not absolutely required)
COMPUTER: Please bring a Windows based laptop with you. The classroom has several desktop PCs available for
those that do not have access a laptop However, bringing your own laptop is definitely recommended and encouraged.
MATERIALS: None are required, however if you have an Arduino UNO board bring it along.
I will have a few available to purchase for a reasonable additional fee.
Session 1:
Course Overview
Skill Assessment
What Is Arduino?
What Is a Microcontroller?
ATMega328P Microcontroller features
A Closer Look at The Arduino Uno board
Software Setup – Demo
Arduino Reference
Activity: Load & Modify Blink – Serial Blink
Programming Overview
Session 2:
Introduction to Arduino Programming (Part 1)
(Variables, Declarations & Control of Flow Statements)
Arduino Sketch Basics
Basic Electricity / Electronics for Hobbyists
Arduino Libraries
Activity: A more Advanced Program.
Project Debugging Techniques
Activity: Hardware Programming Demo
More about Serial Communications
Session 3:
Introduction to Arduino Programming (Part 2)
(Arrays & Pointers, functions)
Digital Input - digitalRead()
A/D Conversion – analogRead()
Pulse Width Modulation (PWM)
Controlling A Servomotor
I2C and SPI Communications
Introduction to Timers & Interrupts
Session 4:
Controlling an LCD Display
Interfacing to other hardware
Speakers, Motors, Keyboards, I/R, USB ..
Students Choice -
Shared link to files: https://drive.google.com/drive/folders/0B74nVuDQkpX_bUk5TDRmQUJGUVE?usp=sharing
Notes:
1. Some students needed the drivers for the Uno Clone sold at the class (find them attached below CH341SER.zip)
(Check device manager COM ports. You should have an entry for USB-SERIAL CH340)
2. For those using the "Real" Arduino (or a compatible not using the CH340 chip) find the drivers in the "drivers" folder
where the Arduino IDE software is loaded. (typically C:\arduino-1.6.5-r2\drivers\)
3. Some students had problems compiling with the WinAVR compiler due to a bad .dll in the install package.
download msys-1.0.zip (below) unzip it and copy it to C:\WinAvr\utils\bin replacing the existing file.
(*you may have installed WinAVR in a different location than described above.)
Here's the steps to test compiling with WinAVR:
1. open the \ATMega328\UART_PB folder that came with the class file distribution
(see link to shared files above )
2. double click on cmd_here.cmd (a command window should open)
3. In the command window that appears enter MAKE and check the output for ERRORS
(If the output ends with a listing of AVR Memory Usage there were no errors)
Attachment Descriptions:
CH341SER.zip driver for UNO clones using the CH430 chip.
blink_ASM.zip Assembly language example (includes assembler avrasm2.exe)
msys-1.0.zip WinAVR fix for Windows 8/10
ButtonDemo.zip Pushbutton debounce and control demo code and documents.