Understanding the Arduino to LabVIEW Interface

Size: px
Start display at page:

Download "Understanding the Arduino to LabVIEW Interface"

Transcription

1 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 1 and 2 in Design II. The Arduinos provided for the experiments will be preloaded with the necessary software functionality. No programming of the Arduino microcontroller is needed. However, for LabVIEW to communicate with the Arduino you will need to download and use within LabVIEW a predefined subvi (a subroutine). This document describes what you need to do and know so that LabVIEW can communicate with the Arduino during Experiments 1 and 2. It further overviews some things you should consider if you later plan to use the Arduino DAQ in your major design project. In order to use the Arduino as a data acquisition device/controller connected to LabVIEW, the two must be able to communicate with each other. To do this a common physical hardware interface and a common software communications protocol (the language each will use to communicate) must be available. The physical hardware interface is readily available via a standard USB connection. The software communication protocol that enables LabVIEW to communicate with the Arduino was custom designed to support our Design Lab activities. This protocol is implemented in software that resides on both sides of the USB communications link, i.e. in both LabVIEW and the Arduino. It has been designed to operate according to a master/slave relationship. This means LabVIEW (the master) will always be the one to initiate a conversation on the link. The Arduino (the slave) will always be listening, waiting to get a command from LabVIEW (i.e., send me data from analog channel 1.) The protocol does not support the Arduino initiating a communication with LabVIEW. This orderly approach greatly simplifies the interface design and must be kept in mind when designing your projects. Details of the protocol are described in this document. The Arduino Side of the Protocol There is nothing you need to program or load into the Arduino. It will be preloaded with the necessary "firmware" that implements the protocol to listen for LabVIEW commands on the USB link and respond accordingly. Once powered, a blinking yellow LED on the Arduino board is an indication that the protocol software is loaded and is running. The LabVIEW Side of the Protocol The second half of the interface is coded in a LabVIEW subvi, or if you were using a text based program language, a subroutine that will be called in the LabVIEW program when communication with the Arduino is required. The subvi has inputs and outputs which can be wired into your LabVIEW program. The subvi is named Arduino_Communication_SubVI.vi and it must be downloaded onto your computer. You can download the SubVI under this module in Canvas: Weekly Classwork -> Weeks 3&4 -> 1a. Arduino SubVI Download. Remember where you store the file on your laptop, as you will need the path later to bring it into LabVIEW.

2 To load and use the Arduino subvi: 1. Open LabVIEW and select "File, New VI". A "Block Diagram" and a "Front Panel" window will appear. 2. On the block diagram, get the Functions palette by right clicking. Then point and click at the "Select a VI" option at the bottom of the Functions palette and browse to the "Arduino_Communication_SubVI.vi" file you just saved. Click OK and drop it to the block diagram. The following icon will appear: When you place your mouse over the icon, five wiring/attachment points will appear. Note the colors of these attachment points. Colors within LabVIEW indicate data type (ASCII string, Boolean, integer number, floating point number, etc.) and connecting things with different colors typically will cause an error. See the LabVIEW quick reference guide for more information on data types and colors. 3. Right click on the icon and uncheck "View as Icon. You will get a more descriptive box that better describes the connection points. This box should be "stretched" down to expand it, and also right click on this box and select "Size to Text" to properly size the box. You are now looking at the subvi that is used to communicate with the Arduino. It should look like: To use it, as with any other LabVIEW program, you add controls and indicators on your Front Panel and then "write" your program in the "Block Diagram" by wiring various icons together according to your program design, including communicating with the Arduino. The inputs to the subvi, noted by in arrows on the left, are: 1. COM Port to use on the host (laptop or desktop) computer. This COM Port input will be connected to a drop down selection icon on your front panel that will identify all active COM ports on your computer and allow you to select which one is connected to the Arduino. 2. Message (command) to send to the Arduino. All characters in the Message data type must be ASCII characters. If your front panel inputs a number that will become part of the message, you must convert it to a string character (ASCII) before passing it to the subvi.

