USER MANUAL ARDUINO I/O EXPANSION SHIELD

Similar documents
Sanguino TSB. Introduction: Features:

keyestudio Keyestudio MEGA 2560 R3 Board

BASIC ARDUINO WORKSHOP. Mr. Aldwin and Mr. Bernardo

ARDUINO UNO REV3 Code: A000066

IDUINO for maker s life. User Manual. For IDUINO Mega2560 Board(ST1026)

ARDUINO LEONARDO WITH HEADERS Code: A000057

ARDUINO MEGA 2560 REV3 Code: A000067

ARDUINO LEONARDO ETH Code: A000022

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

ARDUINO YÚN Code: A000008

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

Arduino ADK Rev.3 Board A000069

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

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 Prof. Dr. Magdy M. Abdelhameed

IDUINO for maker s life. User Manual. For IDUINO development Board.

Arduino Programming. Arduino UNO & Innoesys Educational Shield

Arduino Dock 2. The Hardware

Laboratory 1 Introduction to the Arduino boards

ARDUINO YÚN MINI Code: A000108

GUIDE TO SP STARTER SHIELD (V3.0)

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

Digital Pins and Constants

FUNCTIONS For controlling the Arduino board and performing computations.

Goal: We want to build an autonomous vehicle (robot)

ARDUINO MEGA ADK REV3 Code: A000069

ARDUINO M0 PRO Code: A000111

ARDUINO MICRO WITHOUT HEADERS Code: A000093

Microcontrollers for Ham Radio

MegaPi Born to Motion Control

ARDUINO UNO R3 BASED 20A ROBOT CONTROL BOARD [RKI-1580] Page 1

Welcome to Apollo. For more information, please visit the website and select Apollo. Default Code

ARDUINO INDUSTRIAL 1 01 Code: A000126

HUB-ee BMD-S Arduino Proto Shield V1.1

SX1509 I/O Expander Breakout Hookup Guide

Introduction to Arduino (programming, wiring, and more!)

Arduino Smart Robot Car Kit User Guide

ROBOTLINKING THE POWER SUPPLY LEARNING KIT TUTORIAL

ARDUINO. By Kiran Tiwari BCT 2072 CoTS.

TA0139 USER MANUAL ARDUINO 2 WHEEL DRIVE WIRELESS BLUETOOTH ROBOT KIT

RedBoard Hookup Guide

Adafruit Metro Mini. Created by lady ada. Last updated on :12:28 PM UTC

Smart Objects. SAPIENZA Università di Roma, M.Sc. in Product Design Fabio Patrizi

Introduction to Arduino. Wilson Wingston Sharon

Arduino Programming and Interfacing

EZ-Bv4 Datasheet v0.7

INDUSTRIAL TRAINING:6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD

How to Use an Arduino

StenBOT Robot Kit. Stensat Group LLC, Copyright 2018

Introduction to Arduino

ARDUINO BOARD LINE UP

AVR 40 Pin Rapid Robot controller board

I2CMux Grove Board 0057-GRV4I2CMux-DSBT/ SF

IME-100 Interdisciplinary Design and Manufacturing

THE COMPLETE ALL IN ONE ROBOT 360 NANO BOT

ARDUINO PRIMO. Code: A000135

Serial Communication

The ICU-Duino Arduino Shield!

Freeduino USB 1.0. Arduino Compatible Development Board Starter Guide. 1. Overview

EL Sequencer/Escudo Dos Hookup Guide

Lesson 5 Arduino Prototype Development Platforms. Chapter-8 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

TA0297 WEMOS D1 R2 WIFI ARDUINO DEVELOPMENT BOARD ESP8266

Specification. 1.Power Supply direct from Microcontroller Board. 2.The circuit can be used with Microcontroller Board such as Arduino UNO R3.

