INTRODUCTION TO ARDUINO PROGRAMMING INTERFACING Engr Franz Duran












































































- Slides: 76
INTRODUCTION TO ARDUINO PROGRAMMING & INTERFACING Engr. Franz Duran, MEP-ECE Rapid. Signal Electronics Franz Duran
OVERVIEW Microcontrollers & Robotics Franz Duran
OVERVIEW ØDAY 1 (Morning) o Introduction to Microcontroller Technology o Introduction to Arduino microcontroller board o Introduction to Rapi. Duino Microcontroller Learning Module o Basic Arduino Programming and Interfacing § Interfacing with LEDs, switches, & LCD Microcontrollers & Robotics Franz Duran
OVERVIEW ØDAY 1 (Afternoon) o Interfacing with 4 x 4 keypad o Interfacing with Analog Sensors o Interfacing with Serial Communication Microcontrollers & Robotics Franz Duran
OVERVIEW ØDAY 2 (Morning) o Introduction to P-BOT mobile robot trainer o Maze mobot programming o Line follower mobot programming Microcontrollers & Robotics Franz Duran
OVERVIEW ØDAY 2 (Afternoon) o Line follower mobot race o Android-controlled mobot o DIY line follower mobot Microcontrollers & Robotics Franz Duran
MICROCONTROLLER BASICS Microcontrollers & Robotics Franz Duran
What is a microcontroller? ØMCU ØA single-chip computer ØInvented in the 1970’s ØUsed as “embedded” controller Microcontrollers & Robotics Franz Duran
Where are MCUs used? Øused as dedicated controllers in: o Home and office appliances o Consumer & Personal electronics o Medical equipment o Industrial equipment o Automotive electronics o Naval/Avionics/Aerospace Microcontrollers & Robotics Franz Duran
Why use a microcontroller? ØLow-cost ØFlexible ØSmall outline ØLow-power Microcontrollers & Robotics Franz Duran
Why use a microcontroller? ØLow-cost o Typical price range: P 50 to P 1000 Ø Flexible Ø Small outline Ø Low-power Microcontrollers & Robotics Franz Duran
Why use a microcontroller? Ø Cheap ØFlexible o Re-programmable o High-integration devices Ø Small outline Ø Low-power Microcontrollers & Robotics Franz Duran
Why use a microcontroller? Ø Cheap Ø Flexible ØSmall outline o small physical size = low PCB footprint o tiny packages: DIP, SOP Ø Low-power Microcontrollers & Robotics Franz Duran
Why use a microcontroller? Ø Cheap Ø Flexible Ø Small outline ØLow-power o Battery-operated application o Use SLEEP/low-power operation Microcontrollers & Robotics Franz Duran
ARDUINO MICROCONTROLLER Microcontrollers & Robotics Franz Duran
What is an Arduino? ØA microcontroller board + programming IDE Microcontrollers & Robotics Franz Duran
What is an Arduino? Ø A complete MCU board o ATMEGA microcontroller o USB circuit o Power supply circuit o Reset button o Female header connectors Microcontrollers & Robotics Franz Duran
What is an Arduino? ØEasy-to-use Arduino Development environment o Program is called Sketch Microcontrollers & Robotics Franz Duran
Arduino ECOSYSTEM ØArduino Board o Simple, open-hardware design ØArduino Programming IDE o C/C++-based, open-source o Built-in functions ØArduino Community o Design Arduino-compatible circuits (Shields) o Software and hardware collaboration Microcontrollers & Robotics Franz Duran
RAPIDUINO SWORD 3 Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 ARDUINO BOARD Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 giz. Duino Arduino Uno Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 Microcontrollers & Robotics 2 x 16 Character LCD Franz Duran
Rapi. Duino Sword 3 Button Switches Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 4 x 4 Keypad Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 4 x 4 Keypad Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 7 -segment displays Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 Lightemitting diodes Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 Real-time clock w/ back-up battery Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 Serial EEPROM Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 buzzer Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 Serial Communication Circuit Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 Bluetooth Transceiver Module Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 Analog voltage sources Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 Temperature sensor Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 lightdependent resistor Microcontrollers & Robotics Franz Duran
Rapi. Duino Sword 3 Power Supply Circuit Microcontrollers & Robotics Franz Duran
BASIC ARDUINO PROGRAMMING & INTERFACING Microcontrollers & Robotics Franz Duran
LED Interfacing ØBuild an LED circuit ØInterface the LED circuit to the Arduino ØCreate an Arduino program that will turn on the LED Microcontrollers & Robotics Franz Duran
What is an LED? ØLight-emitting diode o An electronic device that emit visible light when activated. o Typically used as electrical status indicators Microcontrollers & Robotics Franz Duran
LED Interfacing Circuit schematic Microcontrollers & Robotics Franz Duran
LED Circuit on breadboard Microcontrollers & Robotics Franz Duran
LED Circuit on Rapiduino Ø Connect LED 1 to Arduino Pin 7 Microcontrollers & Robotics Franz Duran
Arduino Environment Ø Open the Arduino programming environment Microcontrollers & Robotics Franz Duran
e pl am Ex Writing the Sketch 1 # void setup() { } void loop() { } Microcontrollers & Robotics Franz Duran
e pl am 1 # void setup() { pin. Mode(7, OUTPUT); digital. Write(7, HIGH); } Ex Writing the Sketch //Pin 7 is output pin. //LED is on. void loop() { } Microcontrollers & Robotics Franz Duran
e pl am 1 # void setup() { pin. Mode(7, OUTPUT); digital. Write(7, HIGH); pin. Mode(5, OUTPUT); digital. Write(5, HIGH); } Ex Writing the Sketch //Pin 7 is output pin. //LED is on. void loop() { } Microcontrollers & Robotics Franz Duran
Writing the Sketch ØClick the Verify button Microcontrollers & Robotics Franz Duran
Steps for Uploading the Program 1. Connect the USB cable Note: Make sure USB-to-serial driver is installed first Microcontrollers & Robotics Franz Duran
Steps for Uploading the Program 2. Power up the Rapiduino board Microcontrollers & Robotics Franz Duran
Steps for Uploading the Program 3. Select the COM port number of the Serial Port Microcontrollers & Robotics Franz Duran
Steps for Uploading the Program 4. Select the Arduino Duemilanove w/ ATmega 328 board Microcontrollers & Robotics Franz Duran
Steps for Uploading the Program 5. Press down the Reset button Microcontrollers & Robotics Franz Duran
Steps for Uploading the Program 6. While Reset button is pressed, click the Upload button 7. Release the Reset button Microcontrollers & Robotics Franz Duran
Steps for Uploading the Program Wait… … until uploading is done. Microcontrollers & Robotics Franz Duran
Steps for experimenting with the Rapiduino 1. Assemble the Arduino application hardware o Use ordinary solid wires 2. Write the sketch program 3. Upload program to Arduino Microcontrollers & Robotics Franz Duran
e pl am //PIN 7 is 'renamed' as LED 1 1 # int LED 1 Pin = 7; Ex Arduino Sketch void setup() { pin. Mode(LED 1 Pin, OUTPUT); digital. Write(LED 1 Pin, HIGH); } void loop() { //nothing. . . } Microcontrollers & Robotics Franz Duran
Arduino Program ØCalled as Sketch o A simplified combination of C/C++ programming language ØConsist of: o setup() function o loop() function Microcontrollers & Robotics Franz Duran
Arduino Program ØThe setup() function o The setup() function is called when a sketch program begins executing. o It is used to initialize variables, configure pin modes, begin using libraries, etc. o The setup() function will only run once, after each powerup or reset of the Arduino board. Microcontrollers & Robotics Franz Duran
Arduino Program ØThe loop() function o The loop() function repeatedly execute all codes appearing within its body. o Use it to actively control the Arduino board, i. e. read input, process information, send output Microcontrollers & Robotics Franz Duran
Arduino Program void setup() { //code 1 //code 2 } start code 1 code 2 code 3 void loop() { //code 3 //code 4 //code 5 } code 4 code 5 Microcontrollers & Robotics Franz Duran
Ex LED Interfacing 2 # Configure Output pin e pl ØLED Blinker program am start LED is off LED is on Time delay LED is off Time delay Microcontrollers & Robotics Franz Duran
Ex Arduino Sketch: LED Blinker e pl am 2 # int LED 1 Pin = 7; void setup() { pin. Mode(LED 1 Pin, OUTPUT); digital. Write(LED 1 Pin, LOW); } void loop() { digital. Write(LED 1 Pin, HIGH); delay(500); digital. Write(LED 1 Pin, LOW); delay(250); //Pin 7 is output pin //LED is initially low //Turn on LED. //Time delay for 0. 5 second. //Turn off LED. //Time delay for 0. 25 second. } Microcontrollers & Robotics Franz Duran
Button Switch Interfacing Ø Button switch: o a. k. a pushbutton or button o Used as simple input devices Ø Common example: o Tact switches Microcontrollers & Robotics Franz Duran
Button Switch Interfacing Microcontrollers & Robotics Franz Duran
Button Switch Interfacing Circuit on breadboard Microcontrollers & Robotics Franz Duran
Button Switch Interfacing Ø Program Description: o If button is pressed, turn on LED. o Else, if button is not pressed, turn off LED. Ø Operation: o Button is connected to Pin 5 is configured as input pin o If button is pressed, Pin 5 reads Logic 0; else, if not pressed reads as Logic 1 Microcontrollers & Robotics Franz Duran
Button Switch Interfacing ØAssemble circuit on Rapiduino: o LED 1 Pin 7 o BUTTON 1 Pin 5 Microcontrollers & Robotics Franz Duran
Ex Arduino Sketch 3 # int LED = 7; int BUTTON = 5; e pl am void loop() { int Button. Stat; Button. Stat = digital. Read(BUTTON); void setup() { pin. Mode(BUTTON, INPUT); if(Button. Stat == LOW) { digital. Write(LED, HIGH); } else { digital. Write(LED, LOW); } pin. Mode(LED, OUTPUT); digital. Write(LED, LOW); } } Microcontrollers & Robotics Franz Duran
2 x 16 Character LCD Interfacing ØOutput device for displaying characters Ø 2 rows, 16 characters Microcontrollers & Robotics Franz Duran
2 x 16 Character LCD Interfacing Pin number Name Description 1 GND 2 +5 V 3 VO Contrast Voltage 4 RS Register Select 5 RW Read/Write 6 EN Enable 7 D 0 Data Bit 0 8 D 1 Data Bit 1 9 D 2 Data Bit 2 10 D 3 Data Bit 3 11 D 4 Data Bit 4 12 D 5 Data Bit 5 13 D 6 Data Bit 6 14 D 7 Data Bit 7 15 LED_AN 16 LED_CA POWER Pins CONTROL Pins 1 16 DATA Pins BACKLIGHT LED pins LED Backlight cathode Microcontrollers & Robotics LED Backlight anode Franz Duran
2 x 16 Character LCD Interfacing Circuit on breadboard Microcontrollers & Robotics Franz Duran
2 x 16 Character LCD Interfacing Microcontrollers & Robotics Franz Duran
2 x 16 Character LCD Interfacing ØAssemble circuit on Rapiduino: o LCD_RS Pin 12 o LCD_EN Pin 11 o LCD_D 4 Pin 14 o LCD_D 5 Pin 15 o LCD_D 6 Pin 16 o LCD_D 7 Pin 17 o LCD_RW Ground (NOTE: Short J 3 jumper) Microcontrollers & Robotics Franz Duran
Ex 2 x 16 Character LCD Interfacing e pl am Liquid. Crystal lcd(12, 11, 14, 15, 16, 17); //lcd pins 4 # #include <Liquid. Crystal. h> void setup() { lcd. begin(16, 2); //set up the LCD's number of columns and rows: lcd. print("Rapi. Duino SWORD 3"); //Print a text on first line lcd. set. Cursor(1, 1); lcd. print("with Bluetooth!"); //Move cursor to 2 nd line //Print a text on second line } void loop() { //Do nothing. . . } Microcontrollers & Robotics Franz Duran
END Franz Duran












































