3 The outputs of the subvi, noted by out arrows on the right, are: 1. Arduino Reading, the requested data (if any) from the Arduino. This will return to LabVIEW the value on an analog-to-digital converter (ADC) channel (integer data approximately in the range of corresponding to 0-5 volts), or the status of a digital I/O pin (a one or a zero) as requested by the command string sent to the Arduino. The data output from the subvi is a string". That is, it is ASCII data, not a number. It could be converted to a number if desired by your program. 2. Data Input Error - a Boolean output that indicates the data string you tried to send did not meet the built in range checks for the specified bit or channel. For example, you may have requested analog data from analog channel 7, but the valid range is 0 through 5. If a data input error occurs, that string is "thrown away" and not sent to the Arduino. 3. Hardware Error - a Boolean output that indicates a message to/from the Arduino was not successful within the allotted time (I.e. timeout of 3 seconds). This most probably indicates a USB cable fault (disconnected) or the wrong COM port has been selected.. You can (and should for practice) exercise this subvi directly. This subvi has its own Front Panel associated with it; however the subvi s front panel must not be used when you write your own programs. It should only be used to exercise the subvi as an aid to understanding how it works. Typically if you were designing your own subvi you would use the subvi s front panel to verify its design and operation. For the experiments and project in this course, you will write your own programs, which means you will create your own front panels. To see the subvi s front panel, double click on the icon. To see and analyze the program behind the subvi, its Block Diagram, press Control E when the SubVI front panel is open. Be careful not to change the program in the block diagram, otherwise it may not work. Note the "case" structures, the gray boxes. Click on the arrows on top of the boxes to see alternate execution paths based on the input to the case. Right click on just about anything to get "help" on the item. LabVIEW help is excellent and also steers you to examples for a particular feature. The Protocol (Communication Language) Protocols across a USB serial communications line are designed using a series of ASCII characters that are interpreted on each side of the link. Our protocol currently supports five types of commands: 1. Read an analog input channel on the Arduino 2. Set a digital output pin (either high or low) 3. Read a digital input pin 4. Set the speed, direction or on/off status of a motor output 5. Set a digital output pin to function as a Pulse Width Modulated (PWM) control signal The following defines the specific rules of the protocol: The string to write must adhere to the following rules, or else you will get a "DATA INPUT ERROR" from the subvi: 1. To read an analog input (similar to the readadc ( ) function we used in Design I) the first character must be an 'A (for Analog) and the second character must be a number in the range of 0-5, for analog pins 0-5 on the Arduino. So to read analog channel 0, send an A0 character string. For alpha characters, upper or lower case is accepted. The total string length must be two characters. The Arduino Reading window will show the data sent back.