Arduino Ethernet. Arduino Ethernet Rev. 2 board front view with optional PoE module. (

EXPERIMENT 7 Please visit to learn all features of arduino before you start the experiments

Halloween Pumpkinusing. Wednesday, October 17, 12

Gambar A.1 Board Arduino

Workshop on Microcontroller Based Project Development

Objectives: Learn how to input and output analogue values Be able to see what the Arduino is thinking by sending numbers to the screen

Diploma in Embedded Systems

Arduino Uno R3 INTRODUCTION

XNUCLEO-F030R8, Improved STM32 NUCLEO Board

Automatic Railway Gate Control System Using RFID.

ARDUINO MINI 05 Code: A000087

University of Hull Department of Computer Science C4DI Interfacing with Arduinos

Robotics Adventure Book Scouter manual STEM 1

Clark College Electrical Engineering & Computer Science

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

Phi-connect for Arduino (connector board V1.9)

Maker Uno MAKER-UNO. User s Manual. Rev 1.0 Dec 2017

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

Arduino Uno Microcontroller Overview

Arduino: What is it? What can it do?

Omega-328 SB. Rapid Prototyping tool with Shield Base for Atmel AtmegaXX8 Microcontrollers. User Manual

ATMega128 Rapid Robot Controller Board [RKI-1148]

Blinking an LED 1 PARTS: Circuit 2 LED. Wire. 330Ω Resistor

More Arduino Programming

Introduction To Arduino

Arduino Part 2. Introductory Medical Device Prototyping

STEPD StepDuino Quickstart Guide

TABLE OF CONTENTS INTRODUCTION LESSONS PROJECTS

Arduinos without (much) programming

TANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO

1/Build a Mintronics: MintDuino

Alessandra de Vitis. Arduino

EasyAVR6 Development System

Omega MP. Multi-Programming Shield for Atmel Microcontrollers. User Manual

An FTDI connection: The ATtiny microcontrollers don t have a hardware UART External Crystal header pins for an optional crystal

Lab 2 - Powering the Fubarino. Fubarino,, Intro to Serial, Functions and Variables

Introduction to Microprocessors: Arduino

Transcription:

USER MANUAL ARDUINO I/O EXPANSION SHIELD Description: Sometimes Arduino Uno users run short of pins because there s a lot of projects that requires more than 20 signal pins. The only option they are left with is buying an expensive Arduino Mega or any other microcontroller with more pins. This shield provides a cheap solution to this problem by adding 18 signal pins to Arduino Uno. Arduino library associated with this shield makes it really easy to use the pins of this shield and perform basic input/output tasks. As there s no multi-threading feature, your Arduino Uno alone cannot perform two or more tasks simultaneously. This shield can be a way around to this issue as using this shield with Arduino Uno is like using two Arduino boards together. Advanced users can use this advantage by uploading their own program to the on-board atmega8 chip of this shield using Arduino Uno as ISP.

Specifications: Communication method with arduino board: I2C. No. of additional pins: 18. 4 additional ADC pins and 3 additional PWM pins. Dedicated arduino library for this shield. On-board microcontroller can be reprogrammed easily using arduino as ISP. L-shaped header helps using this shield when other shields are connected on top of it. Additional Pin Description: There are a total of 18 additional signal pins that this shield adds to Arduino Uno. They are labeled as 0-13, A0, A1, A2, & A3. Pin 9, 10 & 11 are the only PWM pins. You can use them to control a DC motors speed along with a motor controller. A0-A3 are the 4 ADC (analog to digital converter) pins. They can be used to read values from an analog sensor. There is also 5V and GND rails to help you power up multiple sensors and ICs using the power of Arduino Uno. The pins are arranged in two rows of female rail connectors. One is a standard flat rail and another is L shaped rail. The L shaped rail is useful when you ve placed another Arduino shield on top of this I/O shield (e.g.: LCD keypad shield). Two sets of connectors also helps you to connect 2 wires to a single pin. How it communicates with Arduino Uno: It s I2C communication that the shield uses to talk to Arduino. Arduino Uno pins A4 & A5 gets connected to the atmega8 A4 & A5 pins when this shield is attached. There s pull up resistors in this shield connected to the I2C buses. As pin A4 & A5 are used for communication, you cannot use them as digital/analog pins when you are using this shield. So, you ll have a total of 8 ADC pins (4 from Arduino Uno, 4 from the shield) when using this shield.

Library installation: This shield comes with its own Arduino library to make it really easy to use. There s also several example codes to get you started quickly. Download the.zip library from the document section of this product page of techshopbd. Open Arduino IDE (version 1.6 or higher), go to Sketch>Include library>add.zip library. Then browse to the IoExpansionShield.zip file that you just downloaded. To check if library is successfully installed, go to Sketch>Include library and check for IoExpansioShield. If you ve done everything correctly, you ll find it there. Go to File>Examples>IoExpansionShield and select one of the example codes to begin using the shield. As a reference, this video can help you if you haven t got it yet. Library Description: Currently the library supports the 5 basic arduino functions: 1. pinmode 2. digitalwrite 3. digitalread 4. analogwrite 5. analogread The structure of these functions are same as arduino core I/O functions. All you have to do is add an object of the ioexpansionshield class to distinguish them from similar arduino core functions. As an example, there s a modified blink code below. It will blink the Led of Arduino Uno pin 13 along with an LED connected to I/O Expansion shield pin 13. #include <IoExpansionShield.h> #include <Wire.h> IoExpansionShield shield; /*shield as object*/ void setup() { shield.pinmode(13,output); /*sets shield pin 13 as output*/ pinmode(13,output); /*sets Arduino Uno pin 13 as output*/ }

void loop() { shield.digitalwrite(13,high); /*sets shield pin 13 High*/ digitalwrite(13,high); /*sets Arduino pin 13 High*/ delay(500); shield.digitalwrite(13,low); /*sets shield pin 13 Low*/ digitalwrite(13,low); /*sets Arduino pin 13 Low*/ delay(500); } As you can see there s a lot of similarities between Arduino core I/O functions and the library functions of this shield. Advanced Usage: Note: Only advanced users are intended to do what s discussed in this section. As we won t provide the code that has been flashed to the Atmega8 microcontroller of this I/O Expansion Shield, users are advised not to upload a new code to it. They should remove this Atmega8 from the shield, keep it aside for future usage and connect their own Atmega8/ Atmega328 to this shield in case they want to upload their own code. We won t take any responsibility of any damage done to this product due to the usage described in this section. Suppose, you are about to build a robot that has both high precision wheel encoder and a servo motor driven robotic arm. You ll see the servo motor failing to maintain its position as soon as your arduino starts to read from wheel encoders (using external interrupts). This happens because your arduino doesn t have multi-threading e.g.: it cannot perform two or more tasks together. What you need in such case are two microcontrollers working asynchronously while maintaining occasional communication between them. This can be done by using this I/O expansion shield. There s a lot of similar cases you might face that requires using two or more microcontrollers. Remove the on-board Atmega8 chip from the shield for future usage and connect your own Atmega8 / Atmega328. You can program this microcontroller by using your arduino Uno as ISP when the shield is attached.

Process: 1. First connect Arduino Uno pin 11, 12, 13 to Shield pin 11, 12, 13 Arduino Uno pin 10 to Shield reset pin (any of the 2 white male connectors) 2. Connect Arduino Uno to PC, Open arduino IDE, go to File>Examples>ArduinoISP>ArduinoISP, go to Tools>Board>Arduino/Genuino Uno, select correct COM port and upload the sketch. 3. If you ve connected an Atmega328p to I/O Expansion shield, keep the board as Arduino Uno. If you ve connected an Atmega8, go to Tools>Board>Arduino NG or older and Tools>Processor>Atmega8. 4. Go to Tools>Programmer>Arduino as ISP. 5. Now write your code and upload it using programmer by pressing Ctrl+Shift+U or going to Sketch>Upload using programmer. Code will be uploaded to your Arduino Uno rather than the shields MCU if you accidentally press the upload button. 6. Once you ve uploaded a code to your Arduino Uno, you cannot use it to upload code to the shields microcontroller unless you repeat Step 2.