Robotycs - YLab Robotics Group Toy Hacking Workshop Part 2 November 11, 2015

Size: px
Start display at page:

Download "Robotycs - YLab Robotics Group Toy Hacking Workshop Part 2 November 11, 2015"

Transcription

1 Robotycs - YLab Robotics Group Toy Hacking Workshop Part 2 November 11, 2015

2 Robot Talk Ross Lunan What do we build Robots with? With whatever you can find in your junk-box, get from lots of suppliers Typical Controllers/OS Arduino (C++), Raspberry Pi (Linux/Python), Beaglebone (Linux), Linux, Python, Scratch, Jscript, ROS, etc. Chassis, Sensors, Motors, LEDs, wireless devices, wires Patience and perseverance! While Robotic devices can take many forms, follows is an example of a basic vehicle hardware 2

3 Sample Basic Robot Vehicle Hardware (Follows from J. Lau & P Tan How to Build a robot in 10 Minutes) Hardware: Chassis (anything that will hold the robot) Motor and Wheel Microcontroller Arduino(Uno, Leonardo, Filo ), Raspberry Pi, Motor Driver (H-bridge) L298N Motor Shield Battery holder and battery $36/kit $26/kit $13 (w/nimh batteries $26 $16 $6/pair $6/pair

4 What s an Arduino? Arduino is an open-source physical computing platform based on a simple i/o board and a development environment that implements the standard language called Processing/Wiring. Arduino can be used to develop stand-alone interactive objects (i.e. robot devices) or can be connected to software on your computer (e.g. Flash, Processing, MaxMSP). The open-source IDE can be downloaded for free (for Mac OS X, Windows, and Linux). It can be powered from the computer USB cable (usually during code development & testing) or battery pack (7-12 Vdc)

5 What s an Arduino? Cont d Interfaces ( 3.3 or 5v) can include 20 Digital Input or Output Pins (I/O), 7 Pulse Width Modulation (PWM) Channels (to control LED brightness or Motor Speeds), 12 Analog-to-Digital Converters to measure analog voltages from Sensors. Interface pins on standard models are arranged to enable attaching additional boards on top. These are called Shields and there are 100 s available to many useful functions. Many physical variations, smaller and larger are available to customize the application Communication to other devices to computers can be done by attaching external Bluetooth or WiFi devices.

6 What s a Motor Shield? A Motor and Servo Shield is an Arduino (R3) compatible shield (hardware circuit board and components) designed to make connecting motors, servos and sensors to your Arduino-based development board as fast and easy as possible. A separate power connection for the servo or motor allows customization to the optimum device specifications. The external shield is mandatory as the basic Arduino I/O does not provide sufficient power to directly drive a servo or motor A custom Library code file is available that increases the Arduino basic coding language specific to this hardware. There is a wide choice of Motor and Servo Shields depending on the end device requirements, available a completely built or kits requiring soldering.

7 What is a Chassis Base? As in any vehicle a frame is required to hold all the mechanical components, including wheels, motors, control devices. For a conventional flat surface vehicle, choices are usually 2, 4, 6 motor/wheel assemblies However there are 100 s of possible variations including flying, swimming, animal or insectoid like devices.

8 Arduino Controller Configuration DC Power (8-12 Vdc USB Serial Port for uploading code and Serial Monitor Pin Numbers in the program dir_b = 13 dir_a = 12 pwm_b = 11 BluetoothTx = 9 bluetoothrx = 10 pwm_a = 3 //Set control pins to be outputs pinmode(pwm_a, OUTPUT); pinmode(pwm_b, OUTPUT); pinmode(dir_a, OUTPUT); pinmode(dir_b, OUTPUT);

9 What is Digital I/O? ( The D or A pins on the Arduino can be configured as either inputs or outputs. Input: Arduino (Atmega) pins default to inputs, so they don't need to be explicitly declared as inputs with pinmode() when you're using them as inputs. Pins configured this way are said to be in a highimpedance state. Output: Pins configured as OUTPUT with pinmode() are said to be in a low-impedance state. This means that they can provide a substantial amount of current to other circuits. Atmega pins can source (provide positive current) or sink (provide negative current) up to 40 ma (milliamps) of current to other devices/circuits. This is enough current to brightly light up an LED (don't forget the series resistor), or run many sensors, for example, but not enough current to run most relays, solenoids, or motors. */ blink.ino /* int ledpin = 13; // LED connected to digital pin 13 void setup() { pinmode(ledpin, OUTPUT); // sets the digital pin as output void loop() { digitalwrite(ledpin, HIGH); // sets the LED on delay(1000); // waits for a second digitalwrite(ledpin, LOW); // sets the LED off delay(1000); // waits for a second

10 What is PWM I/O? ( Pulse Width Modulation, or PWM, is a technique for getting analog results with digital means. Digital control is used to create a square wave, a signal switched between on and off. This on-off pattern can simulate voltages in between full on (5 Volts) and off (0 Volts) by changing the portion of the time the signal spends on versus the time that the signal spends off. The duration of "on time" is called the pulse width. To get varying analog values, you change, or modulate, that pulse width. If you repeat this on-off pattern fast enough with an LED for example, the result is as if the signal is a steady voltage between 0 and 5v controlling the brightness of the LED. In the graphic below, the green lines represent a regular time period. This duration or period is the inverse of the PWM frequency. In other words, with Arduino's PWM frequency at about 500Hz, the green lines would measure 2 milliseconds each. A call to analogwrite() is on a scale of 0-255, such that analogwrite(255) requests a 100% duty cycle (always on), and analogwrite(127) is a 50% duty cycle (on half the time) for example.

11 Motor Shield Configuration 2a 2b A dir_b = 13 dir_a = 12 1a Pwm switch 1b pwm_b = 11 //Set motor stop, 0% duty cycle analogwrite(pwm_a, 0); //Set motor direction cw, 1a=2b=high, 1b=2a=low digitalwrite(dir_a, HIGH); //Set motor direction ccw, 1b=2a=high, 1a=2b=low digitalwrite(dir_b, LOW); pwm_a = 3

12 usb_tether_remote_test_motors.ino - Software /* usb_tether_remote_test_motors.ino * For UNO, NOT DUE or Leonardo * Version of remote_test_motors w/usb tether connected to H/W Serial Rx-In D0/Tx-Out D1 * Hardware Serial Monitor port (Serial command). * Added code to control direction from characters received from * Bluetooth radio connected to SoftwareSerial library serial Arduino Rx-In D10/Tx-Out D11 * Android Client: hobbyprojects.com forward="a", backward="b", turn left=c, * turn right="d", stop="e", 360 deg CW="F", 360 deg CCW="G" * * Disregard the controller implementation * Anduino code from Instructables.com Android-bot-remote-control * * revised move functions to add "turn" CW and CCW, input speed for future * Based on test_motors.ino * Canada Robotics Motor Shield * * *** Open Arduino IDE Serial monitor set to 9600 b/s *** */ #include <SoftwareSerial.h> // Library to enable serial tx/rx on any pin int bluetoothtx = 9; // Arduino Rx-In from Tx-O data Out pin of Bluetooth module int bluetoothrx = 10; // Arduino Tx-Out to Rx-I data In pin of Bluetooth module // Note the Arduino Rx/Tx Pins are crossed over with Bluetooth Tx/Rx pins SoftwareSerial bluetooth( bluetoothtx, bluetoothrx); // connected to Arduino Rx-In, Tx-Out D pin // // set pin # const int pwm_a = 3; const int pwm_b = 11; const int dir_a = 12; const int dir_b = 13; const int speedbot = 255; char incomingbyte = 0; // incoming byte from Serial Terminal or Bluetooth link // set pin modes

13 usb_tether_remote_test_motors.ino Software Page 2 void setup() { //Set control pins to be outputs pinmode( pwm_a, OUTPUT); // Right Motor speed pinmode( pwm_b, OUTPUT); // Left Motor speed pinmode( dir_a, OUTPUT); // Right Motor direction Fwd or Back pinmode( dir_b, OUTPUT); // Left Motor direction Fwd or Back //initial set up straight forward, no speed digitalwrite( dir_a, HIGH); //Reverse motor direction, 1 high, 2 low digitalwrite( dir_b, HIGH); //Reverse motor direction, 3 low, 4 high analogwrite( pwm_a, 0); //set both motors to not move analogwrite( pwm_b, 0); Serial. begin(9600); // Begin serial monitor and keyboard at 9600 b/s bluetooth. begin(9600); // Begin Software Serial data interface at 9600 b/s // setup() # void loop() { /* Comment out test-motors commands *********************** // see if there's incoming serial data on usb tether or bluetooth link: int serialbyteready = Serial. available() > 0; int bluetoothbyteready = bluetooth. available() > 0; if ( serialbyteready bluetoothbyteready) { // read the oldest byte in the serial buffer of either serial port if ( serialbyteready) { incomingbyte = Serial. read(); else if ( bluetoothbyteready) { incomingbyte = bluetooth. read(); // action depending on the instruction // as well as sending a confirmation back to the appi

14 usb_tether_remote_test_motors.ino Software Page 3 switch (incomingbyte) { case 'A': forward(speedbot); Serial.println("Going forward"); break; case 'C': turn(speedbot, true); Serial.println("Turning left"); break; Case 'D': turn(speedbot, false); Serial.println("Turning right"); break; case 'B': backward(speedbot); Serial.println("Going backwards"); break; case 'E': stopped(); Serial.println("Stopping"); - break; case 'F': spin(speedbot, true); // CW Serial.println("Spinning CW"); break; case 'G': spin(speedbot, false); // CCW Serial.println("Spinning CCW"); break; default: // if nothing matches, do nothing break; //case // if //loop()

15 Build a robot in 10 minutes - Software void forw() { // no pwm defined digitalwrite(dir_a, HIGH); //Reverse motor direction, 1 high, 2 low digitalwrite(dir_b, HIGH); //Reverse motor direction, 3 low, 4 high void back() { // no pwm defined digitalwrite(dir_a, LOW); //Set motor direction, 1 low, 2 high digitalwrite(dir_b, LOW); //Set motor direction, 3 high, 4 low void forward() { //full speed forward digitalwrite(dir_a, HIGH); //Reverse motor direction, 1 high, 2 low digitalwrite(dir_b, HIGH); //Reverse motor direction, 3 low, 4 high analogwrite(pwm_a, 255); //set both motors to run at (100/255 = 39)% duty cycle analogwrite(pwm_b, 255); void backward() { //full speed backward digitalwrite(dir_a, LOW); //Set motor direction, 1 low, 2 high digitalwrite(dir_b, LOW); //Set motor direction, 3 high, 4 low analogwrite(pwm_a, 255); //set both motors to run at 100% duty cycle (fast) analogwrite(pwm_b, 255); void stopped() { //stop digitalwrite(dir_a, LOW); //Set motor direction, 1 low, 2 high digitalwrite(dir_b, LOW); //Set motor direction, 3 high, 4 low analogwrite(pwm_a, 0); //set both motors to run at 100% duty cycle (fast) analogwrite(pwm_b, 0);

16 Build a robot in 10 minutes - Software void fadein() { // fade in from min to max in increments of 5 points: for(int fadevalue = 0 ; fadevalue <= 255; fadevalue += 5) { // sets the value (range from 0 to 255): analogwrite(pwm_a, fadevalue); analogwrite(pwm_b, fadevalue); // wait for 30 milliseconds to see the dimming effect delay(30); void fadeout() { // fade out from max to min in increments of 5 points: for(int fadevalue = 255 ; fadevalue >= 0; fadevalue -= 5) { // sets the value (range from 0 to 255): analogwrite(pwm_a, fadevalue); analogwrite(pwm_b, fadevalue); // wait for 30 milliseconds to see the dimming effect delay(30); void astop() { //stop motor A analogwrite(pwm_a, 0); //set both motors to run at 100% duty cycle (fast) void bstop() { //stop motor B analogwrite(pwm_b, 0); //set both motors to run at 100% duty cycle (fast)

17 USB Tether Serial Monitor - Control The Serial Monitor is a separate pop-up window that acts as a separate terminal that communicates by receiving and sending Serial Data. With USB cable connected beteen Arduino and PC, open a separate window with Tools-Serial Monitor, set bit-rate. Serial Data is sent over a single wire (but usually travels over USB in our case) and consists of a series of 1's and 0's sent over the wire. Data can be sent in both directions (In our case on two wires). void setup() /****** SETUP: RUNS ONCE ******/ { Serial.begin(9600); Serial.println("--- Start Serial Monitor SEND_RCVE ---"); Serial.println(" Type in Box above,. "); Serial.println("(Decimal)(Hex)(Character)"); Serial.println(); //--(end setup )---

18 New Arduino Functions Comments: */ This is a comment */ // So is this #include SoftwareSerial.h, SoftwareSerial name(rx-in pin, Tx-Out pin): Calls an included Library to set up a two-way serial interface on selected digital pins. Serial.begin(9600): Starts the Serial Terminal link at 9600 b/s Name.begin(9600); Start the SoftwareSerial link at 9600 b/s int serialbyteready=serial.available()>0; define a boolean variable and checks if a byte is in the receiver buffer if( ) {do this if true else if () {do this if true Check statements and direcvt action Switch ( a byte ) { case A ; do this and this; break ; skip all other case statements default: // if nothing matches, do nothing break;

19 Next Step Bluetooth Remote Control Transmits characters from a Bluetooth device, i.e.andoid running an APP to the Arduino Need to connect a Bluetooth module to your Arduino just 4 wires, +3.3 Vdc, Gnd, Tx-Out to Arduino Rx-In, Rx-In to Tx-Out. Suggested is Wireless Module HC-05 It operates at 9600 bit/s identical to the USB tether. No change to the code is required Download from Google Play: Bluetooth Robot Remote Control by Hobbyproject.com

20 Information Googling and.. YLab: Supplers: (Jade Robot), (Bookstore), lotsa vendors.. Organizations: IEEE Robotics Society: Magazines: Servo Robot Nuts and Volts Competitions: First Robotics: Underwater robotics: MATE: 20

21 Upcoming YLab events Joint YLab/York Region Amateur Radio Club: Wed., Nov. 18, 2105 at David Dunlap Observatory (Richmond Hill) YLab Robotycs: Wed., Nov. 25, 2015, 7-9 pm Location TBD

22 Other local upcoming events Markham Library: 3D design & Printed Workshops Nov 8, 19, 25, Dec 2, Register at Markham Cave: MPL s Media Makespace: thecavemarkham.blogspot.ca

23 UNTIL NEXT MONTH NOVEMBER 25, 2015 Location : TBD, See for Robot Talk topic and Activities

11/4/15. Robot Talk Ross Lunan. Sample Basic Robot Vehicle Hardware What s an Arduino?

11/4/15. Robot Talk Ross Lunan. Sample Basic Robot Vehicle Hardware What s an Arduino? 11/4/15 Robot Talk Ross Lunan What do we build Robots with? With whatever you can find in your junk-box, get from lots of suppliers Typical Controllers/OS Arduino (C++), Raspberry Pi (Linux/Python), Linux,

More information

Arduino Digital Out_QUICK RECAP

Arduino Digital Out_QUICK RECAP Arduino Digital Out_QUICK RECAP BLINK File> Examples>Digital>Blink int ledpin = 13; // LED connected to digital pin 13 // The setup() method runs once, when the sketch starts void setup() // initialize

More information

EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino

EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs 10-11 Introduction to Arduino In this lab we will introduce the idea of using a microcontroller as a tool for controlling

More information

Computational Crafting with Arduino. Christopher Michaud Marist School ECEP Programs, Georgia Tech

Computational Crafting with Arduino. Christopher Michaud Marist School ECEP Programs, Georgia Tech Computational Crafting with Arduino Christopher Michaud Marist School ECEP Programs, Georgia Tech Introduction What do you want to learn and do today? Goals with Arduino / Computational Crafting Purpose

More information

Assignments from last week

Assignments from last week Assignments from last week Review LED flasher kits Review protoshields Need more soldering practice (see below)? http://www.allelectronics.com/make-a-store/category/305/kits/1.html http://www.mpja.com/departments.asp?dept=61

More information

FABO ACADEMY X ELECTRONIC DESIGN

FABO ACADEMY X ELECTRONIC DESIGN ELECTRONIC DESIGN MAKE A DEVICE WITH INPUT & OUTPUT The Shanghaino can be programmed to use many input and output devices (a motor, a light sensor, etc) uploading an instruction code (a program) to it

More information

Arduino Application: Speed control of small DC Motors

Arduino Application: Speed control of small DC Motors Arduino Application: Speed control of small DC Motors ME 120 Mechanical and Materials Engineering Portland State University http://web.cecs.pdx.edu/~me120 Learning Objectives Be able to describe the use

More information

Grove - Infrared Receiver

Grove - Infrared Receiver Grove - Infrared Receiver The Infrared Receiver is used to receive infrared signals and also used for remote control detection. There is an IR detector on the Infrared Receiver which is used to get the

More information

You'll create a lamp that turns a light on and off when you touch a piece of conductive material

You'll create a lamp that turns a light on and off when you touch a piece of conductive material TOUCHY-FEELY LAMP You'll create a lamp that turns a light on and off when you touch a piece of conductive material Discover : installing third party libraries, creating a touch sensor Time : 5 minutes

More information

For this exercise, you will need a partner, an Arduino kit (in the plastic tub), and a laptop with the Arduino programming environment.

For this exercise, you will need a partner, an Arduino kit (in the plastic tub), and a laptop with the Arduino programming environment. Physics 222 Name: Exercise 6: Mr. Blinky This exercise is designed to help you wire a simple circuit based on the Arduino microprocessor, which is a particular brand of microprocessor that also includes

More information

Training Schedule. Robotic System Design using Arduino Platform

Training Schedule. Robotic System Design using Arduino Platform Training Schedule Robotic System Design using Arduino Platform Session - 1 Embedded System Design Basics : Scope : To introduce Embedded Systems hardware design fundamentals to students. Processor Selection

More information

Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-4: Electric Actuators

Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-4: Electric Actuators Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-4: Electric Actuators Ahmed Okasha, Assistant Lecturer okasha1st@gmail.com Objective Have a

More information

J. La Favre Using Arduino with Raspberry Pi February 7, 2018

J. La Favre Using Arduino with Raspberry Pi February 7, 2018 As you have already discovered, the Raspberry Pi is a very capable digital device. Nevertheless, it does have some weaknesses. For example, it does not produce a clean pulse width modulation output (unless

More information

MOTOR CONTROL WITH THE ARDUINO MEGA

MOTOR CONTROL WITH THE ARDUINO MEGA MOTOR CONTROL WITH THE ARDUINO MEGA The Arduino family of circuit boards is one of the core technologies that have made the Maker Movement possible. If you're new to gadget development and you want to

More information

Experiment 1: Robot Moves in 3ft squared makes sound and

Experiment 1: Robot Moves in 3ft squared makes sound and Experiment 1: Robot Moves in 3ft squared makes sound and turns on an LED at each turn then stop where it started. Edited: 9-7-2015 Purpose: Press a button, make a sound and wait 3 seconds before starting

More information

Lab 5: Arduino Uno Microcontroller Innovation Fellows Program Bootcamp Prof. Steven S. Saliterman

Lab 5: Arduino Uno Microcontroller Innovation Fellows Program Bootcamp Prof. Steven S. Saliterman Lab 5: Arduino Uno Microcontroller Innovation Fellows Program Bootcamp Prof. Steven S. Saliterman Exercise 5-1: Familiarization with Lab Box Contents Objective: To review the items required for working

More information

Module: Arduino as Signal Generator

Module: Arduino as Signal Generator Name/NetID: Teammate/NetID: Module: Laboratory Outline In our continuing quest to access the development and debugging capabilities of the equipment on your bench at home Arduino/RedBoard as signal generator.

More information

DFRduino Romeo All in one Controller V1.1(SKU:DFR0004)

DFRduino Romeo All in one Controller V1.1(SKU:DFR0004) DFRduino Romeo All in one Controller V1.1(SKU:DFR0004) DFRduino RoMeo V1.1 Contents 1 Introduction 2 Specification 3 DFRduino RoMeo Pinout 4 Before you start 4.1 Applying Power 4.2 Software 5 Romeo Configuration

More information

Pulse Width Modulation and

Pulse Width Modulation and Pulse Width Modulation and analogwrite ( ); 28 Materials needed to wire one LED. Odyssey Board 1 dowel Socket block Wire clip (optional) 1 Female to Female (F/F) wire 1 F/F resistor wire LED Note: The

More information

1Getting Started SIK BINDER //3

1Getting Started SIK BINDER //3 SIK BINDER //1 SIK BINDER //2 1Getting Started SIK BINDER //3 Sparkfun Inventor s Kit Teacher s Helper These worksheets and handouts are supplemental material intended to make the educator s job a little

More information

Sten-Bot Robot Kit Stensat Group LLC, Copyright 2013

Sten-Bot Robot Kit Stensat Group LLC, Copyright 2013 Sten-Bot Robot Kit Stensat Group LLC, Copyright 2013 Legal Stuff Stensat Group LLC assumes no responsibility and/or liability for the use of the kit and documentation. There is a 90 day warranty for the

More information

Coding with Arduino to operate the prosthetic arm

Coding with Arduino to operate the prosthetic arm Setup Board Install FTDI Drivers This is so that your RedBoard will be able to communicate with your computer. If you have Windows 8 or above you might already have the drivers. 1. Download the FTDI driver

More information

Basics before Migtrating to Arduino

Basics before Migtrating to Arduino Basics before Migtrating to Arduino Who is this for? Written by Storming Robots Last update: Oct 11 th, 2013 This document is meant for preparing students who have already good amount of programming knowledge,

More information

BEYOND TOYS. Wireless sensor extension pack. Tom Frissen s

BEYOND TOYS. Wireless sensor extension pack. Tom Frissen s LEGO BEYOND TOYS Wireless sensor extension pack Tom Frissen s040915 t.e.l.n.frissen@student.tue.nl December 2008 Faculty of Industrial Design Eindhoven University of Technology 1 2 TABLE OF CONTENT CLASS

More information

EGG 101L INTRODUCTION TO ENGINEERING EXPERIENCE

EGG 101L INTRODUCTION TO ENGINEERING EXPERIENCE EGG 101L INTRODUCTION TO ENGINEERING EXPERIENCE LABORATORY 7: IR SENSORS AND DISTANCE DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF NEVADA, LAS VEGAS GOAL: This section will introduce

More information

Lesson 13. The Big Idea: Lesson 13: Infrared Transmitters

Lesson 13. The Big Idea: Lesson 13: Infrared Transmitters Lesson Lesson : Infrared Transmitters The Big Idea: In Lesson 12 the ability to detect infrared radiation modulated at 38,000 Hertz was added to the Arduino. This lesson brings the ability to generate

More information

The Robot Builder's Shield for Arduino

The Robot Builder's Shield for Arduino The Robot Builder's Shield for Arduino by Ro-Bot-X Designs Introduction. The Robot Builder's Shield for Arduino was especially designed to make building robots with Arduino easy. The built in dual motors

More information

HAW-Arduino. Sensors and Arduino F. Schubert HAW - Arduino 1

HAW-Arduino. Sensors and Arduino F. Schubert HAW - Arduino 1 HAW-Arduino Sensors and Arduino 14.10.2010 F. Schubert HAW - Arduino 1 Content of the USB-Stick PDF-File of this script Arduino-software Source-codes Helpful links 14.10.2010 HAW - Arduino 2 Report for

More information

Lecture 6. Interfacing Digital and Analog Devices to Arduino. Intro to Arduino

Lecture 6. Interfacing Digital and Analog Devices to Arduino. Intro to Arduino Lecture 6 Interfacing Digital and Analog Devices to Arduino. Intro to Arduino PWR IN USB (to Computer) RESET SCL\SDA (I2C Bus) POWER 5V / 3.3V / GND Analog INPUTS Digital I\O PWM(3, 5, 6, 9, 10, 11) Components

More information

Arduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett

Arduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett Arduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett Anatomy of a Program Programs written for a microcontroller have a fairly repeatable format. Slight variations exist

More information

MICROCONTROLLERS BASIC INPUTS and OUTPUTS (I/O)

MICROCONTROLLERS BASIC INPUTS and OUTPUTS (I/O) PH-315 Portland State University MICROCONTROLLERS BASIC INPUTS and OUTPUTS (I/O) ABSTRACT A microcontroller is an integrated circuit containing a processor and programmable read-only memory, 1 which is

More information

TWEAK THE ARDUINO LOGO

TWEAK THE ARDUINO LOGO TWEAK THE ARDUINO LOGO Using serial communication, you'll use your Arduino to control a program on your computer Discover : serial communication with a computer program, Processing Time : 45 minutes Level

More information

ABCs of Arduino. Kurt Turchan -

ABCs of Arduino. Kurt Turchan - ABCs of Arduino Kurt Turchan - kurt@trailpeak.com Bio: Kurt is a web designer (java/php/ui-jquery), project manager, instructor (PHP/HTML/...), and arduino enthusiast, Kurt is founder of www.trailpeak.com

More information

Total Hours Registration through Website or for further details please visit (Refer Upcoming Events Section)

Total Hours Registration through Website or for further details please visit   (Refer Upcoming Events Section) Total Hours 110-150 Registration Q R Code Registration through Website or for further details please visit http://www.rknec.edu/ (Refer Upcoming Events Section) Module 1: Basics of Microprocessor & Microcontroller

More information

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. S4A - Scratch for Arduino Workbook

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. S4A - Scratch for Arduino Workbook Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl S4A - Scratch for Arduino Workbook 1) Robotics Draw a robot. Consider the following and annotate: What will it look like? What will it do? How will you

More information

Arduino STEAM Academy Arduino STEM Academy Art without Engineering is dreaming. Engineering without Art is calculating. - Steven K.

Arduino STEAM Academy Arduino STEM Academy Art without Engineering is dreaming. Engineering without Art is calculating. - Steven K. Arduino STEAM Academy Arduino STEM Academy Art without Engineering is dreaming. Engineering without Art is calculating. - Steven K. Roberts Page 1 See Appendix A, for Licensing Attribution information

More information

Disclaimer. Arduino Hands-On 2 CS5968 / ART4455 9/1/10. ! Many of these slides are mine. ! But, some are stolen from various places on the web

Disclaimer. Arduino Hands-On 2 CS5968 / ART4455 9/1/10. ! Many of these slides are mine. ! But, some are stolen from various places on the web Arduino Hands-On 2 CS5968 / ART4455 Disclaimer! Many of these slides are mine! But, some are stolen from various places on the web! todbot.com Bionic Arduino and Spooky Arduino class notes from Tod E.Kurt!

More information

Intelligent Systems Design in a Non Engineering Curriculum. Embedded Systems Without Major Hardware Engineering

Intelligent Systems Design in a Non Engineering Curriculum. Embedded Systems Without Major Hardware Engineering Intelligent Systems Design in a Non Engineering Curriculum Embedded Systems Without Major Hardware Engineering Emily A. Brand Dept. of Computer Science Loyola University Chicago eabrand@gmail.com William

More information

Lab 2: Blinkie Lab. Objectives. Materials. Theory

Lab 2: Blinkie Lab. Objectives. Materials. Theory Lab 2: Blinkie Lab Objectives This lab introduces the Arduino Uno as students will need to use the Arduino to control their final robot. Students will build a basic circuit on their prototyping board and

More information

Arduino An Introduction

Arduino An Introduction Arduino An Introduction Hardware and Programming Presented by Madu Suthanan, P. Eng., FEC. Volunteer, Former Chair (2013-14) PEO Scarborough Chapter 2 Arduino for Mechatronics 2017 This note is for those

More information

Application Note AN 102: Arduino I2C Interface to K 30 Sensor

Application Note AN 102: Arduino I2C Interface to K 30 Sensor Application Note AN 102: Arduino I2C Interface to K 30 Sensor Introduction The Arduino UNO, MEGA 1280 or MEGA 2560 are ideal microcontrollers for operating SenseAir s K 30 CO2 sensor. The connection to

More information

Application Note AN 157: Arduino UART Interface to TelAire T6613 CO2 Sensor

Application Note AN 157: Arduino UART Interface to TelAire T6613 CO2 Sensor Application Note AN 157: Arduino UART Interface to TelAire T6613 CO2 Sensor Introduction The Arduino UNO, Mega and Mega 2560 are ideal microcontrollers for reading CO2 sensors. Arduino boards are useful

More information

1. Introduction to Analog I/O

1. Introduction to Analog I/O EduCake Analog I/O Intro 1. Introduction to Analog I/O In previous chapter, we introduced the 86Duino EduCake, talked about EduCake s I/O features and specification, the development IDE and multiple examples

More information

Arduino Lesson 1. Blink. Created by Simon Monk

Arduino Lesson 1. Blink. Created by Simon Monk Arduino Lesson 1. Blink Created by Simon Monk Guide Contents Guide Contents Overview Parts Part Qty The 'L' LED Loading the 'Blink' Example Saving a Copy of 'Blink' Uploading Blink to the Board How 'Blink'

More information

Megamark Arduino Library Documentation

Megamark Arduino Library Documentation Megamark Arduino Library Documentation The Choitek Megamark is an advanced full-size multipurpose mobile manipulator robotics platform for students, artists, educators and researchers alike. In our mission

More information

CURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet

CURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet Lab : Computer Engineering Software Perspective Sign-Off Sheet NAME: NAME: DATE: Sign-Off Milestone TA Initials Part 1.A Part 1.B Part.A Part.B Part.C Part 3.A Part 3.B Part 3.C Test Simple Addition Program

More information

MICROCONTROLLERS BASIC INPUTS and OUTPUTS (I/O)

MICROCONTROLLERS BASIC INPUTS and OUTPUTS (I/O) PH-315 Portland State University MICROCONTROLLERS BASIC INPUTS and OUTPUTS (I/O) ABSTRACT A microcontroller is an integrated circuit containing a processor and programmable read-only memory, 1 which is

More information

Attribution Thank you to Arduino and SparkFun for open source access to reference materials.

Attribution Thank you to Arduino and SparkFun for open source access to reference materials. Attribution Thank you to Arduino and SparkFun for open source access to reference materials. Contents Parts Reference... 1 Installing Arduino... 7 Unit 1: LEDs, Resistors, & Buttons... 7 1.1 Blink (Hello

More information

Lesson 3: Arduino. Goals

Lesson 3: Arduino. Goals Introduction: This project introduces you to the wonderful world of Arduino and how to program physical devices. In this lesson you will learn how to write code and make an LED flash. Goals 1 - Get to

More information

The µbotino Microcontroller Board

The µbotino Microcontroller Board The µbotino Microcontroller Board by Ro-Bot-X Designs Introduction. The µbotino Microcontroller Board is an Arduino compatible board for small robots. The 5x5cm (2x2 ) size and the built in 3 pin connectors

More information

The Motor sketch. One Direction ON-OFF DC Motor

The Motor sketch. One Direction ON-OFF DC Motor One Direction ON-OFF DC Motor The DC motor in your Arduino kit is the most basic of electric motors and is used in all types of hobby electronics. When current is passed through, it spins continuously

More information

Rodni What will yours be?

Rodni What will yours be? Rodni What will yours be? version 4 Welcome to Rodni, a modular animatronic animal of your own creation for learning how easy it is to enter the world of software programming and micro controllers. During

More information

Arduino Control of Tetrix Prizm Robotics. Motors and Servos Introduction to Robotics and Engineering Marist School

Arduino Control of Tetrix Prizm Robotics. Motors and Servos Introduction to Robotics and Engineering Marist School Arduino Control of Tetrix Prizm Robotics Motors and Servos Introduction to Robotics and Engineering Marist School Motor or Servo? Motor Faster revolution but less Power Tetrix 12 Volt DC motors have a

More information

Figure 1. Digilent DC Motor

Figure 1. Digilent DC Motor Laboratory 9 - Usage of DC- and servo-motors The current laboratory describes the usage of DC and servomotors 1. DC motors Figure 1. Digilent DC Motor Classical DC motors are converting electrical energy

More information

Arduino Sensor Beginners Guide

Arduino Sensor Beginners Guide Arduino Sensor Beginners Guide So you want to learn arduino. Good for you. Arduino is an easy to use, cheap, versatile and powerful tool that can be used to make some very effective sensors. This guide

More information

WifiBotics. An Arduino Based Robotics Workshop

WifiBotics. An Arduino Based Robotics Workshop WifiBotics An Arduino Based Robotics Workshop WifiBotics is the workshop designed by RoboKart group pioneers in this field way back in 2014 and copied by many competitors. This workshop is based on the

More information

PLAN DE FORMACIÓN EN LENGUAS EXTRANJERAS IN-57 Technology for ESO: Contents and Strategies

PLAN DE FORMACIÓN EN LENGUAS EXTRANJERAS IN-57 Technology for ESO: Contents and Strategies Lesson Plan: Traffic light with Arduino using code, S4A and Ardublock Course 3rd ESO Technology, Programming and Robotic David Lobo Martínez David Lobo Martínez 1 1. TOPIC Arduino is an open source hardware

More information

Arduino and Servo Motor

Arduino and Servo Motor Arduino and Servo Motor 1. Basics of the Arduino Board and Arduino a. Arduino is a mini computer that can input and output data using the digital and analog pins b. Arduino Shield: mounts on top of Arduino

More information

NAMASKAR ROBOT-WHICH PROVIDES SERVICE

NAMASKAR ROBOT-WHICH PROVIDES SERVICE Int. J. Elec&Electr.Eng&Telecoms. 2014 V Sai Krishna and R Sunitha, 2014 Research Paper ISSN 2319 2518 www.ijeetc.com Vol. 3, No. 1, January 2014 2014 IJEETC. All Rights Reserved NAMASKAR ROBOT-WHICH PROVIDES

More information

DASL 120 Introduction to Microcontrollers

DASL 120 Introduction to Microcontrollers DASL 120 Introduction to Microcontrollers Lecture 2 Introduction to 8-bit Microcontrollers Introduction to 8-bit Microcontrollers Introduction to 8-bit Microcontrollers Introduction to Atmel Atmega328

More information

Servomotor Control with Arduino Integrated Development Environment. Application Notes. Bingyang Wu Mar 27, Introduction

Servomotor Control with Arduino Integrated Development Environment. Application Notes. Bingyang Wu Mar 27, Introduction Servomotor Control with Arduino Integrated Development Environment Application Notes Bingyang Wu Mar 27, 2015 Introduction Arduino is a tool for making computers that can sense and control more of the

More information

VOICE CONTROLLED ROBOT WITH REAL TIME BARRIER DETECTION AND AVERTING

VOICE CONTROLLED ROBOT WITH REAL TIME BARRIER DETECTION AND AVERTING VOICE CONTROLLED ROBOT WITH REAL TIME BARRIER DETECTION AND AVERTING P.NARENDRA ILAYA PALLAVAN 1, S.HARISH 2, C.DHACHINAMOORTHI 3 1Assistant Professor, EIE Department, Bannari Amman Institute of Technology,

More information

Welcome to Arduino Day 2016

Welcome to Arduino Day 2016 Welcome to Arduino Day 2016 An Intro to Arduino From Zero to Hero in an Hour! Paul Court (aka @Courty) Welcome to the SLMS Arduino Day 2016 Arduino / Genuino?! What?? Part 1 Intro Quick Look at the Uno

More information

A servo is an electric motor that takes in a pulse width modulated signal that controls direction and speed. A servo has three leads:

A servo is an electric motor that takes in a pulse width modulated signal that controls direction and speed. A servo has three leads: Project 4: Arduino Servos Part 1 Description: A servo is an electric motor that takes in a pulse width modulated signal that controls direction and speed. A servo has three leads: a. Red: Current b. Black:

More information

2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control. October 5, 2009 Dr. Harrison H. Chin

2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control. October 5, 2009 Dr. Harrison H. Chin 2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control October 5, 2009 Dr. Harrison H. Chin Formal Labs 1. Microcontrollers Introduction to microcontrollers Arduino microcontroller

More information

Adafruit 16-Channel Servo Driver with Arduino

Adafruit 16-Channel Servo Driver with Arduino Adafruit 16-Channel Servo Driver with Arduino Created by Bill Earl Last updated on 2015-09-29 06:19:37 PM EDT Guide Contents Guide Contents Overview Assembly Install the Servo Headers Solder all pins Add

More information

Monitoring Temperature using LM35 and Arduino UNO

Monitoring Temperature using LM35 and Arduino UNO Sharif University of Technology Microprocessor Arduino UNO Project Monitoring Temperature using LM35 and Arduino UNO Authors: Sadegh Saberian 92106226 Armin Vakil 92110419 Ainaz Hajimoradlou 92106142 Supervisor:

More information

Adafruit 16-Channel PWM/Servo HAT & Bonnet for Raspberry Pi

Adafruit 16-Channel PWM/Servo HAT & Bonnet for Raspberry Pi Adafruit 16-Channel PWM/Servo HAT & Bonnet for Raspberry Pi Created by lady ada Last updated on 2018-03-21 09:56:10 PM UTC Guide Contents Guide Contents Overview Powering Servos Powering Servos / PWM OR

More information

Arduino Advanced Projects

Arduino Advanced Projects Arduino Advanced Projects Created as a companion manual to the Toronto Public Library Arduino Kits. Arduino Advanced Projects Copyright 2017 Toronto Public Library. All rights reserved. Published by the

More information

4WD Mobile Platform SKU:ROB0022

4WD Mobile Platform SKU:ROB0022 4WD Mobile Platform SKU:ROB0022 Contents [hide] 1 Function Introduction 1.1 STEP1: Assemble Robot 1.2 STEP2: Debug Motor 1.3 STEP3:Install Upper Plate 1.4 STEP4: Debug Ultrasonic Sensor and Servo 1.5 STEP5:

More information

RC-WIFI CONTROLLER USER MANUAL

RC-WIFI CONTROLLER USER MANUAL RC-WIFI CONTROLLER USER MANUAL In the rapidly growing Internet of Things (IoT), applications from personal electronics to industrial machines and sensors are getting wirelessly connected to the Internet.

More information

Sten BOT Robot Kit 1 Stensat Group LLC, Copyright 2016

Sten BOT Robot Kit 1 Stensat Group LLC, Copyright 2016 StenBOT Robot Kit Stensat Group LLC, Copyright 2016 1 Legal Stuff Stensat Group LLC assumes no responsibility and/or liability for the use of the kit and documentation. There is a 90 day warranty for the

More information

CONSTRUCTION GUIDE Light Robot. Robobox. Level VI

CONSTRUCTION GUIDE Light Robot. Robobox. Level VI CONSTRUCTION GUIDE Light Robot Robobox Level VI The Light In this box dedicated to light we will discover, through 3 projects, how light can be used in our robots. First we will see how to insert headlights

More information

Adafruit 16-Channel PWM/Servo HAT for Raspberry Pi

Adafruit 16-Channel PWM/Servo HAT for Raspberry Pi Adafruit 16-Channel PWM/Servo HAT for Raspberry Pi Created by lady ada Last updated on 2017-05-19 08:55:07 PM UTC Guide Contents Guide Contents Overview Powering Servos Powering Servos / PWM OR Current

More information

Project Proposal. Underwater Fish 02/16/2007 Nathan Smith,

Project Proposal. Underwater Fish 02/16/2007 Nathan Smith, Project Proposal Underwater Fish 02/16/2007 Nathan Smith, rahteski@gwu.edu Abstract The purpose of this project is to build a mechanical, underwater fish that can be controlled by a joystick. The fish

More information

Interface H-bridge to Microcontroller, Battery Power and Gearbox to H-bridge Last Updated September 28, Background

Interface H-bridge to Microcontroller, Battery Power and Gearbox to H-bridge Last Updated September 28, Background 1 ME313 Project Assignment #2 Interface H-bridge to Microcontroller, Battery Power and Gearbox to H-bridge Last Updated September 28, 2015. Background The objective of the ME313 project is to fabricate

More information

Programming 2 Servos. Learn to connect and write code to control two servos.

Programming 2 Servos. Learn to connect and write code to control two servos. Programming 2 Servos Learn to connect and write code to control two servos. Many students who visit the lab and learn how to use a Servo want to use 2 Servos in their project rather than just 1. This lesson

More information

Experiment 4.B. Position Control. ECEN 2270 Electronics Design Laboratory 1

Experiment 4.B. Position Control. ECEN 2270 Electronics Design Laboratory 1 Experiment 4.B Position Control Electronics Design Laboratory 1 Procedures 4.B.1 4.B.2 4.B.3 4.B.4 Read Encoder with Arduino Position Control by Counting Encoder Pulses Demo Setup Extra Credit Electronics

More information

Lesson 2 Bluetooth Car

Lesson 2 Bluetooth Car Lesson 2 Bluetooth Car Points of this section It is very important and so cool to control your car wirelessly in a certain space when we learn the Arduino, so in the lesson, we will teach you how to control

More information

INTRODUCTION to MICRO-CONTROLLERS

INTRODUCTION to MICRO-CONTROLLERS PH-315 Portland State University INTRODUCTION to MICRO-CONTROLLERS Bret Comnes, Dan Lankow, and Andres La Rosa 1. ABSTRACT A microcontroller is an integrated circuit containing a processor and programmable

More information

keyestudio keyestudio Mini Tank Robot

keyestudio keyestudio Mini Tank Robot keyestudio Mini Tank Robot Catalog 1. Introduction... 1 2. Parameters... 1 3. Component list... 1 4. Application of Arduino... 2 5. Project details... 12 Project 1: Obstacle-avoidance Tank... 12 Project

More information

Introduction to Mechatronics Programming a robot

Introduction to Mechatronics Programming a robot Introduction to Mechatronics Programming a robot Lecturer Filippo Sanfilippo Faculty of Aalesund University College, Norway @fisa Filippo Sanfilippo 1 Filippo Sanfilippo 2 Content of today s lecture! Programming

More information

Parts List. Robotic Arm segments ¼ inch screws Cable XBEE module or Wifi module

Parts List. Robotic Arm segments ¼ inch screws Cable XBEE module or Wifi module Robotic Arm 1 Legal Stuff Stensat Group LLC assumes no responsibility and/or liability for the use of the kit and documentation. There is a 90 day warranty for the Sten-Bot kit against component defects.

More information

Arduino

Arduino Arduino Class Kit Contents A Word on Safety Electronics can hurt you Lead in some of the parts Wash up afterwards You can hurt electronics Static-sensitive: don t shuffle your feet & touch Wires only

More information

CONSTRUCTION GUIDE IR Alarm. Robobox. Level I

CONSTRUCTION GUIDE IR Alarm. Robobox. Level I CONSTRUCTION GUIDE Robobox Level I This month s montage is an that will allow you to detect any intruder. When a movement is detected, the alarm will turn its LEDs on and buzz to a personalized tune. 1X

More information

Adafruit 16-Channel Servo Driver with Arduino

Adafruit 16-Channel Servo Driver with Arduino Adafruit 16-Channel Servo Driver with Arduino Created by Bill Earl Last updated on 2017-11-26 09:41:23 PM UTC Guide Contents Guide Contents Overview Assembly Install the Servo Headers Solder all pins Add

More information

LESSONS Lesson 1. Microcontrollers and SBCs. The Big Idea: Lesson 1: Microcontrollers and SBCs. Background: What, precisely, is computer science?

LESSONS Lesson 1. Microcontrollers and SBCs. The Big Idea: Lesson 1: Microcontrollers and SBCs. Background: What, precisely, is computer science? LESSONS Lesson Lesson : Microcontrollers and SBCs Microcontrollers and SBCs The Big Idea: This book is about computer science. It is not about the Arduino, the C programming language, electronic components,

More information

1. Controlling the DC Motors

1. Controlling the DC Motors E11: Autonomous Vehicles Lab 5: Motors and Sensors By this point, you should have an assembled robot and Mudduino to power it. Let s get things moving! In this lab, you will write code to test your motors

More information

Advanced Mechatronics 1 st Mini Project. Remote Control Car. Jose Antonio De Gracia Gómez, Amartya Barua March, 25 th 2014

Advanced Mechatronics 1 st Mini Project. Remote Control Car. Jose Antonio De Gracia Gómez, Amartya Barua March, 25 th 2014 Advanced Mechatronics 1 st Mini Project Remote Control Car Jose Antonio De Gracia Gómez, Amartya Barua March, 25 th 2014 Remote Control Car Manual Control with the remote and direction buttons Automatic

More information

About Arduino: About keyestudio:

About Arduino: About keyestudio: About Arduino: Arduino is an open-source hardware project platform. This platform includes a circuit board with simple I/O function and program development environment software. It can be used to develop

More information

Understanding the Arduino to LabVIEW Interface

Understanding the Arduino to LabVIEW Interface E-122 Design II Understanding the Arduino to LabVIEW Interface Overview The Arduino microcontroller introduced in Design I will be used as a LabVIEW data acquisition (DAQ) device/controller for Experiments

More information

Introduction. 1 of 44

Introduction. 1 of 44 Introduction I set out to create this robot kit to give teachers, students, and hobbyists an affordable way to start learning and sharing robotics in their community. Most robotics kits that have the same

More information

INTRODUCTION to MICRO-CONTROLLERS

INTRODUCTION to MICRO-CONTROLLERS PH-315 Portland State University INTRODUCTION to MICRO-CONTROLLERS Bret Comnes, Dan Lankow, and Andres La Rosa 1. ABSTRACT A microcontroller is an integrated circuit containing a processor and programmable

More information

Written by Hans Summers Wednesday, 15 November :53 - Last Updated Wednesday, 15 November :07

Written by Hans Summers Wednesday, 15 November :53 - Last Updated Wednesday, 15 November :07 This is a phantastron divider based on the HP522 frequency counter circuit diagram. The input is a 2100Hz 15V peak-peak signal from my 2.1kHz oscillator project. Please take a look at the crystal oscillator

More information

URM37 V3.2 Ultrasonic Sensor (SKU:SEN0001)

URM37 V3.2 Ultrasonic Sensor (SKU:SEN0001) URM37 V3.2 Ultrasonic Sensor (SKU:SEN0001) From Robot Wiki Contents 1 Introduction 2 Specification 2.1 Compare with other ultrasonic sensor 3 Hardware requierments 4 Tools used 5 Software 6 Working Mode

More information

Arduino DC Motor Control Tutorial L298N PWM H-Bridge

Arduino DC Motor Control Tutorial L298N PWM H-Bridge Arduino DC Motor Control Tutorial L298N PWM H-Bridge In this Arduino Tutorial we will learn how to control DC motors using Arduino. We well take a look at some basic techniques for controlling DC motors

More information

Adafruit 16-channel PWM/Servo Shield

Adafruit 16-channel PWM/Servo Shield Adafruit 16-channel PWM/Servo Shield Created by lady ada Last updated on 2018-08-22 03:36:11 PM UTC Guide Contents Guide Contents Overview Assembly Shield Connections Pins Used Connecting other I2C devices

More information

Touch Potentiometer Hookup Guide

Touch Potentiometer Hookup Guide Page 1 of 14 Touch Potentiometer Hookup Guide Introduction The Touch Potentiometer, or Touch Pot for short, is an intelligent, linear capacitive touch sensor that implements potentiometer functionality

More information

INTRODUCTION to MICRO-CONTROLLERS

INTRODUCTION to MICRO-CONTROLLERS PH-315 Portland State University INTRODUCTION to MICRO-CONTROLLERS Bret Comnes and A. La Rosa 1. ABSTRACT This laboratory session pursues getting familiar with the operation of microcontrollers, namely

More information

APDS-9960 RGB and Gesture Sensor Hookup Guide

APDS-9960 RGB and Gesture Sensor Hookup Guide Page 1 of 12 APDS-9960 RGB and Gesture Sensor Hookup Guide Introduction Touchless gestures are the new frontier in the world of human-machine interfaces. By swiping your hand over a sensor, you can control

More information