4 2. To set a digital output (similar to the outputlow ( ) and outputhigh ( ) functions in Design I) the first character must be a 'D' (for Digital), the second character must be a 'O' (letter O, not zero for Output), the third (or third and fourth) character(s) is a number either in the range of 4-9, 10 or 12, corresponding to the Arduino digital pin, and the last character is either a 0 (zero) or a 1 to indicate whether to set the bit low or high. So to turn on the red on-board LED at pin 10, send a DO101 character string to the Message input of the subvi. The total string length must be four or five characters, depending on the number of characters of the pin index. 3. To read a digital input (similar to readinput ( ) used for bumpers in Design I), you need to specify D for Digital, I for Input, and a number 2-9 indicating the pin index. So to read the data on pin 2 (which is normally pulled up to 5 volts) send a DI2 character string. The total string length must be three characters. The state of the specified input pin, a one or a zero, will be returned in the Arduino Reading window. 4. To set the status or speed of one or both of the motors controlled by the serial motor controller output (similar to the motors ( ) function in Design I), the first character must be an M for Motor. The second character (Motor #) must be a 1 or a 2 corresponding to the two available motor circuits, or a B indicating the command will be sent to Both motor circuits. The third character (Motor Status) must be either an A or B (where A and B correspond to the motor s spin direction, based on the your wiring), the letter O (not a zero), which means to turn the specified motor(s) Off, or an X meaning to do nothing with the status of a motor(s), i.e. we may just want to change speed. The final one, two or three characters (Motor Speed) must be a number in the range of 0-255, corresponding to the speed you want to set on the specified motor(s). Where 0 indicates no modification to the current operating speed, i.e., we may just want to change Motor Status, and 255 indicates the maximum/full speed. The three character Motor Speed data can be represented as X, XX, or XXX (i.e., 9, 09, 009) as long as it is within the range of The total string length for the motor command must be four, five or six characters, depending on the number of characters in the Motor Speed parameter. As examples, to set the speed on motor #1 to approximately 50% without changing its current status (i.e., on/off or direction), send a M1X127. To turn both motors off while leaving their individual speed settings unchanged, send a "MBO0". Also note that the Design II protocol allows for greater resolution on motor speed control than Design I did during the robot project. There are now 255 speed steps to full speed versus only 100 steps in Design I. This will enable more precise speed control, especially during Experiment To set a digital output pin to function as a Pulse Width Modulated (PWM) control signal the first character must be a P for PWM. The second character must be 5, 6 or 9 corresponding to the allowable digital pins on the Arduino that can support PWM. The final one to three characters must be a number in the range of corresponding to the desired PWM duty cycle (speed), 255 representing full on (maximum input VDC) and 0 representing full off (0 VDC). Like the motor command, speed can be represented as X, XX or XXX. The total string length for the PWM command must be either three, four or five characters, depending on the number of characters in the speed parameter. As an example, to set pin 6 as an output at 50% duty cycle send P6127. THE PWM FEATURE CAN BE USED TO CONTROL THE SPEED OF AN ADDITIONAL THIRD MOTOR, HOWEVER IT IS IMPORTANT TO NOTE THAT THE PWM DIGITAL OUTPUT FROM THE ARDUINO CAN ONLY BE USED AS A CONTROL SIGNAL. IT CANNOT SOURCE CURRENT DIRECTLY TO DRIVE A LOAD, SUCH AS A MOTOR. CONNECTING A MOTOR OR OTHER LOAD DIRECTLY TO A DIGITAL OUTPUT PIN WILL INSTANTANEOUSLY BURN OUT THE ARDUINO MICROCONTROLLER ($$$).

5 THE PWM CONTROL SIGNAL CAN ONLY BE USED BY CONNECTING IT TO THE BASE OF A TRANSISTOR THROUGH A 5K-10K OHM RESISTOR. THE TRANSISTOR WILL FUNCTION AS A HIGH CURRENT SWITCH TO DRIVE THE MOTOR. (Similar to the Floor Sensor Module circuit used in Design I.) NEVER USE A PWM DIGITAL OUTPUT PIN WITHOUT FIRST HAVING YOUR CIRCUIT APPROVED BY YOUR INSTRUCTOR. Table 1. summarizes the valid command sequences that can be sent to the subvi. Remember, all command sequences must be sent as ASCII characters and all data returned by the subvi is in ASCII. If other than a valid command sequence is presented to the subvi, it will ignore the command and return a "Data Input Error". Command First Parameter (*) Second Parameter (*) Third Parameter (*) Fourth Parameter Read an Analog Input A Set a Digital Output low or high D O 4-9, 10, 12 0 or 1 Read a Digital Input D I Control one or both of the two motors connected to the Serial Motor Controller Board (i.e., the robot wheel motors) Set a Digital Output to function as Pulse Width Modulation "control signal" (to possibly regulate the speed of a third motor) M 1, 2, B A, B, O, X P 5, 6, Table 1. Valid Input Strings (ASCII) for the "Arduino_Communication_SubVI" (*) Note: Any letter can be either lower or upper case.

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

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

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

Lab 5: Inverted Pendulum PID Control

Lab 5: Inverted Pendulum PID Control Lab 5: Inverted Pendulum PID Control In this lab we will be learning about PID (Proportional Integral Derivative) control and using it to keep an inverted pendulum system upright. We chose an inverted

More information

Workshops Elisava Introduction to programming and electronics (Scratch & Arduino)

Workshops Elisava Introduction to programming and electronics (Scratch & Arduino) Workshops Elisava 2011 Introduction to programming and electronics (Scratch & Arduino) What is programming? Make an algorithm to do something in a specific language programming. Algorithm: a procedure

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

EE 314 Spring 2003 Microprocessor Systems

EE 314 Spring 2003 Microprocessor Systems EE 314 Spring 2003 Microprocessor Systems Laboratory Project #9 Closed Loop Control Overview and Introduction This project will bring together several pieces of software and draw on knowledge gained in

More information

Tarocco Closed Loop Motor Controller

Tarocco Closed Loop Motor Controller Contents Safety Information... 3 Overview... 4 Features... 4 SoC for Closed Loop Control... 4 Gate Driver... 5 MOSFETs in H Bridge Configuration... 5 Device Characteristics... 6 Installation... 7 Motor

More information

Lab 12 Laboratory 12 Data Acquisition Required Special Equipment: 12.1 Objectives 12.2 Introduction 12.3 A/D basics

Lab 12 Laboratory 12 Data Acquisition Required Special Equipment: 12.1 Objectives 12.2 Introduction 12.3 A/D basics Laboratory 12 Data Acquisition Required Special Equipment: Computer with LabView Software National Instruments USB 6009 Data Acquisition Card 12.1 Objectives This lab demonstrates the basic principals

More information

ARDUINO / GENUINO. start as professional

ARDUINO / GENUINO. start as professional ARDUINO / GENUINO start as professional . ARDUINO / GENUINO start as professional short course in a book MOHAMMED HAYYAN ALSIBAI SULASTRI ABDUL MANAP Publisher Universiti Malaysia Pahang Kuantan 2017 Copyright

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

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

Uragan- for LabView. Installation

Uragan- for LabView. Installation for LabView Installation Follow these steps to install the LabView driver: 1. Download UraganLabView.zip 2. Unzip UraganLabView.zip in the user.lib directory of your LabView installation 3. Run LabView

More information

MADEinUSA OPERATOR S MANUAL. RS232 Interface Rev. A

MADEinUSA OPERATOR S MANUAL. RS232 Interface Rev. A MADEinUSA OPERATOR S MANUAL RS232 Interface 92-3006 Rev. A www.iradion.com Iradion Laser, Inc. 51 Industrial Dr. N. Smithfield, RI 02896 (410) 762-5100 Table of Contents 1. Overview... 2 2. Equipment Required...

More information

Practical Assignment 1: Arduino interface with Simulink

Practical Assignment 1: Arduino interface with Simulink !! Department of Electrical Engineering Indian Institute of Technology Dharwad EE 303: Control Systems Practical Assignment - 1 Adapted from Take Home Labs, Oklahoma State University Practical Assignment

More information

EVDP610 IXDP610 Digital PWM Controller IC Evaluation Board

EVDP610 IXDP610 Digital PWM Controller IC Evaluation Board IXDP610 Digital PWM Controller IC Evaluation Board General Description The IXDP610 Digital Pulse Width Modulator (DPWM) is a programmable CMOS LSI device, which accepts digital pulse width data from a

More information

Topcon Receiver Utility: GNSS Receiver Firmware Update Process. Oscar R. Cantu

Topcon Receiver Utility: GNSS Receiver Firmware Update Process. Oscar R. Cantu Topcon Receiver Utility: GNSS Receiver Firmware Update Process Oscar R. Cantu TRU: GNSS Receiver Firmware Update Topcon Receiver Utility (TRU), product definition Office Processing and Reporting Software

More information

HB-25 Motor Controller (#29144)

HB-25 Motor Controller (#29144) Web Site: www.parallax.com Forums: forums.parallax.com Sales: sales@parallax.com Technical: support@parallax.com Office: (916) 624-8333 Fax: (916) 624-8003 Sales: (888) 512-1024 Tech Support: (888) 997-8267

More information

Quantizer step: volts Input Voltage [V]

Quantizer step: volts Input Voltage [V] EE 101 Fall 2008 Date: Lab Section # Lab #8 Name: A/D Converter and ECEbot Power Abstract Partner: Autonomous robots need to have a means to sense the world around them. For example, the bumper switches

More information

Endurance R/C Wi-Fi Servo Controller 2 Instructions

Endurance R/C Wi-Fi Servo Controller 2 Instructions Endurance R/C Wi-Fi Servo Controller 2 Instructions The Endurance R/C Wi-Fi Servo Controller 2 allows you to control up to eight hobby servos, R/C relays, light controllers and more, across the internet

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

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

EE 308 Lab Spring 2009

EE 308 Lab Spring 2009 9S12 Subsystems: Pulse Width Modulation, A/D Converter, and Synchronous Serial Interface In this sequence of three labs you will learn to use three of the MC9S12's hardware subsystems. WEEK 1 Pulse Width

More information

Setup Download the Arduino library (link) for Processing and the Lab 12 sketches (link).

Setup Download the Arduino library (link) for Processing and the Lab 12 sketches (link). Lab 12 Connecting Processing and Arduino Overview In the previous lab we have examined how to connect various sensors to the Arduino using Scratch. While Scratch enables us to make simple Arduino programs,

More information

USB Multifunction Arbitrary Waveform Generator AWG2300. User Guide

USB Multifunction Arbitrary Waveform Generator AWG2300. User Guide USB Multifunction Arbitrary Waveform Generator AWG2300 User Guide Contents Safety information... 3 About this guide... 4 AWG2300 specifications... 5 Chapter 1. Product introduction 1 1. Package contents......

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

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

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

USING RS-232 to RS-485 CONVERTERS (With RS-232, RS-422 and RS-485 devices)

USING RS-232 to RS-485 CONVERTERS (With RS-232, RS-422 and RS-485 devices) ICS DataCom Application Note USING RS- to RS- CONVERTERS (With RS-, RS- and RS- devices) INTRODUCTION Table RS-/RS- Logic Levels This application note provides information about using ICSDataCom's RS-

More information

Cost efficient design Operates in full sunlight Low power consumption Wide field of view Small footprint Simple serial connectivity Long Range

Cost efficient design Operates in full sunlight Low power consumption Wide field of view Small footprint Simple serial connectivity Long Range Cost efficient design Operates in full sunlight Low power consumption Wide field of view Small footprint Simple serial connectivity Long Range sweep v1.0 CAUTION This device contains a component which

More information

Cost efficient design Operates in full sunlight Low power consumption Wide field of view Small footprint Simple serial connectivity Long Range

Cost efficient design Operates in full sunlight Low power consumption Wide field of view Small footprint Simple serial connectivity Long Range Cost efficient design Operates in full sunlight Low power consumption Wide field of view Small footprint Simple serial connectivity Long Range sweep v1.0 CAUTION This device contains a component which

More information

High Current DC Motor Driver Manual

High Current DC Motor Driver Manual High Current DC Motor Driver Manual 1.0 INTRODUCTION AND OVERVIEW This driver is one of the latest smart series motor drivers designed to drive medium to high power brushed DC motor with current capacity

More information

LVTX-10 Series Ultrasonic Sensor Installation and Operation Guide

LVTX-10 Series Ultrasonic Sensor Installation and Operation Guide LVTX-10 Series Ultrasonic Sensor Installation and Operation Guide M-5578/0516 M-5578/0516 Section TABLE OF CONTENTS 1 Introduction... 1 2 Quick Guide on Getting Started... 2 Mounting the LVTX-10 Series

More information

Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor

Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor Recommended Due Date: By your lab time the week of February 12 th Possible Points: If checked off before

More information

Experiment #3: Micro-controlled Movement

Experiment #3: Micro-controlled Movement Experiment #3: Micro-controlled Movement So we re already on Experiment #3 and all we ve done is blinked a few LED s on and off. Hang in there, something is about to move! As you know, an LED is an output

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

Development of a MATLAB Data Acquisition and Control Toolbox for BASIC Stamp Microcontrollers

Development of a MATLAB Data Acquisition and Control Toolbox for BASIC Stamp Microcontrollers Chapter 4 Development of a MATLAB Data Acquisition and Control Toolbox for BASIC Stamp Microcontrollers 4.1. Introduction Data acquisition and control boards, also known as DAC boards, are used in virtually

More information

Serial Communication AS5132 Rotary Magnetic Position Sensor

Serial Communication AS5132 Rotary Magnetic Position Sensor Serial Communication AS5132 Rotary Magnetic Position Sensor Stephen Dunn 11/13/2015 The AS5132 is a rotary magnetic position sensor capable of measuring the absolute rotational angle of a magnetic field

More information

ezsystem elab16m Light Sensing Robot

ezsystem elab16m Light Sensing Robot ezsystem elab16m Light Sensing Robot ezsystem The aim of ezsystem is to enable Creativity and Innovation at an early age in a Problem Based Learning (PBL) approach. ezsystem integrates ezcircuit Designer,

More information

Mate Serial Communications Guide This guide is only relevant to Mate Code Revs. of 4.00 and greater

Mate Serial Communications Guide This guide is only relevant to Mate Code Revs. of 4.00 and greater Mate Serial Communications Guide This guide is only relevant to Mate Code Revs. of 4.00 and greater For additional information contact matedev@outbackpower.com Page 1 of 20 Revision History Revision 2.0:

More information

Programmable Control Introduction

Programmable Control Introduction Programmable Control Introduction By the end of this unit you should be able to: Give examples of where microcontrollers are used Recognise the symbols for different processes in a flowchart Construct

More information

Application Note. Communication between arduino and IMU Software capturing the data

Application Note. Communication between arduino and IMU Software capturing the data Application Note Communication between arduino and IMU Software capturing the data ECE 480 Team 8 Chenli Yuan Presentation Prep Date: April 8, 2013 Executive Summary In summary, this application note is

More information

Modbus communication module for TCX2: AEX-MOD

Modbus communication module for TCX2: AEX-MOD Modbus communication module for TCX2: Communication Specification TCX2 is factory installed in TCX2 series controllers with -MOD suffix, and is also available separately upon request for customer installation

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

BlinkRC User Manual. 21 December Hardware Version 1.1. Manual Version 2.0. Copyright 2010, Blink Gear LLC. All rights reserved.

BlinkRC User Manual. 21 December Hardware Version 1.1. Manual Version 2.0. Copyright 2010, Blink Gear LLC. All rights reserved. BlinkRC 802.11b/g WiFi Servo Controller with Analog Feedback BlinkRC User Manual 21 December 2010 Hardware Version 1.1 Manual Version 2.0 Copyright 2010, Blink Gear LLC. All rights reserved. http://blinkgear.com

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

Experiment 5.B. Multifunction Wireless Control. ECEN 2270 Electronics Design Laboratory 1

Experiment 5.B. Multifunction Wireless Control. ECEN 2270 Electronics Design Laboratory 1 .B Multifunction Wireless Control Electronics Design Laboratory 1 Procedures 5.B.0 5.B.1 5.B.2 5.B.3 5.B.4 Turn in your pre-lab before doing anything else. Check that Part A is in working order Wirelessly

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

Exercise 2. Point-to-Point Programs EXERCISE OBJECTIVE

Exercise 2. Point-to-Point Programs EXERCISE OBJECTIVE Exercise 2 Point-to-Point Programs EXERCISE OBJECTIVE In this exercise, you will learn various important terms used in the robotics field. You will also be introduced to position and control points, and

More information

Exercise 5: PWM and Control Theory

Exercise 5: PWM and Control Theory Exercise 5: PWM and Control Theory Overview In the previous sessions, we have seen how to use the input capture functionality of a microcontroller to capture external events. This functionality can also

More information

H-bridge for DC motor control

H-bridge for DC motor control H-bridge for DC motor control Directional control Control algorithm for this h-bridge circuit A B 0 0 Stop 0 1 Forward 1 0 Reverse 1 1 Prohibited This circuit has the advantage of small voltage drop due

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

CMU232 User Manual Last Revised October 21, 2002

CMU232 User Manual Last Revised October 21, 2002 CMU232 User Manual Last Revised October 21, 2002 Overview CMU232 is a new low-cost, low-power serial smart switch for serial data communications. It is intended for use by hobbyists to control multiple

More information

Debugging a Boundary-Scan I 2 C Script Test with the BusPro - I and I2C Exerciser Software: A Case Study

Debugging a Boundary-Scan I 2 C Script Test with the BusPro - I and I2C Exerciser Software: A Case Study Debugging a Boundary-Scan I 2 C Script Test with the BusPro - I and I2C Exerciser Software: A Case Study Overview When developing and debugging I 2 C based hardware and software, it is extremely helpful

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

Quick Start. Precis-BX305. Precise GNSS RTK Board.

Quick Start. Precis-BX305. Precise GNSS RTK Board. Quick Start Precis-BX305 Precise GNSS RTK Board www.tersus-gnss.com December, 2016 Quick Start Guide of Precis-BX305 This quick start guide provides the basic information needed to set up and use Precis-BX305

More information

DI-1100 USB Data Acquisition (DAQ) System Communication Protocol

DI-1100 USB Data Acquisition (DAQ) System Communication Protocol DI-1100 USB Data Acquisition (DAQ) System Communication Protocol DATAQ Instruments Although DATAQ Instruments provides ready-to-run WinDaq software with its DI-1100 Data Acquisition Starter Kits, programmers

More information

Familiarization with the Servo Robot System

Familiarization with the Servo Robot System Exercise 1 Familiarization with the Servo Robot System EXERCISE OBJECTIVE In this exercise, you will be introduced to the Lab-Volt Servo Robot System. In the Procedure section, you will install and connect

More information

ME 333 Assignment 7 and 8 PI Control of LED/Phototransistor Pair. Overview

ME 333 Assignment 7 and 8 PI Control of LED/Phototransistor Pair. Overview ME 333 Assignment 7 and 8 PI Control of LED/Phototransistor Pair Overview For this assignment, you will be controlling the light emitted from and received by an LED/phototransistor pair. There are many

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

Introduction 1. Download socket (the cable plugs in here so that the GENIE microcontroller can talk to the computer)

Introduction 1. Download socket (the cable plugs in here so that the GENIE microcontroller can talk to the computer) Introduction 1 Welcome to the magical world of GENIE! The project board is ideal when you want to add intelligence to other design or electronics projects. Simply wire up your inputs and outputs and away

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

Instrumentation and Microcontrollers Using Automatic Code Generation

Instrumentation and Microcontrollers Using Automatic Code Generation Instrumentation and Microcontrollers Using Automatic Code Generation Using and Applying Microcontrollers for the Rest of Us! Marc E Herniter 2013 Marc E. Herniter, Rose-Hulman Institute of Technology,

More information

Programming a Servo. Servo. Red Wire. Black Wire. White Wire

Programming a Servo. Servo. Red Wire. Black Wire. White Wire Programming a Servo Learn to connect wires and write code to program a Servo motor. If you have gone through the LED Circuit and LED Blink exercises, you are ready to move on to programming a Servo. A

More information

An Introduction to Programming using the NXT Robot:

An Introduction to Programming using the NXT Robot: An Introduction to Programming using the NXT Robot: exploring the LEGO MINDSTORMS Common palette. Student Workbook for independent learners and small groups The following tasks have been completed by:

More information

Shenzhen ATC Technology CO.,LTD ATC. A-1 Serial Remote I/O Module. User Manual. V1.13 Edit:2018/01/

Shenzhen ATC Technology CO.,LTD ATC. A-1 Serial Remote I/O Module. User Manual. V1.13 Edit:2018/01/ ATC A-1 Serial Remote I/O Module User Manual V1.13 Edit:2018/01/30-1 - Catalogue 1.The introduction of Modbus protocol...- 3-1.1 Modbus protocol master-slave response process... - 3-1.2 Modbus register

More information

LabVIEW 8" Student Edition

LabVIEW 8 Student Edition LabVIEW 8" Student Edition Robert H. Bishop The University of Texas at Austin PEARSON Prentice Hall Upper Saddle River, NJ 07458 CONTENTS Preface xvii LabVIEW Basics 1.1 System Configuration Requirements

More information

Studuino Icon Programming Environment Guide

Studuino Icon Programming Environment Guide Studuino Icon Programming Environment Guide Ver 0.9.6 4/17/2014 This manual introduces the Studuino Software environment. As the Studuino programming environment develops, these instructions may be edited

More information

LAB II. INTRODUCTION TO LABVIEW

LAB II. INTRODUCTION TO LABVIEW 1. OBJECTIVE LAB II. INTRODUCTION TO LABVIEW In this lab, you are to gain a basic understanding of how LabView operates the lab equipment remotely. 2. OVERVIEW In the procedure of this lab, you will build

More information

WTDOT-M. eeder. Digital Output Module. Technologies FEATURES SPECIFICATIONS DESCRIPTION. Weeder Technologies

WTDOT-M. eeder. Digital Output Module. Technologies FEATURES SPECIFICATIONS DESCRIPTION. Weeder Technologies eeder Technologies 90-A Beal Pkwy NW, Fort Walton Beach, FL 32548 www.weedtech.com 850-863-5723 Digital Output Module FEATURES 8 high-current open-collector output channels with automatic overload shutdown.

More information

Digital-to-Analog Converter. Lab 3 Final Report

Digital-to-Analog Converter. Lab 3 Final Report Digital-to-Analog Converter Lab 3 Final Report The Ion Cannons: Shrinand Aggarwal Cameron Francis Nicholas Polito Section 2 May 1, 2017 1 Table of Contents Introduction..3 Rationale..3 Theory of Operation.3

More information

Jaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN)

Jaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN) Jaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN) 217-3367 Ordering Information Product Number Description 217-3367 Stellaris Brushed DC Motor Control Module with CAN (217-3367)

