EEL 5666C - Intelligent Machine Design Lab Final report

Size: px
Start display at page:

Download "EEL 5666C - Intelligent Machine Design Lab Final report"

Transcription

1 EEL 5666C - Intelligent Machine Design Lab Final report Date: 04/21/14 Student Name: Shaoyi SHI Robot Name: Alin ssytom@hotmail.com TA: Instructors: Josh Weaver A. Antonio Arroyo Eric M. Schwartz 1

2 Table of Contents Abstract... 3 Executive Summary... 3 Introduction... 4 Integrated System... 5 Mobile Platform... 7 Actuation & Sensors... 8 Behaviors... 9 Conclusion... 9 Appendices References

3 Abstract Alin is the name of a friend of mine, it s a sound control robot based on frequency identification. It looks like a space shuttle, with self-designed structure make of wood by T-tech. The robot is driven by two wheels, it can wonder around and avoid obstacles, and when it hears the special musical note from my flute, it will be under my control, react correspondingly to different notes played by my flute. Executive Summary Alin is designed based on ArduinoMega2560 with various sensors and parts, a digital frequency meter for sound signal is made with Arduino and MIC, also a self-made repeating crossbow. The design, layout, parts and behaviors of Alin are shown in this report. And it looks like this. 3

4 The first picture above is the first design drawn with SolidWorks, the second picture is how it really looks, I made several changes including sensors, geometry of kit locations of parts. Introduction The idea for Alin is inspired by snake charmer, who uses their musical instrument to tame and control the snake. So I decided to use my Bawu (Chinese instrument similar to flute) to control my snake which is actually my robot. I also made a weapon for it, a Zhu Ge repeating crossbow, an invention in Three Kingdoms period(ad ), one of the longest-lived mechanical weapons. I made this with wood board by myself. 4

5 Integrated System Alin has two type of sensors: sonar sensors and digital frequency meter module. And two types of actuators: motors and repeating crossbow. Sonar sensors are fixed at the front, and will return the distances between my robot and obstacles. DC motors with a motor controller are used to drive the robot. Obstacle avoidance My robot can wonder without hit any obstacles, this is achieved by sonar sensors and motors. the principle my this system is shown blow: 5

6 Digital Frequency Meter I made this meter based on comparative method, the basic idea for digital frequency is shown below: First the incoming signal is modified by weaken or magnified and shape to square wave. Then use the gating signal to create an interval. Oscillator is used to generate signal with known frequency, this signal is pre-scaled with time base circuit. A counter is used to count the number of pulses from this pre-scaled signal during the interval created by gating signal, since the frequency of the pre-scaled signal is known, the time period during the gating signal can be obtained. Controlling circuit is used to control the system and calculate the time period. I made this system with Arduino and MIC. The systems works like this: first the MIC will transfer incoming sound signal to electrical signal, then this signal is magnified by Triode magnifying circuit. The MIC is connected to Arduino with digital PIN, which will modify the signal from sin wave to square wave: 6

7 I use Arduino s attachinterrupt() function as gating signal, which will go to ISR when voltage of PIN rise and fall, thus the interval created by this gating signal equals to the period of wave of incoming signal. The processor of Arduino, ATmega2560 is used as Oscillator, and its frequency is 16MHz. TCCR1B is used as prescaler and TCNT1, a 16bit counter is used as the counter, these are all integrated in ArduinoMEGA2560. The period of incoming signal can be calculated by following equation: f = reding of TCNT1 prescaler The frequency of the musical notes I used obtained by my digital frequency meter are: Because my MIC is of kind of low sensitivity, I placed a loudspeaker on my robot, and connected it to my cellphone with blue-tooth. So I can play my flute to my cellphone and transfer this sound to my MIC. I use these notes as commands and my robot will react correspondingly to each of these notes. The whole system is shown as below: The main problem I had was the noise from the background will sometimes interfere this process, my solution was to use times so that my robot only response to sound of certain frequency and lasts for longer than about 0.3s. Mobile Platform The kit of my robot consists of two pieces of space shuttle shape wood. The sonar sensors are placed in the front. Two wheels with motors are placed in the two sides at back. Arduino board, motor controller and loudspeaker are inside the robot. The crossbow with servo and the MIC are fixed on the top. And 5 LED are used to show commands. All the sensors, servo and the motor controller are connected to Arduino board, and the motors are then connected to the wheels. 7

8 Actuation & Sensors The robot is driven by 2 300RPM 6V 0.45A High Torque Mini Electric DC Geared Motors and wheel: The Zhu Ge repeating crossbow is driven by RHX Micro 9g Mini Servo: Three Zitrades Module HC-SR04 Ultrasonic Distance Sensor are used to get distances thus achieve obstacle avoidance: 8

9 The incoming sound signal is transferred to electrical signal with ZITRADES High Sensibility microphone sensor module fit for KY-037 ARDUINO with 2 output: Behaviors Alin will first wonder around and avoid obstacles, and when play my flute with that certain note for twice, it will hear my command and stop moving, mean well the red led will light up showing that it s now tamed by me. Then I can give commands including go ahead, go back, turn left, turn right and shoot by playing different notes. If I play that certain note for twice again, my robot will be freed and start to wonder again. Conclusion Alin was completed on time and employs the behaviors proposed. I can be a snake charmer with my flute and control it. And for most cases the noise form background will not bother my control over it. Through this class, I got basic understanding and hands on experience for embedded design, as well as the complete process for making a simple robot. And I always think it necessary for engineering students to know basic ideas for ECE staffs. I also want to say thanks to Dr. Arroyo, Dr. Schwartz and DR. Jadiaz, and all the TAs. Especially to josh, he was like my babysitter. 9

