Introduction to Arduino Programming. Sistemi Real-Time Prof. Davide Brugali Università degli Studi di Bergamo

Size: px
Start display at page:

Download "Introduction to Arduino Programming. Sistemi Real-Time Prof. Davide Brugali Università degli Studi di Bergamo"

Transcription

1 Introduction to Arduino Programming Sistemi Real-Time Prof. Davide Brugali Università degli Studi di Bergamo

2 What is a Microcontroller A small computer on a single chip containing a processor, memory, and input/output Typically "embedded" inside some device that they control A microcontroller is often small and low cost 2

3 The Atmel ARV Atmega 328 Microcontroller 3

4 The Arduino Development Board PWR IN USB (to Computer) A printed circuit board designed to facilitate work with a particular microcontroller. RESET I2C Bus POWER 5V / 3.3V / GND Analog INPUTS Digital I\O PWM(3, 5, 6, 9, 10, 11) 4

5 Integrated Development Environment (Arduino-IDE) 5

6 Settings: Tools Serial Port Your computer communicates to the Arduino microcontroller via a serial port through a USB-Serial adapter. Check to make sure that the drivers are properly installed. 6

7 Settings: Tools Board Double-check that the proper board is selected under the Tools Board menu. 7

8 8

9 Using Arduino Write your sketch Press Compile button Press Upload button to transfer the program to the Arduino board The program starts right after 9

10 Using Serial Communication Data passes between the computer and Arduino through the USB cable or XBee radio modules. 10