More information

CPSC 226 Lab Four Spring 2018

CPSC 226 Lab Four Spring 2018 CPSC 226 Lab Four Spring 2018 Directions. This lab is a quick introduction to programming your Arduino to do some basic internal operations and arithmetic, perform character IO, read analog voltages, drive

More information

Version Futek Instruments, LLC

Version Futek Instruments, LLC FT_ez_DAQ User s Manual Version 2.0.0 Futek Instruments, LLC Table of Contents 1. Introduction... 3 2. System Requirements... 3 3. Software Installation... 4 3.1 Application software and USB driver installation...

More information

Relay Driver Overview and Applications

Relay Driver Overview and Applications Relay Driver Overview and Applications Describes Basic and Advanced Settings for common and alternative/novel uses for the Relay driver (RD-1). Morningstar s Relay Driver (RD-1) is a fully programmable

More information

Industrial Automation Training Academy. Arduino, LabVIEW & PLC Training Programs Duration: 6 Months (180 ~ 240 Hours)

Industrial Automation Training Academy. Arduino, LabVIEW & PLC Training Programs Duration: 6 Months (180 ~ 240 Hours) nfi Industrial Automation Training Academy Presents Arduino, LabVIEW & PLC Training Programs Duration: 6 Months (180 ~ 240 Hours) For: Electronics & Communication Engineering Electrical Engineering Instrumentation