10 Appendices #include <fix_fft.h> #include <Servo.h> Servo myservo; #define echo1 47 #define echo2 49 #define echo3 51 #define trig 45 #define Lmotor1 6 #define Lmotor2 3 #define Rmotor1 4 #define Rmotor2 5 #define lled 41 #define rled 12 #define fled 53 #define bled 7 #define sled 13 short distance1,distance2,distance3,mind; int divider[6]={0, 1, 8, 64, 256, 1024; int prescaler = 5; double count = 0; double middle = 0, freq; char x = 0; int sonarcount =0; int shootcount=0 ; int backcount=0; int leftcount=0; int rightcount=0; int frontcount=0; int changecount=0; ISR(TIMER1_OVF_vect)//call this interrupt service routine when overflows { if (prescaler < 4) { prescaler++; 10

11 void interrupt() { if (!x)//include x=0,null and so on { count = TCNT1;//16 bit register that saves counter value TCNT1 = 0x000;//set to 0 TCCR1B = prescaler;//set how to divide system clock attachinterrupt(0, interrupt, FALLING); // interrupt pin0, actually digital pin2 else { middle = TCNT1; attachinterrupt(0, interrupt, RISING); x = ~x; void goahead(int a){ digitalwrite(lmotor1, HIGH); digitalwrite(lmotor2, LOW); digitalwrite(rmotor1, LOW); digitalwrite(rmotor2, HIGH); delay(a); digitalwrite(lmotor1, LOW); digitalwrite(lmotor2, LOW); digitalwrite(rmotor1, LOW); digitalwrite(rmotor2, LOW); void justgo(){ digitalwrite(lmotor1, HIGH); digitalwrite(lmotor2, LOW); digitalwrite(rmotor1, LOW); digitalwrite(rmotor2, HIGH); 11

12 void turnleft(int a){ digitalwrite(lmotor1, LOW); digitalwrite(lmotor2, HIGH); digitalwrite(rmotor1, LOW); digitalwrite(rmotor2, HIGH); delay(a); digitalwrite(lmotor1, LOW); digitalwrite(lmotor2, LOW); digitalwrite(rmotor1, LOW); digitalwrite(rmotor2, LOW); void turnright(int a){ digitalwrite(lmotor1, HIGH); digitalwrite(lmotor2, LOW); digitalwrite(rmotor1, HIGH); digitalwrite(rmotor2, LOW); delay(a); digitalwrite(lmotor1, LOW); digitalwrite(lmotor2, LOW); digitalwrite(rmotor1, LOW); digitalwrite(rmotor2, LOW); void stand(){ digitalwrite(lmotor1, LOW); digitalwrite(lmotor2, LOW); digitalwrite(rmotor1, LOW); digitalwrite(rmotor2, LOW); void goback(int a){ digitalwrite(lmotor1, LOW); digitalwrite(lmotor2, HIGH); digitalwrite(rmotor1, HIGH); digitalwrite(rmotor2, LOW); delay(a); digitalwrite(lmotor1, LOW); digitalwrite(lmotor2, LOW); digitalwrite(rmotor1, LOW); digitalwrite(rmotor2, LOW); 12

13 void scan2(){ digitalwrite(trig, LOW); delaymicroseconds(2); digitalwrite(trig, HIGH); delaymicroseconds(20); digitalwrite(trig, LOW); distance2 = pulsein(echo2, HIGH)/58.2; delay(10); void scan1(){ digitalwrite(trig, LOW); delaymicroseconds(2); digitalwrite(trig, HIGH); delaymicroseconds(20); digitalwrite(trig, LOW); distance1 = pulsein(echo1, HIGH)/58.2; delay(10); void scan3(){ digitalwrite(trig, LOW); delaymicroseconds(2); digitalwrite(trig, HIGH); delaymicroseconds(20); digitalwrite(trig, LOW); distance3 = pulsein(echo3, HIGH)/58.2; delay(10); void setup() { myservo.attach(9); Serial.begin (57600); pinmode(trig, OUTPUT); pinmode(lmotor1, OUTPUT); pinmode(lmotor2, OUTPUT); pinmode(rmotor1, OUTPUT); pinmode(rmotor2, OUTPUT); pinmode(echo1, INPUT); pinmode(echo2, INPUT); pinmode(echo3, INPUT); TIMSK1 = 0x01;// enabled global and timer overflow interrupt; TCCR1A = 0x00;// noise cancelling didn't work... attachinterrupt(0, interrupt, RISING); pinmode(lled, OUTPUT); pinmode(rled, OUTPUT); 13

14 pinmode(fled, OUTPUT); pinmode(bled, OUTPUT); pinmode(sled, OUTPUT); digitalwrite(lled, LOW); digitalwrite(rled, LOW); digitalwrite(fled, LOW); digitalwrite(bled, LOW); digitalwrite(sled, LOW); void loop() { freq= / divider[prescaler] / count; // T=n/f(fix) f(fix)= /divider f(signal)=1/t Serial.print("Freq: "); Serial.print(freq); if (prescaler > 1) { prescaler--; delay(20); delay(10); n=count if (freq>=586&freq<=596){ changecount++; Serial.print (changecount); if (changecount>=200){ changecount=0; digitalwrite(sled, LOW); if(changecount<=1){ scan1(); scan2(); scan3(); mind=min(min(distance1,distance2),distance3); if(mind>0){ if (mind>=20){ goahead(800); else if (mind<=8){ goback(500); 14

15 else { if (distance1!=distance3){ if (mind==distance1){ turnright(800); if(mind==distance3){ turnleft(800); if (mind==distance2){ goback(800); if (distance1==distance3){ turnright(800); else{ goahead(800); if (changecount>=2){ digitalwrite(sled, HIGH); if (freq>=352&freq<=365){ frontcount++; if(frontcount==2){ digitalwrite(fled, HIGH); goahead(500); digitalwrite(fled, LOW); frontcount=0; if (freq>=393&freq<=408){ leftcount++; if(leftcount==2){ digitalwrite(lled, HIGH); turnleft(400); digitalwrite(lled, LOW); leftcount=0; if (freq>=438&freq<=449){ rightcount++; if(rightcount==2){ digitalwrite(rled, HIGH); turnright(500); digitalwrite(rled, LOW); rightcount=0; 15

16 if (freq>=521&freq<=533){ backcount++; if(backcount==2){ digitalwrite(bled, HIGH); goback(560); backcount=0; digitalwrite(bled, LOW); if (freq>=297&freq<=308){ shootcount++; if(shootcount==2){ digitalwrite(sled, HIGH); myservo.write(177); delay(400); myservo.write(90); delay(400); shootcount=0; digitalwrite(sled, LOW); References

Handson Technology. HC-SR04 Ultrasonic Sensor Module. 1

Handson Technology. HC-SR04 Ultrasonic Sensor Module. 1 Handson Technology User Guide HC-SR04 Ultrasonic Sensor Module HC-SR04 Ultrasonic Sensor is a very affordable proximity/distance sensor that has been used mainly for object avoidance in various robotics

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

Physics 120B: Lecture 11. Timers and Scheduled Interrupts

Physics 120B: Lecture 11. Timers and Scheduled Interrupts Physics 120B: Lecture 11 Timers and Scheduled Interrupts Timer Basics The ATMega 328 has three @mers available to it (Arduino Mega has 6) max frequency of each is 16 MHz, on Arduino TIMER0 is an 8- bit

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

EEL 5666C FALL Robot Name: DogBot. Author: Valerie Serluco. Date: December 08, Instructor(s): Dr. Arroyo. Dr. Schwartz. TA(s): Andrew Gray

EEL 5666C FALL Robot Name: DogBot. Author: Valerie Serluco. Date: December 08, Instructor(s): Dr. Arroyo. Dr. Schwartz. TA(s): Andrew Gray EEL 5666C FALL 2015 Robot Name: DogBot Author: Valerie Serluco Date: December 08, 2015 Instructor(s): Dr. Arroyo Dr. Schwartz TA(s): Andrew Gray Jacob Easterling INTRODUCTION ABSTRACT One of the fun things

More information

ECE 271 Microcomputer Architecture and Applications University of Maine

ECE 271 Microcomputer Architecture and Applications University of Maine Goals Lab 7: Timer Input Capture in C Instructor: Prof. Yifeng Zhu Spring 2015 1. Understand the basic concept of input capture function of a timer 2. Handle different events in the interrupt service routine

More information

Final Report. Autonomous Robot: Chopper John Michael Mariano December 9, 2014

Final Report. Autonomous Robot: Chopper John Michael Mariano December 9, 2014 Final Report Autonomous Robot: Chopper John Michael Mariano December 9, 2014 EEL 4665: Intelligent Machines Design Laboratory Instructors: Dr. A. Antonio Arroyo, Dr. Eric M. Schwartz TA: Nicholas Cox,

More information

A.U.R.A.S Autonomous Ultrasonic Robot for Area Scanning

A.U.R.A.S Autonomous Ultrasonic Robot for Area Scanning A.U.R.A.S Autonomous Ultrasonic Robot for Area Scanning Project Presentation ECE 511 Fall 2014 George Mason University 12/05/2014 Group: 2 Team Members: DevarajDhakshinamurthy Krishna Nikhila Kalinga Gagandeep

More information

Physics 124: Lecture 12. Timer Basics. Timers and Scheduled Interrupts

Physics 124: Lecture 12. Timer Basics. Timers and Scheduled Interrupts Physics 124: Lecture 12 Timers and Scheduled Interrupts Timer Basics The Arduino Uno/Nano (ATMega 328) has three Hmers available to it (Arduino Mega has 6) max frequency of each is 16 MHz, (as assembled)

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

Final Report. EEL 5666 Intelligent Machines Design Laboratory

Final Report. EEL 5666 Intelligent Machines Design Laboratory Final Report EEL 5666 Intelligent Machines Design Laboratory TAs: Mike Pridgen & Thomas Vermeer Instructors: Dr. A. Antonio Arroyo & Dr. Eric M. Schwartz Hao (Hardy) He Dec 08 th, 2009 Table of Contents

More information

Marten van Dijk, Syed Kamran Haider

Marten van Dijk, Syed Kamran Haider ECE3411 Fall 2015 Lecture 3b. Timers 0, 1 & 2 Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut Email: vandijk, syed.haider@engr.uconn.edu Based

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

Basic Kit for Turtle 2WD SKU:ROB0118

Basic Kit for Turtle 2WD SKU:ROB0118 Basic Kit for Turtle 2WD SKU:ROB0118 From Robot Wiki Contents 1 Function Introduction 1.1 STEP 1: Assemble Robot 1.2 STEP 2: Debug Motor 1.3 STEP 3:Install Upper Plate 1.4 STEP4: Debug Ultrasonic Sensor

More information

Experiment 7: Robotics++ V3 Robot BlueToothbot

Experiment 7: Robotics++ V3 Robot BlueToothbot Experiment 7: Robotics++ V3 Robot BlueToothbot 1 Two different ways to control your robot via Bluetooth 1. Android phone wire your robot, download apps from the Google Play Store or install an APK (app

More information

ELEX ばはは 0: Digital System Design. Self-Driving Car

ELEX ばはは 0: Digital System Design. Self-Driving Car ELEX ばはは 0: Digital System Design Self-Driving Car Table of Contents Kostiantyn Yushchak & Davneet Singh... 0 1 Acknowledgments... 3 2 Overview... 3 2.1 Goals and Motivation... 3 2.2 Background... 3 2.3

More information

M. Shahalam. Sid the Spider. Final Report December 7, EEL Intelligence Machine Design Laboratory

M. Shahalam. Sid the Spider. Final Report December 7, EEL Intelligence Machine Design Laboratory M. Shahalam Sid the Spider Final Report December 7, 2010 EEL 4665 - Intelligence Machine Design Laboratory TAs : Mike Pridgen Ryan Stevens Thomas Vermeer Tim Martin Devin Hughes Instructors: Dr. A. Antonio

More information

Chapter 6 PROGRAMMING THE TIMERS

Chapter 6 PROGRAMMING THE TIMERS Chapter 6 PROGRAMMING THE TIMERS Lesson 3 Real Time Clocked Interrupts and Software Timers 2 Real Time Clock Interrupt 3 Real Time interrupts Prescaling Pre-scaling by RT1-RT0 bits for 4 or 8 or 16 2 13

More information

Chapter 6 PROGRAMMING THE TIMERS

Chapter 6 PROGRAMMING THE TIMERS Chapter 6 PROGRAMMING THE TIMERS Reload Start Stop Programmabl e Prescaling Prescaling Loa d Timer-counter Device Reset Internal clock inputs External counting of inputs Free Running Lesson 1 Programmable

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

The Arduino Briefing. The Arduino Briefing

The Arduino Briefing. The Arduino Briefing Mr. Yee Choon Seng Email : csyee@simtech.a-star.edu.sg Design Project resources http://guppy.mpe.nus.edu.sg/me3design.html One-Stop robotics shop A-Main Objectives Pte Ltd, Block 1 Rochor Road, #02-608,

More information

Intelligent Machines Design Laboratory EEL 5666C

Intelligent Machines Design Laboratory EEL 5666C Atocha Too Donald MacArthur Center of Intelligent Machines and Robotics & Machine Intelligence Laboratory Intelligent Machines Design Laboratory EEL 5666C TABLE OF CONTENTS Abstract 3 Executive Summary

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

Basic Kit for Turtle 2WD SKU:ROB0118

Basic Kit for Turtle 2WD SKU:ROB0118 Basic Kit for Turtle 2WD SKU:ROB0118 Function Introduction This Kit will teach you how to build a automatic obstacle - avoidance robot which is achieved on the platform of the Turtle Robot,based on ultrasonic

More information

MS4SSA Robotics Module:

MS4SSA Robotics Module: Robotics Module: Programming and Sensors Kim Hollan Why Program a Robot? Building a robot teaches many valuable skills; however, the learning doesn t stop there Programming also teaches valuable life skills

More information

Interrupts Arduino, AVR, and deep dark programming secrets. What is an Interrupt?

Interrupts Arduino, AVR, and deep dark programming secrets. What is an Interrupt? Interrupts Arduino, AVR, and deep dark programming secrets What is an Interrupt? A transfer of program control that is not directed by the programmer Like a phone call in the middle of a conversation Stop

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

HC12 Built-In Hardware

HC12 Built-In Hardware HC12 Built-In Hardware The HC12 has a number of useful pieces of hardware built into the chip. Different versions of the HC12 have slightly different pieces of hardware. We are using the MC68HC912B32 chip

More information

Table of Contents. Executive Summary 3 Walkthrough..4

Table of Contents. Executive Summary 3 Walkthrough..4 Official Report FALL IMDL 2015 EEL4665 Designer: Jesus Pintado Robot Name: Ballsy Instructors & TA s: Dr. A. Antonio Arroyo Dr. Eric M. Schwartz Andrew Gray Jacob Easterling Table of Contents Executive

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 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

Robot Eyes. DAY 3 Let's Make a Robot

Robot Eyes. DAY 3 Let's Make a Robot DAY 3 Let's Make a Robot Objective: Students will learn to use an SR04 Sonar component to measure distance. The Students will then build their robot, establish programming to control the motors and then

More information

TA0136 USER MANUAL ARDUINO 2 WHEEL DRIVE ULTRASONIC ROBOT KIT

TA0136 USER MANUAL ARDUINO 2 WHEEL DRIVE ULTRASONIC ROBOT KIT TA0136 USER MANUAL ARDUINO 2 WHEEL DRIVE ULTRASONIC ROBOT KIT I Contents Overview TA0136... 1 Getting started: the 2 Wheel Drive Ultrasonic Robot Kit using Arduino UNO... 1 2.1. What is Arduino?... 1 2.2.

More information

1. Introduction Packing list Parts Introduction Uno R3 Board for Arduino Specifications... 6

1. Introduction Packing list Parts Introduction Uno R3 Board for Arduino Specifications... 6 Table of Contents Smart Bluetooth Robot Car Kit for Arduino 1. Introduction...4 1.1 Packing list...5 2. Parts Introduction...6 2.1 Uno R3 Board for Arduino...6 2.1.1 Specifications... 6 2.2 HC-SR04 Ultrasonic

More information

Introduction to the MC9S12 Hardware Subsystems

Introduction to the MC9S12 Hardware Subsystems Setting and clearing bits in C Using pointers in C o Program to count the number of negative numbers in an area of memory Introduction to the MC9S12 Hardware Subsystems o The MC9S12 timer subsystem Operators

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

X X X. VGA - Standard:

X X X. VGA - Standard: VG Pin 01 Pin 02 Pin 03 - Pin Pin 05 Pin 06 Pin 07 Pin 08 - Pin Pin 10 Pin 11 - Pin Pin 13 Pin 14 - Pin (female to V Monitor) P1 RED V P2 GRN V P3 BLU V P5 GND HSy P6 RED_RTN P7 GRN_RTN P8 BLU_RTN P10

More information

Embedded Systems and Software

Embedded Systems and Software Embedded Systems and Software Lecture 11 Interrupts Interrupts Slide 1 Interrupts One way to think of interrupts is that they are hardwaregenerated functions calls Internal Hardware When timer rolls over,

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

Distributed Real- Time Control Systems. Lecture 7 Real- Time Control

Distributed Real- Time Control Systems. Lecture 7 Real- Time Control Distributed Real- Time Control Systems Lecture 7 Real- Time Control 1 Real- Time Digital Control Hardware Digital Controllers are usually designed as periodic tasks with fixed period and synchronizeda/d-

More information

Rear Distance Detection with Ultrasonic Sensors Project Report

Rear Distance Detection with Ultrasonic Sensors Project Report Rear Distance Detection with Ultrasonic Sensors Project Report 11.29.2017 Group #6 Farnaz Behnia Kimia Zamiri Azar Osaze Shears ECE 511: Microprocessors Fall 2017 1 Table of Contents 1. Abstract 3 2. Motivation

More information

Experiment 3: Sonar Navigation, CAD and 3D Printing

Experiment 3: Sonar Navigation, CAD and 3D Printing Experiment 3: Sonar Navigation, CAD and 3D Printing V3 Robot scans area for obstacles to avoid hitting them and navigates using sonar sensor mounted on a 3D printed sensor bracket that goes on a micro

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

Distributed Real-Time Control Systems. Chapter 10 Real-Time Digital Control

Distributed Real-Time Control Systems. Chapter 10 Real-Time Digital Control Distributed Real-Time Control Systems Chapter 10 Real-Time Digital Control 1 Real-Time Digital Control Hardware Digital Controllers are usually designed as periodic tasks with fixed period and synchronized

More information

Lab 3 XBees and LCDs and Accelerometers, Oh My! Part 1: Wireless Communication Using XBee Modules and the Arduino

Lab 3 XBees and LCDs and Accelerometers, Oh My! Part 1: Wireless Communication Using XBee Modules and the Arduino University of Pennsylvania Department of Electrical and Systems Engineering ESE 205 Electrical Circuits and Systems Laboratory I Lab 3 XBees and LCDs and Accelerometers, Oh My! Introduction: In the first

More information

Laboratory 4 Usage of timers

Laboratory 4 Usage of timers Laboratory 4 Usage of timers 1. Timer based interrupts Beside external interrupt, the MCU responds to internal ones which are triggered by external events (on the external pins). The source of the internal

More information

UNIVERSITY OF CONNECTICUT. ECE 3411 Microprocessor Application Lab: Fall Quiz IV

UNIVERSITY OF CONNECTICUT. ECE 3411 Microprocessor Application Lab: Fall Quiz IV Department of Electrical and Computing Engineering UNIVERSITY OF CONNECTICUT ECE 3411 Microprocessor Application Lab: Fall 2015 Quiz IV There is 1 questions in this quiz. There are 15 pages in this quiz

More information

TIMSK=0b ; /* enables the T/C0 overflow interrupt in the T/C interrupt mask register for */

TIMSK=0b ; /* enables the T/C0 overflow interrupt in the T/C interrupt mask register for */ The codes below which help in better understanding of timers and counters. I have tested this code for atmega32. I have taken reference from www.avrfreaks.net. Hope you all will find this useful. Darsh

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

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

Arduino Smart Bluetooth Robot Car Kit User Guide

Arduino Smart Bluetooth Robot Car Kit User Guide Arduino Smart Bluetooth Robot Car Kit User Guide UCTRONICS Table of Contents 1. Introduction... 4 1.1 Packing list... 5 2. Assembly... 6 2.1 Arduino Uno R3... 6 2.1.1 Specifications... 6 2.2 HC-SR04 Ultrasonic

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

Timer1 Capture Mode:

Timer1 Capture Mode: Timer1 Capture Mode: Interrupt Description Input Conditions Enable Flag Timer 1 Trigger after N events N = 1.. 2 19 100ns to 0.52 sec RC0 TMR1CS = 1 TMR1IF Timer 1 Capture Mode 1 Timer 1 Capture Mode 2

More information

Lesson-3: Counters and Timers

Lesson-3: Counters and Timers 8051 AND ADVANCED PROCESSOR ARCHITECTURES Lesson-3: Counters and Timers 1 Timing and counting devices Two T0 and T1 in classic 8051 family and three T0, T1 and T2 in 8052 family (an extension of 8051).

More information

Scott Kanowitz, A. Antonio Arroyo. Machine Intelligence Laboratory Department of Electrical and Computer Engineering

Scott Kanowitz, A. Antonio Arroyo. Machine Intelligence Laboratory Department of Electrical and Computer Engineering Scott Kanowitz, A. Antonio Arroyo Machine Intelligence Laboratory Department of Electrical and Computer Engineering 332 Benton Hall University of Florida Gainesville, FL 32611 Email: skano@mil.ufl.edu

More information

EECS 473 Lecture 2. More on interfacing Project overview Start on Real time and RM scheduling

EECS 473 Lecture 2. More on interfacing Project overview Start on Real time and RM scheduling EECS 473 Lecture 2 More on interfacing Project overview Start on Real time and RM scheduling Today Review and expand on hardware interfacing Some questions using different devices. Compare to Arduino.

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Stefan Kowalewski, 4. November 25 Introduction to Embedded Systems Part 2: Microcontrollers. Basics 2. Structure/elements 3. Digital I/O 4. Interrupts 5. Timers/Counters Introduction to Embedded Systems

More information

Supplementary Data. //Timer period in microseconds. We use 1ms resolution

Supplementary Data. //Timer period in microseconds. We use 1ms resolution Supplementary Data Firmware for the Controller //------------------------------------------ // Tube-climber controller // Alar Ainla, 2017 GMW Group Harvard //------------------------------------------

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

ME 3200 Mechatronics Laboratory FALL 2002 Lab Exercise 7: Ultrasonic Sensors

ME 3200 Mechatronics Laboratory FALL 2002 Lab Exercise 7: Ultrasonic Sensors ME 3200 Mechatronics Laboratory FALL 2002 Lab Exercise 7: Ultrasonic Sensors The objective of this lab is to provide you with the experience of using an ultrasonic sensor. Ultrasonic sensors, or sonar

More information

University of Florida EEL 3744 Spring 2018 Dr. Eric M. Schwartz. Good luck!

University of Florida EEL 3744 Spring 2018 Dr. Eric M. Schwartz. Good luck! Page 1/13 Exam 2 Relax! Go Gators! Good luck! First Name Instructions: Turn off all cell phones and other noise making devices and put away all electronics. Show all work on the front of the test papers.

More information

D-Rex. Final Report. An Ho. April 21, 14

D-Rex. Final Report. An Ho. April 21, 14 D-Rex Final Report An Ho April 21, 14 University of Florida Department of Electrical and Computer Engineering EEL 4665 IMDL Instructors: A. Antonio Arroyo, Eric M. Schwartz TA: Andrew Gray Table of Contents

More information

Autonomous Bottle Opener Robot

Autonomous Bottle Opener Robot Date: 03/19/02 Student Name: Clerc Jean-Philippe TAs: Aamir Qaiyumi Uriel Rodriguez Instructors: Dr. A. A Arroyo Dr. Schwartz University of Florida Department of Electrical and Computer Engineering Intelligent

More information

Robolab. Table of Contents. St. Mary s School, Panama. Robotics. Ch. 5: Robolab, by: Ernesto E. Angulo J.

Robolab. Table of Contents. St. Mary s School, Panama. Robotics. Ch. 5: Robolab, by: Ernesto E. Angulo J. Robolab 5 Table of Contents Objectives...2 Starting the program...2 Programming...3 Downloading...8 Tools...9 Icons...9 Loops and jumps...11 Multiple tasks...12 Timers...12 Variables...14 Sensors...15

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

Unit 13 Timers and Counters

Unit 13 Timers and Counters Unit 13 Timers and Counters 1 2 Review of some key concepts from the first half of the semester A BRIEF SUMMARY 3 A Few Big Ideas 1 Setting and clearing bits in a register tells the hardware what do and

More information

Final Design Report. Team Name: No Rest for the Weary

Final Design Report. Team Name: No Rest for the Weary EEL 4924 Electrical Engineering Design (Senior Design) Final Design Report 4 August 2009 Project Title: SLEEP Team Name: No Rest for the Weary Team Members: Renard Sumlar lrsum825@ufl.edu Brad Bromlow

More information

Jiggabot. University of Florida EEL 5666 Intelligent Machine Design Lab

Jiggabot. University of Florida EEL 5666 Intelligent Machine Design Lab Jiggabot University of Florida EEL 5666 Intelligent Machine Design Lab Student Name: Jerone Hammond Date: April 25, 2001 Instructor: Dr. A. Arroyo Table of Contents Abstract.2 Executive Summary 3 Introduction..4

More information

Embedded ROBOTICS. A 15 days program on Embedded Systems & Robotics Development with Microcontroller Technology & Image Processing

Embedded ROBOTICS. A 15 days program on Embedded Systems & Robotics Development with Microcontroller Technology & Image Processing Embedded ROBOTICS A 15 days program on Embedded Systems & Robotics Development with Microcontroller Technology & Image Processing Workshop Designed & Conceptualized by Training Courseware We will provide

More information

Junying Huang Fangjie Zhou. Smartphone Locker

Junying Huang Fangjie Zhou. Smartphone Locker Junying Huang Fangjie Zhou Smartphone Locker Motivation and Concept Smartphones are making our lives more and more convenient. In addition to some basic functions like making calls and sending messages,

More information

Topic 11: Timer ISMAIL ARIFFIN FKE UTM SKUDAI JOHOR

Topic 11: Timer ISMAIL ARIFFIN FKE UTM SKUDAI JOHOR Topic 11: Timer ISMAIL ARIFFIN FKE UTM SKUDAI JOHOR Introduction Timer s objective Timer features Timer Registers - Understand function of each bit Initialization Introduction o In micro-p, we use counter

More information

Interrupts, timers and counters

Interrupts, timers and counters Interrupts, timers and counters Posted on May 10, 2008, by Ibrahim KAMAL, in Micro-controllers, tagged Most microcontrollers come with a set of ADD-ONs called peripherals, to enhance the functioning of

More information

Physical Programming with Arduino

Physical Programming with Arduino CTA - 2014 Physical Programming with Arduino Some sample projects Arduino Uno - Arduino Leonardo look-alike The Board Arduino Uno and its cheap cousin from Borderless Electronics Mini - Breadboard typical

More information

EE 308 Spring A software delay. To enter a software delay, put in a nested loop, just like in assembly.

EE 308 Spring A software delay. To enter a software delay, put in a nested loop, just like in assembly. More on Programming the 9S12 in C Huang Sections 5.2 through 5.4 Introduction to the MC9S12 Hardware Subsystems Huang Sections 8.2-8.6 ECT_16B8C Block User Guide A summary of MC9S12 hardware subsystems

More information

Embedded Robotics. Software Development & Education Center

Embedded Robotics. Software Development & Education Center Software Development & Education Center Embedded Robotics Robotics Development with 8051 µc INTRODUCTION TO ROBOTICS Types of robots Legged robots Mobile robots Autonomous robots Manual robots Robotic

More information

Fundamental concept in computation Interrupt execution of a program to handle an event

Fundamental concept in computation Interrupt execution of a program to handle an event Interrupts Fundamental concept in computation Interrupt execution of a program to handle an event Don t have to rely on program relinquishing control Can code program without worrying about others Issues

More information

Ryan Everaert Application Note Team - I Application Note for Toshiba Bipolar Stepper, Part Number TB6560AHQ

Ryan Everaert Application Note Team - I Application Note for Toshiba Bipolar Stepper, Part Number TB6560AHQ Ryan Everaert Application Note Team - I Application Note for Toshiba Bipolar Stepper, Part Number TB6560AHQ Executive Summary of Operation and Application The Toshiba bipolar stepper driver integrated

More information

EXPERIMENT2. V3 Robot Navigates Autonomously with Feelers and Infrared Sensors

EXPERIMENT2. V3 Robot Navigates Autonomously with Feelers and Infrared Sensors EXPERIMENT2 V3 Robot Navigates Autonomously with Feelers and Infrared Sensors Purpose: Install and program the feeler sensors (switches) plus the adjustable range infrared sensors to navigate autonomously

More information

General Purpose Programmable Peripheral Devices. Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar

General Purpose Programmable Peripheral Devices. Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar Chapter 15 General Purpose Programmable Peripheral Devices by Rahul Patel, Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar Microprocessor & Interfacing (140701) Rahul Patel 1

More information

Microcontrollers for Ham Radio

Microcontrollers for Ham Radio Microcontrollers for Ham Radio MARTIN BUEHRING - KB4MG MAT T PESCH KK4NLK TOM PERRY KN4LSE What is a Microcontroller? A micro-controller is a small computer on a single integrated circuit containing a

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

Wallmaster Final Report

Wallmaster Final Report Wallmaster Final Report Terence Tai Class: EEL 4665/5666 Instructors: Dr. Arroyo, Dr. Schwartz TAs: Devin Hughes, Ryan Stevens, Josh Weaver, Sean Frucht, Tim Martin Table of Contents Abstract 3 Executive

More information

Signature: 1. (10 points) Basic Microcontroller Concepts

Signature: 1. (10 points) Basic Microcontroller Concepts EE 109 Practice Final Exam Last name: First name: Signature: The practice final is one hour, ten minutes long, closed book, closed notes, calculators allowed. To receive full credit on a question show

More information

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

Introduction to Arduino Programming. Sistemi Real-Time Prof. Davide Brugali Università degli Studi di Bergamo Introduction to Arduino Programming Sistemi Real-Time Prof. Davide Brugali Università degli Studi di Bergamo What is a Microcontroller www.mikroe.com/chapters/view/1 A small computer on a single chip containing

More information

Arduino Lab 5 ME Instructor: Dr. Sandra Metzler. Date of Submission: 4/24/17. Emily Curtiss

Arduino Lab 5 ME Instructor: Dr. Sandra Metzler. Date of Submission: 4/24/17. Emily Curtiss Arduino Lab 5 ME 2900 Instructor: Dr. Sandra Metzler Date of Submission: 4/24/17 Emily Curtiss I. Introduction As an Ohio State student, I spend most of my time at home working on assignments and being

More information

The MCU s Pulse. Internal clock or oscillator to synchronize operation. One clock cycle = 1 TOSC = 1/fOSC. t TOSC

The MCU s Pulse. Internal clock or oscillator to synchronize operation. One clock cycle = 1 TOSC = 1/fOSC. t TOSC The MCU s Pulse Internal clock or oscillator to synchronize operation V 0 t TOSC One clock cycle = 1 TOSC = 1/fOSC Clock Cycle The minimum time to perform any operation is one instruction cycle TCY 1 TCY

More information

Reading ps2 mouse output with an Arduino

Reading ps2 mouse output with an Arduino Reading ps2 mouse output with an Arduino Kyle P & Mike K 4 / 24 / 2012 Our goal was to create a piece of equipment that senses how much a robot drifts left to right by using an optical encoder. Background:

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

EMCH 367 Fundamentals of Microcontrollers Example_RPM_1 EXAMPLE RPM_1

EMCH 367 Fundamentals of Microcontrollers Example_RPM_1 EXAMPLE RPM_1 OBJECTIVE This example has the following objectives: EXAMPLE RPM_1 Review the use of MCU Timer function as an Input Capture (IC) device Review the use of the free running clock, TCNT, and it overflow flag,

More information

Embedded Systems and Software

Embedded Systems and Software Embedded Systems and Software Timers and Counters F-35 Lightning II Electro-optical Targeting System (EOTS Lecture 1, Slide-1 Timers and Counters Very important peripherals on microcontrollers ATtiny45

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

Direction Control of Robotic Fish Using Infrared Sensor Modules and IPMC Activation Schemes with a dspic30f4013 DSC

Direction Control of Robotic Fish Using Infrared Sensor Modules and IPMC Activation Schemes with a dspic30f4013 DSC Direction Control of Robotic Fish Using Infrared Sensor Modules and IPMC Activation Schemes with a dspic30f4013 DSC Carl A. Coppola 04/03/2009 ECE 480, Team 04 ME 481, Team 09 Abstract This application

More information

Turbidostat Hardware and Software Design

Turbidostat Hardware and Software Design Turbidostat Hardware and Software Design MS 4 By: Peter Harker Maxwell Holloway Evan Dreveskracht Table of Contents 1. Introduction... 3 2. Hardware 2.1 Scanner Assembly Design... 3 2.2 Circuit Boards...

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

Intelligent Machine Design Laboratory. EEL 5934 (Robotics) Professor: Keith L. Doty THOR

Intelligent Machine Design Laboratory. EEL 5934 (Robotics) Professor: Keith L. Doty THOR Intelligent Machine Design Laboratory EEL 5934 (Robotics) Professor: Keith L. Doty THOR Final Written Report Chris Parman December, 12 1996 1 Table of Contents: Abstract...2 Executive Summary..2 Introduction...3

More information

Overview. Exploration: LED Ramp Light. cs281: Introduction to Computer Systems Lab04 K-Maps and a Sensor/Actuator Circuit

Overview. Exploration: LED Ramp Light. cs281: Introduction to Computer Systems Lab04 K-Maps and a Sensor/Actuator Circuit cs281: Introduction to Computer Systems Lab04 K-Maps and a Sensor/Actuator Circuit Overview In this lab, we will use the K-maps from last lab to build a circuit for the three lights based on three bit

More information

Final Report. Terminator by Ju Zong April 22, 2014

Final Report. Terminator by Ju Zong April 22, 2014 Final Report Terminator by Ju Zong April 22, 2014 University of Florida Department of Electrical and Computer Engineering EEL 5666 Instructors: A. Antonio Arroyo, Eric M. Schwartz TAs: Josh Weaver, Andy

More information

EE445L Fall 2010 Final Version A Page 1 of 10

EE445L Fall 2010 Final Version A Page 1 of 10 EE445L Fall 2010 Final Version A Page 1 of 10 Jonathan W. Valvano First: Last: This is the closed book section. You must put your answers in the boxes on this answer page. When you are done, you turn in

More information

Make your own secret locking mechanism to keep unwanted guests out of your space!

Make your own secret locking mechanism to keep unwanted guests out of your space! KNOCK LOCK Make your own secret locking mechanism to keep unwanted guests out of your space! Discover : input with a piezo, writing your own functions Time : 1 hour Level : Builds on projects : 1,,3,4,5

More information