11 Using Serial Communication 11 Serial.begin(9600); byte rx_data; void setup() { Serial.begin(9600); // data rate [baud] void loop() { if(serial.available()) { rx_data = Serial.read(); if(rx_data == 'q') Serial.println("1"); else if(rx_data == 'w') Serial.println("2"); else Serial.println("0");

12 Digital Input : Button Sensor int pinnumber = 9; // # 0-13 int buttonstate; void setup() { Serial.begin(9600); pinmode(pinnumber, INPUT); void loop() { buttonstate = digitalread (pinnumber); if(buttonstate == HIGH) Serial.println("1"); else Serial.println("0"); 12

13 Analog Input : Potentiometer fixed end wiper fixed end Arduino uses a 10-bit A/D Converter: this means that you get input values from 0 to V 0 5 V

14 Analog Input : Potentiometer Serial.begin(9600); int pinnumber = 9; // # 0-13 int sensorvalue; // data rate [baud] void setup() { Serial.begin(9600); pinmode(pinnumber, INPUT); void loop() { sensorvalue = analogread(pinnumber); Serial.println(sensorValue); 14

15 Analog Sensors Sensors Mic Photoresistor Potentiometer Temp Sensor Flex Sensor Accelerometer Variables soundvolume lightlevel dialposition temperature bend tilt/acceleration 15

16 Digital Output: LED Serial.begin(9600); // data rate [baud] int pinnumber = 13; // # 0-13 int sensorvalue; void setup() { Serial.begin(9600); pinmode(pinnumber, OUTPUT); void loop() { digitalwrite(pinnumber, HIGH); delay(1000); digitalwrite(pinnumber, LOW); delay(1000); 16

17 Analog output : Controlling the Brightness Switch the LED pin to #9 pinnumber = 9; analogwrite(pinnumber, value); value is between 0 (0 volts) and 255 (5 volts) Remember that the Arduino is a digital machine. It can only deal with analog via special tricks. analogwrite (pin, value) - turns the pin ON and OFF very quickly which makes it act like an analog signal. 17

18 Arduino Timing delay(ms) Pauses for a few milliseconds delaymicroseconds(us) Pauses for a few microseconds 18

19 Periodic tasks : Blinking leds Make blinking three different leds, each one at a different frequency Led1: every 3s Led2: every 7s Led3: every 11s 19

20 Blinking leds version 1 int led1 = 13; int led2 = 14; int led3 = 15; // pin numbers int count = 0; void setup() { pinmode(led1, OUTPUT); pinmode(led2, OUTPUT); pinmode(led3, OUTPUT); 20 void loop() { if(count%3 == 0) digitaltoggle(led1); if(count%7 == 0) digitaltoggle(led2); if(count%11 == 0) digitaltoggle(led3); count++; if(count == 3*7*11) count = 0; delay(1000);

21 Blinking leds version 2 21 void loop() { c = 0; if(count%3 == 0) { digitalwrite(led1, HIGH); delay(100); c += 100; digitalwrite(led1, LOW); if(count%7 == 0) { digitalwrite(led2, HIGH); delay(200); c += 200; digitalwrite(led2, LOW); if(count%11 == 0) { digitalwrite(led3, HIGH); delay(300); c += 300; digitalwrite(led3, LOW); count++; if(count == 3*7*11) count = 0; delay(1000-c);

22 Blinking leds version 2 0s 1s 2s 3s 4s 5s 6s 7s 8s 9s 10s 11s 12s 13s HIGH LOW HIGH LOW HIGH LOW 0s 1s Led 1 Led 2 Led 3 22

23 Blinking leds version 3 HIGH LOW LOW LOW 0s 1s Led 1 Led 2 Led 3 23

24 Blinking leds version 3 void loop() { c1 = 0; c2 = 0; c3 = 0; d1 = 0; d2 = 0; d3 = 0; if(count%3 == 0) { c1 = 100; digitalwrite(led1, HIGH); if(count%7 == 0) { c2 = 200; digitalwrite(led2, HIGH); if(count%11 == 0) { c3 = 300; digitalwrite(led3, HIGH); 24 if(count%3 == 0) { d1 = c1; delay(d1); digitalwrite(led1, LOW); if(count%7 == 0) { d2 = c2-d1; delay(d2); digitalwrite(led2, LOW); if(count%11 == 0) { d3 = c3 d2 d1; delay(d3); digitalwrite(led3, LOW); count++; if(count == 3*7*11) count = 0; delay(1000-c1-c2-c3);

25 Robot BART Motors with Encoders SONAR sensors Radio module Line color sensor 25

26 Robot BART Power connector 26

27 Robot BART USB 27

28 Motor shield MD25 E 1 MOTOR 1 E 2 MOTOR 2 28

29 Motor speed feedback control speed position current Processor PWM H-BRIDGE circuit current Motor 1 bit tick Encoder 29

30 PWM motor control The speed of a DC motor is directly proportional to the supply voltage, so if we reduce the supply voltage from 12 Volts to 6 Volts, the motor will run at half the speed. How can this be achieved when the battery is fixed at 12 Volts? The speed controller works by varying the average voltage sent to the motor. It could do this by simply adjusting the voltage sent to the motor, but this is quite inefficient to do. A better way is to switch the motor's supply on and off very quickly. If the switching is fast enough, the motor doesn't notice it, it only notices the average effect. 30

31 Duty cycle desireddutycycle = 40 % 200µs % 0 20 ms setduty(); resetduty(); 31

32 encoder A B 32

33 class MD25Driver class MD25Driver { public: MD25Driver(); // -128:backward full speed 0:STOP 127:forward full speed void setspeed_l(int speed); void setspeed_r(int speed); void stopmotors(); // stop the motors long readencoder_l(); long readencoder_r(); void encoderreset(); // reset the encoder values to 0 ; bool rotate( int angle); // angle [deg] + clockwise - counter-clockwise bool move( int distance); // distance [cm] + forward - backward void motionreset(); 33

34 Line Finder 34

35 Line Finder // When digital signal is HIGH, black line // When digital signal is LOW, white line int leftpin = 6; // left sensor connected to digital pin 6 int rightpin = 8; // right sensor connected to digital pin 8 void setup() { pinmode(leftpin, INPUT); pinmode(rightpin, INPUT); Serial.begin(9600); void loop() { if(high == digitalread(leftpin)) Serial.println( Left black"); else Serial.println( Left white"); delay(200); 35

36 Line following 36

37 Line following? 37

38 Line Following : loop() int dx, sx; // valori dei sensori di luminosità destro e sinistro int WHITE = LOW; int BLACK= HIGH; void loop() { seguilinea(); delay(200); 38

39 Line Following: seguilinea() void seguilinea() { dx = digitalread(rightpin); sx = digitalread(leftpin); 39 if (dx == WHITE && sx == WHITE) { motore.setspeed_l(20); motore.setspeed_r(20); else if (dx == BLACK && sx == WHITE) { motore.setspeed_l(20); motore.setspeed_r(-12); else if (dx == WHITE && sx == BLACK ) { motore.setspeed_l(-12); motore.setspeed_r(20); else {?

40 Line following? Attenzione alla frequenza con cui vengono letti i sensori (valore di delay) e alla velocità del robot. 40

41 Line following Attenzione alla frequenza con cui vengono letti i sensori (valore di delay) e alla velocità del robot. 41

42 Line Following Punto di partenza 42

43 Ultrasonic sensor The ping sound pulse is generated when the pingpin level goes HIGH for two microseconds. The sensor will then generate a pulse that terminates when the sound returns. The width of the pulse is proportional to the distance the sound traveled The speed of sound is 340 meters per second, which is 29 microseconds per centimeter. The formula for the distance of the round trip is: RoundTrip = microseconds / 29 43

44 Ultrasonic sensor 44

45 class Ultrasonic class Ultrasonic { public: Ultrasonic(int pin1, int pin2); ; long ranging(); 45

46 Sonar Example #include "Ultrasonic.h" Ultrasonic left_sonar(3, 2); // left sonar connected to digital pin 3 and 2 Ultrasonic right_sonar(5, 4); // right sonar connected to digital pin 5 and 4 int d_dx, d_sx; // distances measured by the sonar sensors void setup() { Serial.begin(9600); void loop() { d_sx=left_sonar.ranging(cm); Serial.print("LX: "); Serial.print(d_sx); d_dx=right_sonar.ranging(cm); Serial.print(" RX: "); Serial.println(d_dx); delay(1000); 46

47 Obstacle Avoidance Segui linea Segui linea Aggira ostacolo Obstacle Aggira ostacolo Aggira ostacolo Aggira ostacolo Segui linea 47

48 Line Following: macchina a stati Segui linea Strada libera Strada libera Ostacolo Aggira ostacolo Ostacolo 48

49 Line Following : macchina a stati 49 int d_dx, d_sx; // distanze misurate dai sensori int stato = 1; bool ostacolo; bool linea; void loop() { d_sx=left_sonar.ranging(cm); d_dx=right_sonar.ranging(cm); switch(stato) { case 1 : // segui linea if( d_sx > 0 d_dx > 0) : // trovato ostacolo ostacolo = true ; stato = 2; else seguilinea(ldx, Lsx); break; case 2 : // aggira ostacolo if(! ostacolo ) stato = 1; else ostacolo = aggiraostacolo(d_sx, d_dx); break; delay(200);

50 Obstacle Avoidance: aggiraostacolo() void aggiraostacolo(int d_sx, int d_dx) { if (d_sx > 20 && d_dx <= 20) { motore.setspeed_l(10); motore.setspeed_r(30); else if ( ) { motore.setspeed_l( ); motore.setspeed_r( ); else {? 50

51 Arena del progetto 51

Arduino - BART. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Arduino - BART. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo Arduino - BART Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo The Arduino Development Board PWR IN USB (to Computer) A printed circuit board designed to facilitate work with a

More information

Software Driver for Differential Drive Rovers. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Software Driver for Differential Drive Rovers. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo Software Driver for Differential Drive Rovers Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo Robot BART Motors with Encoders SONAR sensors Radio module Line color sensor 2 UNIBG

More information

Intro to Arduino. Zero to Prototyping in a Flash! Material designed by Linz Craig and Brian Huang

Intro to Arduino. Zero to Prototyping in a Flash! Material designed by Linz Craig and Brian Huang Intro to Arduino Zero to Prototyping in a Flash! Material designed by Linz Craig and Brian Huang Overview of Class Getting Started: Installation, Applications and Materials Electrical: Components, Ohm's

More information

Robotics/Electronics Review for the Final Exam

Robotics/Electronics Review for the Final Exam Robotics/Electronics Review for the Final Exam Unit 1 Review. 1. The battery is 12V, R1 is 400 ohms, and the current through R1 is 20 ma. How many ohms is R2? ohms What is the voltage drop across R1? V

More information

IME-100 ECE. Lab 4. Electrical and Computer Engineering Department Kettering University. G. Tewolde, IME100-ECE,

IME-100 ECE. Lab 4. Electrical and Computer Engineering Department Kettering University. G. Tewolde, IME100-ECE, IME-100 ECE Lab 4 Electrical and Computer Engineering Department Kettering University 4-1 1. Laboratory Computers Getting Started i. Log-in with User Name: Kettering Student (no password required) ii.

More information

Arduino Programming and Interfacing

Arduino Programming and Interfacing Arduino Programming and Interfacing Stensat Group LLC, Copyright 2017 1 Robotic Arm Experimenters Kit 2 Legal Stuff Stensat Group LLC assumes no responsibility and/or liability for the use of the kit and

More information

MAE106 Laboratory Exercises Lab # 1 - Laboratory tools

MAE106 Laboratory Exercises Lab # 1 - Laboratory tools MAE106 Laboratory Exercises Lab # 1 - Laboratory tools University of California, Irvine Department of Mechanical and Aerospace Engineering Goals To learn how to use the oscilloscope, function generator,

More information

Arduino - DigitalReadSerial

Arduino - DigitalReadSerial arduino.cc Arduino - DigitalReadSerial 5-6 minutes Digital Read Serial This example shows you how to monitor the state of a switch by establishing serial communication between your Arduino or Genuino and

More information

Prototyping & Engineering Electronics Kits Basic Kit Guide

Prototyping & Engineering Electronics Kits Basic Kit Guide Prototyping & Engineering Electronics Kits Basic Kit Guide odysseyboard.com Please refer to www.odysseyboard.com for a PDF updated version of this guide. Guide version 1.0, February, 2018. Copyright Odyssey

More information

OBSTACLE AVOIDANCE ROBOT

OBSTACLE AVOIDANCE ROBOT e-issn 2455 1392 Volume 3 Issue 4, April 2017 pp. 85 89 Scientific Journal Impact Factor : 3.468 http://www.ijcter.com OBSTACLE AVOIDANCE ROBOT Sanjay Jaiswal 1, Saurabh Kumar Singh 2, Rahul Kumar 3 1,2,3

More information

Arduino Prof. Dr. Magdy M. Abdelhameed

Arduino Prof. Dr. Magdy M. Abdelhameed Course Code: MDP 454, Course Name:, Second Semester 2014 Arduino What is Arduino? Microcontroller Platform Okay but what s a Microcontroller? Tiny, self-contained computers in an IC Often contain peripherals

More information

Arduino Uno Microcontroller Overview

Arduino Uno Microcontroller Overview Innovation Fellows Program Arduino Uno Microcontroller Overview, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota Arduino Uno Power & Interface Reset Button USB

More information

Introduction to Arduino

Introduction to Arduino Introduction to Arduino Paco Abad May 20 th, 2011 WGM #21 Outline What is Arduino? Where to start Types Shields Alternatives Know your board Installing and using the IDE Digital output Serial communication

More information

Introduction to Arduino. Wilson Wingston Sharon

Introduction to Arduino. Wilson Wingston Sharon Introduction to Arduino Wilson Wingston Sharon cto@workshopindia.com Physical computing Developing solutions that implement a software to interact with elements in the physical universe. 1. Sensors convert

More information

Note. The above image and many others are courtesy of - this is a wonderful resource for designing circuits.

Note. The above image and many others are courtesy of   - this is a wonderful resource for designing circuits. Robotics and Electronics Unit 2. Arduino Objectives. Students will understand the basic characteristics of an Arduino Uno microcontroller. understand the basic structure of an Arduino program. know how

More information

keyestudio Keyestudio MEGA 2560 R3 Board

keyestudio Keyestudio MEGA 2560 R3 Board Keyestudio MEGA 2560 R3 Board Introduction: Keyestudio Mega 2560 R3 is a microcontroller board based on the ATMEGA2560-16AU, fully compatible with ARDUINO MEGA 2560 REV3. It has 54 digital input/output

More information

Sten-SLATE ESP Kit. Description and Programming

Sten-SLATE ESP Kit. Description and Programming Sten-SLATE ESP Kit Description and Programming Stensat Group LLC, Copyright 2016 Overview In this section, you will be introduced to the processor board electronics and the arduino software. At the end

More information

More Arduino Programming

More Arduino Programming Introductory Medical Device Prototyping Arduino Part 2, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota More Arduino Programming Digital I/O (Read/Write) Analog

More information

Arduino Part 2. Introductory Medical Device Prototyping

Arduino Part 2. Introductory Medical Device Prototyping Introductory Medical Device Prototyping Arduino Part 2, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota More Arduino Programming Digital I/O (Read/Write) Analog

More information

Arduino Programming. Arduino UNO & Innoesys Educational Shield

Arduino Programming. Arduino UNO & Innoesys Educational Shield Arduino Programming Arduino UNO & Innoesys Educational Shield www.devobox.com Electronic Components & Prototyping Tools 79 Leandrou, 10443, Athens +30 210 51 55 513, info@devobox.com ARDUINO UNO... 3 INNOESYS

More information

University of Portland EE 271 Electrical Circuits Laboratory. Experiment: Arduino

University of Portland EE 271 Electrical Circuits Laboratory. Experiment: Arduino University of Portland EE 271 Electrical Circuits Laboratory Experiment: Arduino I. Objective The objective of this experiment is to learn how to use the Arduino microcontroller to monitor switches and

More information

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process Lab 01 Arduino 程式設計實驗 Essential Arduino Programming and Digital Signal Process Arduino Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's

More information

FIRE SENSOR ROBOT USING ATMEGA8L

FIRE SENSOR ROBOT USING ATMEGA8L PROJECT REPORT MICROCONTROLLER AND APPLICATIONS ECE 304 FIRE SENSOR ROBOT USING ATMEGA8L BY AKSHAY PATHAK (11BEC1104) SUBMITTED TO: PROF. VENKAT SUBRAMANIAN PRAKHAR SINGH (11BEC1108) PIYUSH BLAGGAN (11BEC1053)

More information

Arduino 101 AN INTRODUCTION TO ARDUINO BY WOMEN IN ENGINEERING FT T I NA A ND AW E S O ME ME NTO R S

Arduino 101 AN INTRODUCTION TO ARDUINO BY WOMEN IN ENGINEERING FT T I NA A ND AW E S O ME ME NTO R S Arduino 101 AN INTRODUCTION TO ARDUINO BY WOMEN IN ENGINEERING FT T I NA A ND AW E S O ME ME NTO R S Overview Motivation Circuit Design and Arduino Architecture Projects Blink the LED Switch Night Lamp

More information

How to Use an Arduino

How to Use an Arduino How to Use an Arduino By Vivian Law Introduction The first microcontroller, TMS-1802-NC, was built in 1971 by Texas Instruments. It owed its existence to the innovation and versatility of silicon and the

More information

BASIC ARDUINO WORKSHOP. Mr. Aldwin and Mr. Bernardo

BASIC ARDUINO WORKSHOP. Mr. Aldwin and Mr. Bernardo BASIC ARDUINO WORKSHOP Mr. Aldwin and Mr. Bernardo 1 BASIC ARDUINO WORKSHOP Course Goals Introduce Arduino Hardware and Understand Input Software and Output Create simple project 2 Arduino Open-source

More information

Procedure: Determine the polarity of the LED. Use the following image to help:

Procedure: Determine the polarity of the LED. Use the following image to help: Section 2: Lab Activity Section 2.1 Getting started: LED Blink Purpose: To understand how to upload a program to the Arduino and to understand the function of each line of code in a simple program. This

More information

USER MANUAL ARDUINO I/O EXPANSION SHIELD

USER MANUAL ARDUINO I/O EXPANSION SHIELD USER MANUAL ARDUINO I/O EXPANSION SHIELD Description: Sometimes Arduino Uno users run short of pins because there s a lot of projects that requires more than 20 signal pins. The only option they are left

More information

GUIDE TO SP STARTER SHIELD (V3.0)

GUIDE TO SP STARTER SHIELD (V3.0) OVERVIEW: The SP Starter shield provides a complete learning platform for beginners and newbies. The board is equipped with loads of sensors and components like relays, user button, LED, IR Remote and

More information

EXPERIMENT 7 Please visit https://www.arduino.cc/en/reference/homepage to learn all features of arduino before you start the experiments

EXPERIMENT 7 Please visit https://www.arduino.cc/en/reference/homepage to learn all features of arduino before you start the experiments EXPERIMENT 7 Please visit https://www.arduino.cc/en/reference/homepage to learn all features of arduino before you start the experiments TEMPERATURE MEASUREMENT AND CONTROL USING LM35 Purpose: To measure

More information

Chapter 2 The Basic Functions

Chapter 2 The Basic Functions Chapter 2 The Basic Functions 2.1 Overview The code you learn to write for your Arduino is very similar to the code you write in any other computer language. This implies that all the basic concepts remain

More information

ARDUINO. By Kiran Tiwari BCT 2072 CoTS.

ARDUINO. By Kiran Tiwari BCT 2072 CoTS. ARDUINO By Kiran Tiwari BCT 2072 CoTS www.kirantiwari.com.np SO What is an Arduino? WELL!! Arduino is an open-source prototyping platform based on easy-to-use hardware and software. Why Arduino? Simplifies

More information

User Guide v1.0. v1.0 Oct 1, This guide is only available in English Ce manuel est seulement disponible en Anglais

User Guide v1.0. v1.0 Oct 1, This guide is only available in English Ce manuel est seulement disponible en Anglais ROVER ShiELD User Guide v1.0 v1.0 Oct 1, 2014 This guide is only available in English Ce manuel est seulement disponible en Anglais Description The DFRobotShop Rover Shield is the ideal all in one shield

More information

Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas

Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas Physics 364 Arduino Lab 1 Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas Vithayathil/Kroll Introduction Last revised: 2014-11-12 This lab introduces you to an electronic development

More information

Controlling a fischertechnik Conveyor Belt with Arduino board

Controlling a fischertechnik Conveyor Belt with Arduino board EXPERIMENT TITLE: Controlling a fischertechnik Conveyor Belt with Arduino board PRODUCTS USED: CHALLENGE: AUTHOR: CREDITS: Interface and control a conveyor belt model (24 Volts, fischertechnik) with an

More information

SECOND EDITION. Arduino Cookbook. Michael Margolis O'REILLY- Tokyo. Farnham Koln Sebastopol. Cambridge. Beijing

SECOND EDITION. Arduino Cookbook. Michael Margolis O'REILLY- Tokyo. Farnham Koln Sebastopol. Cambridge. Beijing SECOND EDITION Arduino Cookbook Michael Margolis Beijing Cambridge Farnham Koln Sebastopol O'REILLY- Tokyo Table of Contents Preface xi 1. Getting Started 1 1.1 Installing the Integrated Development Environment

More information

Experiment 4.A. Speed and Position Control. ECEN 2270 Electronics Design Laboratory 1

Experiment 4.A. Speed and Position Control. ECEN 2270 Electronics Design Laboratory 1 .A Speed and Position Control Electronics Design Laboratory 1 Procedures 4.A.0 4.A.1 4.A.2 4.A.3 4.A.4 Turn in your Pre-Lab before doing anything else Speed controller for second wheel Test Arduino Connect

More information

Arduino Cookbook O'REILLY* Michael Margolis. Tokyo. Cambridge. Beijing. Farnham Koln Sebastopol

Arduino Cookbook O'REILLY* Michael Margolis. Tokyo. Cambridge. Beijing. Farnham Koln Sebastopol Arduino Cookbook Michael Margolis O'REILLY* Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Preface xiii 1. Getting Started 1 1.1 Installing the Integrated Development Environment (IDE)

More information

Electronic Brick Starter Kit

Electronic Brick Starter Kit Electronic Brick Starter Kit Getting Started Guide v1.0 by Introduction Hello and thank you for purchasing the Electronic Brick Starter Pack from Little Bird Electronics. We hope that you will find learning

More information

StenBOT Robot Kit. Stensat Group LLC, Copyright 2018

StenBOT Robot Kit. Stensat Group LLC, Copyright 2018 StenBOT Robot Kit 1 Stensat Group LLC, Copyright 2018 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

Autonomous, Surveillance Fire Extinguisher Robotic Vehicle with Obstacle Detection and Bypass using Arduino Microcontroller

Autonomous, Surveillance Fire Extinguisher Robotic Vehicle with Obstacle Detection and Bypass using Arduino Microcontroller Autonomous, Surveillance Fire Extinguisher Robotic Vehicle with Obstacle Detection and Bypass using Arduino Microcontroller Sumanta Chatterjee Asst. Professor JIS College of Engineering Kalyani, WB, India

More information

PROGRAMMING ARDUINO COURSE ON ADVANCED INTERACTION TECHNIQUES. Luís Carriço FCUL 2012/13

PROGRAMMING ARDUINO COURSE ON ADVANCED INTERACTION TECHNIQUES. Luís Carriço FCUL 2012/13 Sources: Arduino Hands-on Workshop, SITI, Universidad Lusófona Arduino Spooky projects Basic electronics, University Pennsylvania Beginning Arduino Programming Getting Started With Arduino COURSE ON ADVANCED

More information

DEV-1 HamStack Development Board

DEV-1 HamStack Development Board Sierra Radio Systems DEV-1 HamStack Development Board Reference Manual Version 1.0 Contents Introduction Hardware Compiler overview Program structure Code examples Sample projects For more information,

More information

Grove - Thumb Joystick

Grove - Thumb Joystick Grove - Thumb Joystick Introduction 3.3V 5.0V Analog Grove - Thumb Joystick is a Grove compatible module which is very similar to the analog joystick on PS2 (PlayStation 2) controllers. The X and Y axes

More information

Distributed Real- Time Control Systems. Lecture 3 Embedded Systems Interfacing the OuterWorld

Distributed Real- Time Control Systems. Lecture 3 Embedded Systems Interfacing the OuterWorld Distributed Real- Time Control Systems Lecture 3 Embedded Systems Interfacing the OuterWorld 1 Bibliography ATMEGA 328 Datasheet. arduino.cc Book: Arduino Cookbook, 2nd Ed. Michael Margolis O Reilly, 2012

More information

TABLE OF CONTENTS INTRODUCTION LESSONS PROJECTS

TABLE OF CONTENTS INTRODUCTION LESSONS PROJECTS TABLE OF CONTENTS INTRODUCTION Introduction to Components - Maker UNO 5 - Maker UNO Board 6 - Setting Up - Download Arduino IDE 7 - Install Maker UNO Drivers - Install Maker UNO Board Package 3 LESSONS.

More information

Lab-3: LCDs Serial Communication Analog Inputs Temperature Measurement System

Lab-3: LCDs Serial Communication Analog Inputs Temperature Measurement System Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-3: LCDs Serial Communication Analog Inputs Temperature Measurement System Ahmed Okasha okasha1st@gmail.com

More information

ROBOTLINKING THE POWER SUPPLY LEARNING KIT TUTORIAL

ROBOTLINKING THE POWER SUPPLY LEARNING KIT TUTORIAL ROBOTLINKING THE POWER SUPPLY LEARNING KIT TUTORIAL 1 Preface About RobotLinking RobotLinking is a technology company focused on 3D Printer, Raspberry Pi and Arduino open source community development.

More information

SPDM Level 2 Smart Electronics Unit, Level 2

SPDM Level 2 Smart Electronics Unit, Level 2 SPDM Level 2 Smart Electronics Unit, Level 2 Evidence Folder John Johns Form 3b RSA Tipton 1.1 describe the purpose of circuit components and symbols. The candidate can describe the purpose of a range

More information

Eng.mohammed Albhaisi. Lab#3 : arduino to proteus simulation. for simulate Arduino program that you wrote you have to have these programs :

Eng.mohammed Albhaisi. Lab#3 : arduino to proteus simulation. for simulate Arduino program that you wrote you have to have these programs : Lab#3 : arduino to proteus simulation for simulate Arduino program that you wrote you have to have these programs : 1-Arduino C 2-proteus 3- Virtual Serial Port Driver 4-Arduino library to proteus You

More information

CTEC 1802 Embedded Programming Labs

CTEC 1802 Embedded Programming Labs CTEC 1802 Embedded Programming Labs This document is intended to get you started using the Arduino and our I/O board in the laboratory - and at home! Many of the lab sessions this year will involve 'embedded

More information

Introduction To Arduino

Introduction To Arduino Introduction To Arduino What is Arduino? Hardware Boards / microcontrollers Shields Software Arduino IDE Simplified C Community Tutorials Forums Sample projects Arduino Uno Power: 5v (7-12v input) Digital

More information

Modern Robotics Inc. Sensor Documentation

Modern Robotics Inc. Sensor Documentation Sensor Documentation Version 1.0.1 September 9, 2016 Contents 1. Document Control... 3 2. Introduction... 4 3. Three-Wire Analog & Digital Sensors... 5 3.1. Program Control Button (45-2002)... 6 3.2. Optical

More information

Arduino: What is it? What can it do?

Arduino: What is it? What can it do? Arduino: What can it do? tswsl1989@sucs.org May 20, 2013 What is an Arduino? According to Arduino: Arduino is a tool for making computers that can sense and control more of the physical world than your

More information

ARDUINO MICRO WITHOUT HEADERS Code: A000093

ARDUINO MICRO WITHOUT HEADERS Code: A000093 ARDUINO MICRO WITHOUT HEADERS Code: A000093 Arduino Micro is the smallest board of the family, easy to integrate it in everyday objects to make them interactive. The Micro is based on the ATmega32U4 microcontroller

More information

Arduino Smart Robot Car Kit User Guide

Arduino Smart Robot Car Kit User Guide User Guide V1.0 04.2017 UCTRONIC Table of Contents 1. Introduction...3 2. Assembly...4 2.1 Arduino Uno R3...4 2.2 HC-SR04 Ultrasonic Sensor Module with Bracket / Holder...5 2.3 L293D Motor Drive Expansion

More information

Grove - Thumb Joystick

Grove - Thumb Joystick Grove - Thumb Joystick Release date: 9/20/2015 Version: 1.0 Wiki: http://www.seeedstudio.com/wiki/grove_-_thumb_joystick Bazaar: http://www.seeedstudio.com/depot/grove-thumb-joystick-p-935.html 1 Document

More information

MEDIS Module 2. Microcontroller based systems for controlling industrial processes. Chapter 4: Timer and interrupts. M. Seyfarth, Version 0.

MEDIS Module 2. Microcontroller based systems for controlling industrial processes. Chapter 4: Timer and interrupts. M. Seyfarth, Version 0. MEDIS Module 2 Microcontroller based systems for controlling industrial processes Chapter 4: Timer and interrupts M. Seyfarth, Version 0.1 Steuerungstechnik 1: Speicherprogrammierbare Steuerungstechnik

More information

Grove - 3 Axis Digital Accelerometer±16g Ultra-low Power (BMA400)

Grove - 3 Axis Digital Accelerometer±16g Ultra-low Power (BMA400) Grove - 3 Axis Digital Accelerometer±16g Ultra-low Power (BMA400) The Grove - 3-Axis Digital Accelerometer ±16g Ultra-low Power (BMA400) sensor is a 12 bit, digital, triaxial acceleration sensor with smart

More information

ARDUINO MEGA 2560 REV3 Code: A000067

ARDUINO MEGA 2560 REV3 Code: A000067 ARDUINO MEGA 2560 REV3 Code: A000067 The MEGA 2560 is designed for more complex projects. With 54 digital I/O pins, 16 analog inputs and a larger space for your sketch it is the recommended board for 3D

More information

EP486 Microcontroller Applications

EP486 Microcontroller Applications EP486 Microcontroller Applications Topic 6 Step & Servo Motors Joystick & Water Sensors Department of Engineering Physics University of Gaziantep Nov 2013 Sayfa 1 Step Motor http://en.wikipedia.org/wiki/stepper_motor

More information

Serial.begin ( ); Serial.println( ); analogread ( ); map ( );

Serial.begin ( ); Serial.println( ); analogread ( ); map ( ); Control and Serial.begin ( ); Serial.println( ); analogread ( ); map ( ); A system output can be changed through the use of knobs, motion, or environmental conditions. Many electronic systems in our world

More information

University of Hull Department of Computer Science C4DI Interfacing with Arduinos

University of Hull Department of Computer Science C4DI Interfacing with Arduinos Introduction Welcome to our Arduino hardware sessions. University of Hull Department of Computer Science C4DI Interfacing with Arduinos Vsn. 1.0 Rob Miles 2014 Please follow the instructions carefully.

More information

ARDUINO LEONARDO WITH HEADERS Code: A000057

ARDUINO LEONARDO WITH HEADERS Code: A000057 ARDUINO LEONARDO WITH HEADERS Code: A000057 Similar to an Arduino UNO, can be recognized by computer as a mouse or keyboard. The Arduino Leonardo is a microcontroller board based on the ATmega32u4 (datasheet).

More information

Basic Electronic Toolkit for under $40

Basic Electronic Toolkit for under $40 Basic Electronic Toolkit for under $40 Multimeter http://www.mpja.com/prodinfo.asp?number=17191+te Small Wire cutters http://www.mpja.com/prodinfo.asp?number=16761+tl Wire strippers http://www.mpja.com/prodinfo.asp?number=11715+tl

More information

Robotics Adventure Book Scouter manual STEM 1

Robotics Adventure Book Scouter manual STEM 1 Robotics Robotics Adventure Book Scouter Manual Robotics Adventure Book Scouter manual STEM 1 A word with our Scouters: This activity is designed around a space exploration theme. Your Scouts will learn

More information

Arduino Workshop. Overview. What is an Arduino? Why Arduino? Setting up your Arduino Environment. Get an Arduino based board and usb cable

Arduino Workshop. Overview. What is an Arduino? Why Arduino? Setting up your Arduino Environment. Get an Arduino based board and usb cable Arduino Workshop Overview Arduino, The open source Microcontroller for easy prototyping and development What is an Arduino? Arduino is a tool for making computers that can sense and control more of the

More information

Arduino Uno. Power & Interface. Arduino Part 1. Introductory Medical Device Prototyping. Digital I/O Pins. Reset Button. USB Interface.

Arduino Uno. Power & Interface. Arduino Part 1. Introductory Medical Device Prototyping. Digital I/O Pins. Reset Button. USB Interface. Introductory Medical Device Prototyping Arduino Part 1, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota Arduino Uno Power & Interface Reset Button USB Interface

More information

THE COMPLETE ALL IN ONE ROBOT 360 NANO BOT

THE COMPLETE ALL IN ONE ROBOT 360 NANO BOT THE COMPLETE ALL IN ONE ROBOT 360 NANO BOT LINE FOLLOWER FIVE LINE SENSORS FOR SCANNING WHITE OR BLACK LINE OBSTACLE AVOIDER TWO OBSTACLE SENSORS CAN DETECT OBSTACLES AND MEASURE DISTANCE BLUETOOTH CONTROL

More information

4Serial SIK BINDER //77

4Serial SIK BINDER //77 4Serial SIK BINDER //77 SIK BINDER //78 Serial Communication Serial is used to communicate between your computer and the RedBoard as well as between RedBoard boards and other devices. Serial uses a serial

More information

ARDUINO MEGA ADK REV3 Code: A000069

ARDUINO MEGA ADK REV3 Code: A000069 ARDUINO MEGA ADK REV3 Code: A000069 OVERVIEW The Arduino MEGA ADK is a microcontroller board based on the ATmega2560. It has a USB host interface to connect with Android based phones, based on the MAX3421e

More information

Wall-Follower. Xiaodong Fang. EEL5666 Intelligent Machines Design Laboratory University of Florida School of Electrical and Computer Engineering

Wall-Follower. Xiaodong Fang. EEL5666 Intelligent Machines Design Laboratory University of Florida School of Electrical and Computer Engineering Wall-Follower Xiaodong Fang EEL5666 Intelligent Machines Design Laboratory University of Florida School of Electrical and Computer Engineering TAs: Tim Martin Josh Weaver Instructors: Dr. A. Antonio Arroyo

More information

Bluno Mega 2560 (SKU:DFR0323)

Bluno Mega 2560 (SKU:DFR0323) Bluno Mega 2560 (SKU:DFR0323) From Robot Wiki Contents 1 Introduction 2 Specification 3 Pin Out 4 Supported Android Devices 5 Supported Apple Devices 6 Tutorial o 6.1 More advantages o 6.2 The serial port

More information

ADC to I 2 C. Data Sheet. 10 Channel Analog to Digital Converter. with output via I 2 C

ADC to I 2 C. Data Sheet. 10 Channel Analog to Digital Converter. with output via I 2 C Data Sheet 10 Channel Analog to Digital Converter with output via I 2 C Introduction Many microcontroller projects involve the use of sensors like Accelerometers, Gyroscopes, Temperature, Compass, Barometric,

More information

Create your own wireless motion sensor with

Create your own wireless motion sensor with Create your own wireless motion sensor with Arduino If you have a friend that has an alarm system in his or her home, I am sure you ve all seen these white motion sensors that are usually fixed above doors

More information

Arduino Uno. Arduino Uno R3 Front. Arduino Uno R2 Front

Arduino Uno. Arduino Uno R3 Front. Arduino Uno R2 Front Arduino Uno Arduino Uno R3 Front Arduino Uno R2 Front Arduino Uno SMD Arduino Uno R3 Back Arduino Uno Front Arduino Uno Back Overview The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet).

More information

This is the Arduino Uno: This is the Arduino motor shield: Digital pins (0-13) Ground Rail

This is the Arduino Uno: This is the Arduino motor shield: Digital pins (0-13) Ground Rail Reacting to Sensors In this tutorial we will be going over how to program the Arduino to react to sensors. By the end of this workshop you will have an understanding of how to use sensors with the Arduino

More information

ARDUINO UNO REV3 SMD Code: A The board everybody gets started with, based on the ATmega328 (SMD).

ARDUINO UNO REV3 SMD Code: A The board everybody gets started with, based on the ATmega328 (SMD). ARDUINO UNO REV3 SMD Code: A000073 The board everybody gets started with, based on the ATmega328 (SMD). The Arduino Uno SMD R3 is a microcontroller board based on the ATmega328. It has 14 digital input/output

More information

WALT: definition and decomposition of complex problems in terms of functional and non-functional requirements

WALT: definition and decomposition of complex problems in terms of functional and non-functional requirements Item 12: Burglar Alarmed Monday, 15 October 2018 12:31 PM BURGLAR ALARMED EXPLORE WALT: definition and decomposition of complex problems in terms of functional and non-functional requirements WILF - Defined

More information

ARDUINO LEONARDO ETH Code: A000022

ARDUINO LEONARDO ETH Code: A000022 ARDUINO LEONARDO ETH Code: A000022 All the fun of a Leonardo, plus an Ethernet port to extend your project to the IoT world. You can control sensors and actuators via the internet as a client or server.

More information

Alessandra de Vitis. Arduino

Alessandra de Vitis. Arduino Alessandra de Vitis Arduino Arduino types Alessandra de Vitis 2 Interfacing Interfacing represents the link between devices that operate with different physical quantities. Interface board or simply or

More information

Grove - 80cm Infrared Proximity Sensor

Grove - 80cm Infrared Proximity Sensor Grove - 80cm Infrared Proximity Sensor Introduction 3.3V 5.0V Analog The 80cm Infrared Proximity Sensor is a General Purpose Type Distance Measuring Sensor. This sensor SharpGP2Y0A21YK, boasts a small

More information

SMART DUSTBIN ABSTRACT

SMART DUSTBIN ABSTRACT ABSTRACT SMART DUSTBIN As people are getting smarter so are the things. While the thought comes up for Smart cities there is a requirement for Smart waste management. The idea of Smart Dustbin is for the

More information

DIY Remote Control Robot Kit (Support Android) SKU:COMB0004

DIY Remote Control Robot Kit (Support Android) SKU:COMB0004 DIY Remote Control Robot Kit (Support Android) SKU:COMB0004 Contents [hide] 1 Overall o 1.1 Microcontroller 2 Part List o 2.1 Basic Kit o 2.2 Upgrade Components o 2.3 Additional Parts Required 3 Assembly

More information

GOOD MORNING SUNSHINE

GOOD MORNING SUNSHINE Item 11: Good Morning Sunshine Monday, 15 October 2018 12:30 PM GOOD MORNING SUNSHINE EXPLORE WALT: definition and decomposition of complex problems in terms of functional and non-functional requirements

More information

analogwrite(); The analogwrite function writes an analog value (PWM wave) to a PWM-enabled pin.

analogwrite(); The analogwrite function writes an analog value (PWM wave) to a PWM-enabled pin. analogwrite(); The analogwrite function writes an analog value (PWM wave) to a PWM-enabled pin. Syntax analogwrite(pin, value); For example: analogwrite(2, 255); or analogwrite(13, 0); Note: Capitalization

More information

Introduction to Microcontrollers Using Arduino. PhilRobotics

Introduction to Microcontrollers Using Arduino. PhilRobotics Introduction to Microcontrollers Using Arduino PhilRobotics Objectives Know what is a microcontroller Learn the capabilities of a microcontroller Understand how microcontroller execute instructions Objectives

More information

TA0139 USER MANUAL ARDUINO 2 WHEEL DRIVE WIRELESS BLUETOOTH ROBOT KIT

TA0139 USER MANUAL ARDUINO 2 WHEEL DRIVE WIRELESS BLUETOOTH ROBOT KIT TA0139 USER MANUAL ARDUINO 2 WHEEL DRIVE WIRELESS BLUETOOTH ROBOT KIT I Contents Overview TA0139... 1 Getting started: Arduino 2 Wheel Drive Wireless Bluetooth Robot Kit using Arduino UNO... 1 2.1. What

More information

Introduction to Microprocessors: Arduino

Introduction to Microprocessors: Arduino Introduction to Microprocessors: Arduino tswsl1989@sucs.org October 7, 2013 What is an Arduino? Open Source Reference designs for hardware Firmware tools + GUI Mostly based around 8-bit Atmel AVR chips

More information

Arduino and Matlab for prototyping and manufacturing

Arduino and Matlab for prototyping and manufacturing Arduino and Matlab for prototyping and manufacturing Enrique Chacón Tanarro 11th - 15th December 2017 UBORA First Design School - Nairobi Enrique Chacón Tanarro e.chacon@upm.es Index 1. Arduino 2. Arduino

More information

FUNCTIONS USED IN CODING pinmode()

FUNCTIONS USED IN CODING pinmode() FUNCTIONS USED IN CODING pinmode() Configures the specified pin to behave either as an input or an output. See the description of digital pins for details on the functionality of the pins. As of Arduino

More information

Grove - 6-Axis Accelerometer&Gyroscope(BMI088)

Grove - 6-Axis Accelerometer&Gyroscope(BMI088) Grove - 6-Axis Accelerometer&Gyroscope(BMI088) The Grove - 6-Axis Accelerometer&Gyroscope(BMI088) is a 6 DoF(degrees of freedom) Highperformance Inertial Measurement Unit(IMU).This sensor is based on BOSCH

More information

ARDUINO UNO REV3 Code: A000066

ARDUINO UNO REV3 Code: A000066 ARDUINO UNO REV3 Code: A000066 The UNO is the best board to get started with electronics and coding. If this is your first experience tinkering with the platform, the UNO is the most robust board you can

More information

Motor Module Arduino API Manual

Motor Module Arduino API Manual Motor Module Arduino API Manual Renesas Electronics Corporation Revision History Rev. Date of issue 1.0 March 31, 2015 First edition 1.1 July 1, 2015 Updats controlinit(), sample programs and serial specifications.

More information

Arduino ADK Rev.3 Board A000069

Arduino ADK Rev.3 Board A000069 Arduino ADK Rev.3 Board A000069 Overview The Arduino ADK is a microcontroller board based on the ATmega2560 (datasheet). It has a USB host interface to connect with Android based phones, based on the MAX3421e

More information

C Language Reference for ActivityBot. Driving the robot a specific distance or a specific amount of turn

C Language Reference for ActivityBot. Driving the robot a specific distance or a specific amount of turn Code for Driving ActivityBot C Language Reference for ActivityBot Jeffrey La Favre - November 4, 2015 There are two types of functions for driving the robot. The first kind specifies a specific distance

More information

Arduino Programming Part 3. EAS 199A Fall 2010

Arduino Programming Part 3. EAS 199A Fall 2010 Arduino Programming Part 3 EAS 199A Fall 2010 Overview Part I Circuits and code to control the speed of a small DC motor. Use potentiometer for dynamic user input. Use PWM output from Arduino to control

More information

Laboratory 1 Introduction to the Arduino boards

Laboratory 1 Introduction to the Arduino boards Laboratory 1 Introduction to the Arduino boards The set of Arduino development tools include µc (microcontroller) boards, accessories (peripheral modules, components etc.) and open source software tools

More information

This tutorial will show you how to take temperature readings using the Freetronics temperature sensor and an Arduino Uno.

This tutorial will show you how to take temperature readings using the Freetronics temperature sensor and an Arduino Uno. This tutorial will show you how to take temperature readings using the Freetronics temperature sensor and an Arduino Uno. Note that there are two different module types: the temperature sensor module and

More information