More information

Page 1/10 Digilent Analog Discovery (DAD) Tutorial 6-Aug-15. Figure 2: DAD pin configuration

Page 1/10 Digilent Analog Discovery (DAD) Tutorial 6-Aug-15. Figure 2: DAD pin configuration Page 1/10 Digilent Analog Discovery (DAD) Tutorial 6-Aug-15 INTRODUCTION The Diligent Analog Discovery (DAD) allows you to design and test both analog and digital circuits. It can produce, measure and

More information

Catalog

Catalog - 1 - Catalog 1. Overview...- 3-2. Feature... - 3-3. Application...- 3-4. Block Diagram...- 3-5. Electrical Characteristics... - 4-6. Operation... - 4-1) Power on Reset... - 4-2) Sleep mode... - 4-3) Working

More information

Revision 1. March 21, ADC Operation Manual N 11 th St San Jose CA

Revision 1. March 21, ADC Operation Manual N 11 th St San Jose CA Revision 1 March 21, 2017 ADC Operation Manual www.mountztorque.com - 1080 N 11 th St San Jose CA 95112 408.292.2214 1 Index 1. Installation 3 1.1 Required PC specification 3 1.2 Software 3 2. Operation

More information

DESCRIPTION DOCUMENT FOR WIFI / BT HEAVY DUTY RELAY BOARD HARDWARE REVISION 0.1

