Arduino and Processing Projects
In Progress - Two-wheeled Self-balancing Robot!
Projects 1
Slot Car Control, Soda Pop Dispenser, Self-driving Car
Projects 2
Radio Control Car, Arduino Joystick, TurtleBot with Android control
Projects 3
The 'Considerate Convenience', Google Bike, SpinDuino - fidget spinner...spinner?
Projects 4
"Repeat After Me!" Game, Magic 8 Ball
Arduino Learning Activities
Introduction to Arduino Programming - Course
This course includes:
1 - Building the basic circuit for the activities
2 - Operating LEDs
3 - Working with Buttons
4 - Communicating with the Serial Monitor
5 - Using a Light Dependent Resistor (LDR)
6 - Communicating between Arduino and a Processing App
Click here for text versions of the program files from the course document
Additional Arduino Circuit Activities
1. Controlling Voltage with a MOSFET
Explore - use the MOSFET circuit to turn a motor or relay off/on based on the value entered in the Serial Monitor.
- hook up 2 MOSFETs to control 2 relays or motors(one direction only!) based on the value entered in the Serial Monitor.
2. Control a Servo
Sample Code is HERE
Red wire of servo to +5V, black wire to GND, Yellow (white) wire goes to pin 9 as specified in the demo sketch.
Explore - Write a sketch that takes a number or character from the Serial Monitor and based on the value, rotates the servo a specific number degrees
clockwise or counterclockwise.
- Create an Arduino Back-scratcher! (DON'T PUT WEIGHT/LOAD ON THE SERVO - IT WILL BREAK)
3. BUILD A GOOGLE BIKE! - Emulating a USB keyboard/mouse - with Ardunio LEONARDO
Explore - hook up a button to an Arduino as an Activator. When the button is pressed, have the Arduino enter a
text phrase in a word processing document or text-editor (ex. "Admiral Grace Hopper was the Queen of Code!")
4a. Drive an LCD Display Panel - I2C Module only (2 wires)
Explore - Create a Marquis-style message board. Enter the message in the Serial Monitor and then have the Arduino play the message in different kinds
of scroll directions (example. "Eat At Joe's!!" will display 'Eat At Joe's" in a horizontal LEFT scroll direction in a repeat sequence.
4b. Drive an LCD Display Panel - direct connection to Arduino board (6 wires)
Explore - Create a Marquis-style message board. Enter the message in the Serial Monitor and then have the Arduino play the message in different kinds
of scroll directions (example. "Eat At Joe's!!" will display 'Eat At Joe's" in a horizontal LEFT scroll direction in a repeat sequence.
5a. Talk to Arduino with Bluetooth
Explore - Write a sketch to watch for numeric or character digits sent from an RC-Car Android app on a tablet and then have it wave a flag or light a sequence of
LEDs (like the Wave the Flag demo)
- Hook up a button to the Arduino. When it is pressed, send a message to the RC-Car Android app (or an app that can receive a message sent from
the arduino to a paired Android device. (or Make your own Android App with AppInventor!)
5b. Talk to Arduino with Bluetooth LE (Low Energy) for iPhone/Ipad (Because Apple ALWAYS has to be different :-)
Standard Bluetooth transceivers (HC-05, HC-06) cannot talk to iOS. But you can use a Bluetooth LE module and iPhone 4s or later to talk to an Arduino.
Have not tried this yet, but here's a nice Instructable.
MAKE SURE YOU'RE SUPPLYING THE CORRECT VOLTAGE to the BLE module! The demo show's it a 3.3V device NOT a 5V device! Can you smell something
burning?
6. Distance / Motion Detection with SR-04 Module
Explore - Hook up a piezo buzzer (see activity 15 below) to the Arduino and have it play an alarm sound once the detector goes off.
Have the sketch play a higher tone the closer you get to the detector.
- Make a 'Beat the Sensor' Game. Have the sensor aimed toward a wall and then try to walk through the sensor's field of view without having the
Arduino detect that you are there.
- Write a program that makes the LCD display indicate, "INTRUDER ALERT!" when the sensor is activated at a certain minimum distance
7. Play a Melody through a Piezo speaker
This demo generates tones by FREQUENCY in Hz.
A table of notes with associated frequencies is here
8. Control Motors with an H-Bridge
Excellent article on how to use the L293D Quad-channel H-bridge to control 2 dc motors with an Arduino
Note: On the Circuit Diagram, the 'dimple' on the L293D is on the LEFT. There may be a couple of wire errors on the diagram
THE WRITTEN PIN-mappings on Page 3 ARE CORRECT!
VIDEO - How NOT to design an H-Bridge!
9. Controlling Servos with a Joystick - VERY COOL!
10. The "Considerate" Convenience
It's 3am. You GOTTA GO! Here's a solution.
Here's the Video!
Circuit Diagram
Lesson on Common Anode 3-colour LED
See activity 12 above (SR-04) and code for detecting Button Presses for hints on how to get the motion detection and colour adjustment to work.
11. Reading an Infrared Remote Control
How to use a simple TV remote to control your Arduino projects.
If you're doing a project with a lot of buttons, an infrared remote may be a good option because it only requires ONE PIN on the Arduino, while giving you possibly DOZENS of buttons on the remote that you can use for your project.
This demo is based on the KY-022 Infrared Receiver Module and the 'Car mp3' remote control'. Other devices will work just as well.
12. Stepper Motor Basics and activities
Resources on how stepper motors work.
Stepper motor discussion on main Arduino forums
Very good overview of different types of motors for different applications
Excellent introductory video by Bret Statem of The Maker Show
Video demo from Bret Statem of Arduino control of stepper motor with the AccelStepper library.
Download the AccelStepper library here
Lesson - Using a Stepper Motor Like a Servo Controlled by a Potentiometer
Video of demo
Larger Circuit Diagram is here
13. Make an LED Tiara for PROM!!!
14. Programming an Arduino Pro / Pro Mini
You cannot connect an Arduino Pro directly to a USB port. You could use an FTDI adapter.
Or you can use an Arduino UNO to program the Mini by connecting the two together using some wires.
Here is how to program an Arduino Pro Mini with an Arduino Uno
Here's a PICTURE of a custom connector you can make yourself.
You need:
- 5 lengths of wire - whatever length is convenient for your purposes. Recommend not going over 30cm.
- Some Male and Female terminal strip stock.
- Soldering iron, solder and a STEADY HAND
- Some 5 minute epoxy or other glue to make sure the wires don't break off the solder joints (optional)
What's the Difference between all the Arduino Models?
And here's an explanatory video from Sparkfun too!
KY Sensor Demo Code
Build 3 Robots in a Weekend - Cool Sparkfun Tutorial!
Arduino Built-in Examples - from www.arduino.cc
DIY Hacking - Cool Arduino Projects
Top Arduino Projects of 2016 - Very inspirational!
Cool DigiSpark Projects (the really small Arduino based on the ATTiny85)
WHY DO WE NEED PULL-UP and PULL-DOWN Resistors? Explanatory Video
Ralph S. Bacon's FANTASTIC Arduino Youtube Channel - very thoughtful, thorough an engaging videos on various aspects of Arduino
Introduction to Arduino Programming - Course
This course includes:
1 - Building the basic circuit for the activities
2 - Operating LEDs
3 - Working with Buttons
4 - Communicating with the Serial Monitor
5 - Using a Light Dependent Resistor (LDR)
6 - Communicating between Arduino and a Processing App
Click here for text versions of the program files from the course document
Additional Arduino Circuit Activities
1. Controlling Voltage with a MOSFET
Explore - use the MOSFET circuit to turn a motor or relay off/on based on the value entered in the Serial Monitor.
- hook up 2 MOSFETs to control 2 relays or motors(one direction only!) based on the value entered in the Serial Monitor.
2. Control a Servo
Sample Code is HERE
Red wire of servo to +5V, black wire to GND, Yellow (white) wire goes to pin 9 as specified in the demo sketch.
Explore - Write a sketch that takes a number or character from the Serial Monitor and based on the value, rotates the servo a specific number degrees
clockwise or counterclockwise.
- Create an Arduino Back-scratcher! (DON'T PUT WEIGHT/LOAD ON THE SERVO - IT WILL BREAK)
3. BUILD A GOOGLE BIKE! - Emulating a USB keyboard/mouse - with Ardunio LEONARDO
Explore - hook up a button to an Arduino as an Activator. When the button is pressed, have the Arduino enter a
text phrase in a word processing document or text-editor (ex. "Admiral Grace Hopper was the Queen of Code!")
4a. Drive an LCD Display Panel - I2C Module only (2 wires)
Explore - Create a Marquis-style message board. Enter the message in the Serial Monitor and then have the Arduino play the message in different kinds
of scroll directions (example. "Eat At Joe's!!" will display 'Eat At Joe's" in a horizontal LEFT scroll direction in a repeat sequence.
4b. Drive an LCD Display Panel - direct connection to Arduino board (6 wires)
Explore - Create a Marquis-style message board. Enter the message in the Serial Monitor and then have the Arduino play the message in different kinds
of scroll directions (example. "Eat At Joe's!!" will display 'Eat At Joe's" in a horizontal LEFT scroll direction in a repeat sequence.
5a. Talk to Arduino with Bluetooth
Explore - Write a sketch to watch for numeric or character digits sent from an RC-Car Android app on a tablet and then have it wave a flag or light a sequence of
LEDs (like the Wave the Flag demo)
- Hook up a button to the Arduino. When it is pressed, send a message to the RC-Car Android app (or an app that can receive a message sent from
the arduino to a paired Android device. (or Make your own Android App with AppInventor!)
5b. Talk to Arduino with Bluetooth LE (Low Energy) for iPhone/Ipad (Because Apple ALWAYS has to be different :-)
Standard Bluetooth transceivers (HC-05, HC-06) cannot talk to iOS. But you can use a Bluetooth LE module and iPhone 4s or later to talk to an Arduino.
Have not tried this yet, but here's a nice Instructable.
MAKE SURE YOU'RE SUPPLYING THE CORRECT VOLTAGE to the BLE module! The demo show's it a 3.3V device NOT a 5V device! Can you smell something
burning?
6. Distance / Motion Detection with SR-04 Module
Explore - Hook up a piezo buzzer (see activity 15 below) to the Arduino and have it play an alarm sound once the detector goes off.
Have the sketch play a higher tone the closer you get to the detector.
- Make a 'Beat the Sensor' Game. Have the sensor aimed toward a wall and then try to walk through the sensor's field of view without having the
Arduino detect that you are there.
- Write a program that makes the LCD display indicate, "INTRUDER ALERT!" when the sensor is activated at a certain minimum distance
7. Play a Melody through a Piezo speaker
This demo generates tones by FREQUENCY in Hz.
A table of notes with associated frequencies is here
8. Control Motors with an H-Bridge
Excellent article on how to use the L293D Quad-channel H-bridge to control 2 dc motors with an Arduino
Note: On the Circuit Diagram, the 'dimple' on the L293D is on the LEFT. There may be a couple of wire errors on the diagram
THE WRITTEN PIN-mappings on Page 3 ARE CORRECT!
VIDEO - How NOT to design an H-Bridge!
9. Controlling Servos with a Joystick - VERY COOL!
10. The "Considerate" Convenience
It's 3am. You GOTTA GO! Here's a solution.
Here's the Video!
Circuit Diagram
Lesson on Common Anode 3-colour LED
See activity 12 above (SR-04) and code for detecting Button Presses for hints on how to get the motion detection and colour adjustment to work.
11. Reading an Infrared Remote Control
How to use a simple TV remote to control your Arduino projects.
If you're doing a project with a lot of buttons, an infrared remote may be a good option because it only requires ONE PIN on the Arduino, while giving you possibly DOZENS of buttons on the remote that you can use for your project.
This demo is based on the KY-022 Infrared Receiver Module and the 'Car mp3' remote control'. Other devices will work just as well.
12. Stepper Motor Basics and activities
Resources on how stepper motors work.
Stepper motor discussion on main Arduino forums
Very good overview of different types of motors for different applications
Excellent introductory video by Bret Statem of The Maker Show
Video demo from Bret Statem of Arduino control of stepper motor with the AccelStepper library.
Download the AccelStepper library here
Lesson - Using a Stepper Motor Like a Servo Controlled by a Potentiometer
Video of demo
Larger Circuit Diagram is here
13. Make an LED Tiara for PROM!!!
14. Programming an Arduino Pro / Pro Mini
You cannot connect an Arduino Pro directly to a USB port. You could use an FTDI adapter.
Or you can use an Arduino UNO to program the Mini by connecting the two together using some wires.
Here is how to program an Arduino Pro Mini with an Arduino Uno
Here's a PICTURE of a custom connector you can make yourself.
You need:
- 5 lengths of wire - whatever length is convenient for your purposes. Recommend not going over 30cm.
- Some Male and Female terminal strip stock.
- Soldering iron, solder and a STEADY HAND
- Some 5 minute epoxy or other glue to make sure the wires don't break off the solder joints (optional)
What's the Difference between all the Arduino Models?
And here's an explanatory video from Sparkfun too!
KY Sensor Demo Code
Build 3 Robots in a Weekend - Cool Sparkfun Tutorial!
Arduino Built-in Examples - from www.arduino.cc
DIY Hacking - Cool Arduino Projects
Top Arduino Projects of 2016 - Very inspirational!
Cool DigiSpark Projects (the really small Arduino based on the ATTiny85)
WHY DO WE NEED PULL-UP and PULL-DOWN Resistors? Explanatory Video
Ralph S. Bacon's FANTASTIC Arduino Youtube Channel - very thoughtful, thorough an engaging videos on various aspects of Arduino
USB Windows Drivers for the UNO Clones (CH340) (small SQUARE chip)
NOTE: For Windows32, you may have to MANUALLY update the driver from the Device Manager. This is a 64 bit installer.
USB MacOS Drivers for CH340
NOTE: For Windows32, you may have to MANUALLY update the driver from the Device Manager. This is a 64 bit installer.
USB MacOS Drivers for CH340
Supporting Documents for this page:
introtoarduinocodepackmar29.pdf | |
File Size: | 580 kb |
File Type: |
5._using_the_arduino_status_monitor.pdf | |
File Size: | 525 kb |
File Type: |
7. controlling_voltage_with_a_mosfet.pdf | |
File Size: | 563 kb |
File Type: |
9. Emulating_a_usb_keyboard_with_arduino_leonardo.pdf | |
File Size: | 600 kb |
File Type: |
12. Distance_measuring_with_sr-04.pdf | |
File Size: | 468 kb |
File Type: |
18. dlrobotwithbluetoothandandroidcontrol.pdf | |
File Size: | 1063 kb |
File Type: |
19. the_considerate_convenience.pdf | |
File Size: | 183 kb |
File Type: |
servodemo.txt | |
File Size: | 1 kb |
File Type: | txt |
reading_an_infrared_remote_control.pdf | |
File Size: | 286 kb |
File Type: |
control_stepper_motor_with_a_potentiometer.pdf | |
File Size: | 296 kb |
File Type: |
stepperdemo.jpg | |
File Size: | 251 kb |
File Type: | jpg |
i2c_lcd_display.pdf | |
File Size: | 569 kb |
File Type: |
miniprogrammingcable.jpg | |
File Size: | 56 kb |
File Type: | jpg |
THE WORLD NEEDS INVENTORS AND INNOVATORS!
If you have an idea for a product or invention that you can use
Arduino to build, GIVE IT A SHOT!!!!
If Alexander Graham Bell hadn't 'given it a shot', we wouldn't be able to waste 8 hours a day watching Kitten Videos on our phones!!! (and what an empty life it would be!)
Your teacher can help you think of ways to combine different Arduino circuits to build different machines.