DESCRIPTION DOCUMENT FOR WIFI / BT HEAVY DUTY RELAY BOARD HARDWARE REVISION 0.1 DESCRIPTION DOCUMENT FOR WIFI / BT HEAVY DUTY RELAY BOARD HARDWARE REVISION 0.1 Department Name Signature Date Author Reviewer Approver Revision History Rev Description of Change A Initial Release Effective

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

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

ZIO Python API. Tutorial. 1.1, May 2009

ZIO Python API. Tutorial. 1.1, May 2009 ZIO Python API Tutorial 1.1, May 2009 This work is licensed under the Creative Commons Attribution-Share Alike 2.5 India License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.5/in/

More information

Built-in soft-start feature. Up-Slope and Down-Slope. Power-Up safe start feature. Motor will only start if pulse of 1.5ms is detected.

Built-in soft-start feature. Up-Slope and Down-Slope. Power-Up safe start feature. Motor will only start if pulse of 1.5ms is detected. Thank You for purchasing our TRI-Mode programmable DC Motor Controller. Our DC Motor Controller is the most flexible controller you will find. It is user-programmable and covers most applications. This

More information

General Description. The TETRIX MAX Servo Motor Expansion Controller features the following:

General Description. The TETRIX MAX Servo Motor Expansion Controller features the following: General Description The TETRIX MAX Servo Motor Expansion Controller is a servo motor expansion peripheral designed to allow the addition of multiple servo motors to the PRIZM Robotics Controller. The device

More information

PCB & Circuit Designing (Summer Training Program) 6 Weeks/ 45 Days PRESENTED BY

PCB & Circuit Designing (Summer Training Program) 6 Weeks/ 45 Days PRESENTED BY PCB & Circuit Designing (Summer Training Program) 6 Weeks/ 45 Days PRESENTED BY RoboSpecies Technologies Pvt. Ltd. Office: D-66, First Floor, Sector- 07, Noida, UP Contact us: Email: stp@robospecies.com

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

PSoC and Arduino Calculator

PSoC and Arduino Calculator EGR 322 Microcontrollers PSoC and Arduino Calculator Prepared for: Dr. Foist Christopher Parisi (390281) Ryan Canty (384185) College of Engineering California Baptist University 05/02/12 TABLE OF CONTENTS

More information

Part 1. Using LabVIEW to Measure Current

Part 1. Using LabVIEW to Measure Current NAME EET 2259 Lab 11 Studying Characteristic Curves with LabVIEW OBJECTIVES -Use LabVIEW to measure DC current. -Write LabVIEW programs to display the characteristic curves of resistors, diodes, and transistors

More information

B Robo Claw 2 Channel 25A Motor Controller Data Sheet

B Robo Claw 2 Channel 25A Motor Controller Data Sheet B0098 - Robo Claw 2 Channel 25A Motor Controller Feature Overview: 2 Channel at 25A, Peak 30A Hobby RC Radio Compatible Serial Mode TTL Input Analog Mode 2 Channel Quadrature Decoding Thermal Protection

More information

MD03-50Volt 20Amp H Bridge Motor Drive

MD03-50Volt 20Amp H Bridge Motor Drive MD03-50Volt 20Amp H Bridge Motor Drive Overview The MD03 is a medium power motor driver, designed to supply power beyond that of any of the low power single chip H-Bridges that exist. Main features are

More information

B RoboClaw 2 Channel 30A Motor Controller Data Sheet

B RoboClaw 2 Channel 30A Motor Controller Data Sheet B0098 - RoboClaw 2 Channel 30A Motor Controller (c) 2010 BasicMicro. All Rights Reserved. Feature Overview: 2 Channel at 30Amp, Peak 60Amp Battery Elimination Circuit (BEC) Switching Mode BEC Hobby RC

More information

The plan... CSE 6324 From control to actuators Michael Jenkin Office Hours: Sherman 1028 Wed 3-4. From the bottom up...

The plan... CSE 6324 From control to actuators Michael Jenkin Office Hours: Sherman 1028 Wed 3-4. From the bottom up... The plan... CSE 6324 From control to actuators Michael Jenkin jenkin@cse.yorku.ca Office Hours: Sherman 1028 Wed 3-4 Lectures this week No class next week Start building the week after (i) Need to sort

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

UIO Digital I/Os & DAQ Board User Manual

UIO Digital I/Os & DAQ Board User Manual UIO-369 5 Digital I/Os & DAQ Board User Manual /3 UIO-369 Digital Inputs/Outputs & DAQ board with 5 channels and USB/RS3/Bluetooth/RF connectivity. Welcome to the world of Computer Automation. This Digital

More information

WTDIN-M. eeder. Digital Input Module. Technologies FEATURES SPECIFICATIONS DESCRIPTION. Weeder Technologies

WTDIN-M. eeder. Digital Input Module. Technologies FEATURES SPECIFICATIONS DESCRIPTION. Weeder Technologies eeder Technologies 90-A Beal Pkwy NW, Fort Walton Beach, FL 32548 www.weedtech.com 850-863-5723 Digital Input Module FEATURES 8 wide-range digital input channels with high voltage transient protection.

More information

Ultimate Actuator Drivebox 30A Quick start guide

Ultimate Actuator Drivebox 30A Quick start guide 2016 Ultimate Actuator Drivebox 30A Quick start guide info@e-tronix.cz e-tronix s.r.o. 1.1.2016 OBSAH Identification... 3 Serial Number... 3 Manufacturer and reseller contact... 4 Before Start... 4 UAD30A

More information

Correlation of Voltage and Temperature Measurement

Correlation of Voltage and Temperature Measurement MEASURpoint Correlation of Voltage and Temperature Measurement Precision Measurement Instrument MEASURpoint is an ultra-accurate instrument for any combination of temperature and voltage to be measured

More information

The light sensor, rotation sensor, and motors may all be monitored using the view function on the RCX.

The light sensor, rotation sensor, and motors may all be monitored using the view function on the RCX. Review the following material on sensors. Discuss how you might use each of these sensors. When you have completed reading through this material, build a robot of your choosing that has 2 motors (connected

More information

Pulse-Width-Modulation Motor Speed Control with a PIC (modified from lab text by Alciatore)

Pulse-Width-Modulation Motor Speed Control with a PIC (modified from lab text by Alciatore) Laboratory 14 Pulse-Width-Modulation Motor Speed Control with a PIC (modified from lab text by Alciatore) Required Components: 1x PIC 16F88 18P-DIP microcontroller 3x 0.1 F capacitors 1x 12-button numeric

More information