CTEC 1802 Embedded Programming Labs

Size: px
Start display at page:

Download "CTEC 1802 Embedded Programming Labs"

Transcription

1 CTEC 1802 Embedded Programming Labs This document is intended to get you started using the Arduino and our I/O board in the laboratory - and at home! Many of the lab sessions this year will involve 'embedded programming' using the Arduino and the board we have produced specially for you!! You know how to write programs in C so let's use this to maximum advantage and dip our toes into 'computing of everyday things' Nowadays, the average home has dozens of embedded controllers; you don't see them and would never give them a second thought. It's difficult to imagine any modern domestic appliance without at least one embedded microcontroller. Every nunchuk on a Wii has one. Every Wiimote too. Lot's of computer mice use them. The list is endless, but someone, somewhere develops the code for these things... Computing isn't just about PCs, corporate databases, enterprise servers etc. Computing is everywhere! Hopefully you'll develop a taste for 'computing of everyday things' the Arduino offers a gentle introduction to this. This is where you start: The picture shows our I/O board connected to an Arduino. You will need both of these. Find yourself an Arduino on the web, the I/O board will be available from DMU at the end of January. Make sure you have a USB cable too!

2 I/O Shield Pin Definitions These are the pin connections between the Arduino and the I/O Shield Hopefully they are self explanatory, for example: #define POT1 0 Means that POT1 (potentiometer 1) is connected to Arduino pin 0. Using '#define POT1 0' in a program means that we can use the somewhat more meaningful 'POT1' in our programs where we need to tell (eg) a function which pin we are using, a typical usage might be: value = analogread(pot1); // read the input pin Note that this has EXACTLY the same effect as: value = analogread(0)); // read the input pin Defining POT1 as 0 allows us to make our programs easier to understand Pin definitions - use these in programs as required in your programs #define POT1 0 #define POT2 1 #define POT3 2 #define KNOCK 5 #define BUTTON1 10 #define BUTTON2 11 #define BUTTON3 12 #define LED1 5 #define LED2 6 #define BUZZER 3 #define TEMP 4 #define LIGHT 3 #define LATCH 7 #define CLOCK 8 #define DATA 4

3 Arduino Functions Beneath the Arduino IDE (Integrated Development Environment) lies a very normal C/C++ compiler. This hides some of the complexity of 'conventional' programming - for example it can be quite obscure working directly with I/O pins in C. The IDE also adds some very useful functions which can make life MUCH easier for us. Essentially you are programming in C but you also need to be aware of a few extra functions to make effective use of the I/O shield. These are all well documented in the Arduino language reference: For example, the following code segment reads an analogue value from one of the potentiometers and controls the brightness of one of the LEDs according to the value read: val = analogread(pot1); // read the input pin - gives a value: analogwrite(led1, val / 4); // needs a value: so divide by 4 It won't hurt you to read ALL of the entries regarding functions in the language reference but pay particular attention to the following as you will almost certainly need them: Serial.begin() Serial.println() Serial.print() pinmode(); digitalwrite(); digitalread(); analogread(); shiftout(); random(); millis(); tone();

4 Getting Started Make sure that you have the Arduino IDE installed on your PC. Start it running and it should look like this: Connect your Arduino to the PC using the appropriate USB cable. At this point you may see a message about device drivers being installed. On the 'Tools' menu check that the last entry in the 'Serial Port' list is the one that is ticked. Also on the 'Tools' menu check that you have selected the correct Board. There are several example programs already installed, so let's look at one. Go to the 'File' menu, then 'Examples - 1.Basics - Blink' Click on 'Blink' and the program (or sketch as it is known in Arduino-speak) should open & look like the screen below:

5 With a little luck you will understand what the program is trying to do, but it's not that important at this stage. This program makes extensive use of the 'built-in' functions outlined above. Next, compile/verify the program by clicking on the 'arrow' button in the top left corner. There should be no errors as this program is guaranteed to work! The window at the bottom of the IDE should look like this:

6 When you start writing your own programs (or sketches) you will probably generate (lots of) errors! The compiler will generate (lots of) error messages to 'help' you identify your mistake. Try introducing an error into the Blink sketch by (eg) deleting a bracket somewhere, recompile and see what happens. When the program has successfully compiled an executable file has been created (somewhere). It is important to understand that this file will run on the microcontroller on the Arduino, not on the PC. The next step is to upload the code to the Arduino, this is achieved by clicking the 'upload' button: Hopefully you will see something encouraging after a few seconds: You should also see that the LED on your Arduino is flashing on and off! It should be on for a second, then off for a second, on for a second... To prove to yourself that this is really working, go back to the program and find the lines: delay(1000); // wait for a second The (int) number passed to the delay function specifies a time in milliseconds, try changing the values here and see what happens. Remember that you need to recompile and upload to test this. Congratulations! You've written your first embedded program!

7 Programs The following examples are very short illustrations to get you started. They are deliberately minimal and you will have to build upon them to make your Arduino do something useful. Serial Output This is usually used when your Arduino is connected to your PC. It's particularly useful for helping to debug programs in development. Every C programming course begins with printing 'Hello world' on the console and we're not about to break with tradition! Although this isn't a C programming course... void setup() Serial.begin(9600); //initialise serial port & baud rate Serial.println("Hello world"); void loop() // nothing to do While C programs have one essential function, main(), Arduino programs have two: setup() and loop(). Setup() is usually used to initialise I/O ports etc. before the 'main' program executes. It is quite common for embedded programs to run repeatedly in a loop, so this is what loop() does; whatever is between the opening and closing curly brackets is executed repeatedly. In this example there's nothing to do... The above program is slightly unusual for an Arduino sketch in that everything happens in setup() which executes only once. Compile and upload the program, then open the Serial Monitor (from the Tools menu) and with a bit of luck you will see "Hello world" printed in the terminal window.

8 Digital I/O Reading inputs and writing outputs is what this is all about! The following program reads one of the switches and turns on/off one of the LEDs. #define BUTTON1 10 #define LED1 5 void setup() pinmode(led1, OUTPUT); //BUTTON1 is an input by default void loop() digitalwrite(led1,(digitalread(button1))); The 7 segment display Although being a digital output, the 7 segment display is a little different as it isn't connected directly to the Arduino. It is interfaced through a shift register to conserve I/O bits. Interfacing it directly would require 8 bits (one for each segment and another for the decimal point). Our I/O board only uses 3 bits. There is an Arduino function which helps us out here: shiftout() It handles all of the intricacy of clocking data into a shift register! The following program demonstrates this by (repeatedly) displaying '0' on the 7 segment display. You may not have encountered 'constant variables' before (an oxymoron if ever there was one!) This usually means that the 'variable' is stored in permanent memory rather than wasting space in RAM which is a precious commodity in a microcontroller.

9 #define LATCH 7 #define CLOCK 8 #define DATA 4 const byte zero = B ; void setup() pinmode(latch, OUTPUT); pinmode(clock, OUTPUT); pinmode(data,output); void loop() digitalwrite(latch,low); shiftout(data,clock,msbfirst,zero); digitalwrite(latch,high); The Sounder The sounder and the knock sensor on the I/O shield are identical 'piezo' devices. These are just like loudspeakers - apply a voltage and they move (and make a noise). Move them and they generate a voltage - simple! No it isn't! To make a noise we have to repeatedly switch the sounder on and off by sending it a stream of 1s and 0s. In other words we're driving it with a square wave. Once again the Arduino IDE rescues us from this complexity with the tone() function: #define BUZZER 3 #define pitch 1000 void setup() pinmode(buzzer,output); void loop() tone(buzzer,pitch); Analogue input Many of the devices on our I/O shield produce analogue voltages (ie not 1s or 0s). In electrical terms they produce a voltage between 0 and 5v which is read by the Arduino and presented as a value in

10 the range 0 to This is because the A/D (analogue to digital) converter in the Arduino has a resolution of 10 bits. The following program shows how any/all of the analogue inputs can be read. The values read are printed to the serial terminal on your PC. #define POT1 0 #define POT2 1 #define POT3 2 #define KNOCK 5 #define TEMP 4 #define LIGHT 3 int val; void setup() Serial.begin(9600); void loop() Serial.print("Analogue inputs: "); val = analogread(pot1); Serial.print(" "); Serial.print(val); val = analogread(pot2); Serial.print(" "); Serial.print(val); val = analogread(pot3); Serial.print(" "); Serial.print(val); val = analogread(knock); Serial.print(" "); Serial.print(val); val = analogread(temp); Serial.print(" "); Serial.print(val); val = analogread(light); Serial.print(" "); Serial.println(val); delay(1000);

11 The DMU I/O Shield

12 Schematic of the I/O Shield

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

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

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

More information

Introduction to Arduino

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

More information

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

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

More information

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

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

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

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

More information

StenBOT Robot Kit. Stensat Group LLC, Copyright 2018

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

More information

4Serial SIK BINDER //77

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

More information

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

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

More information

Electronic Brick Starter Kit

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

More information

Workshop Arduino English starters workshop 2

Workshop Arduino English starters workshop 2 Workshop Arduino English starters workshop 2 We advice to finish part 1 of this workshop before following this one. There are a set of assignments in this workshop that can be taken individually. First

More information

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

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

More information

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

Arduino Programming. Arduino UNO & Innoesys Educational Shield

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

More information

Robotics/Electronics Review for the Final Exam

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

More information

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

Sten-SLATE ESP Kit. Description and Programming

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

More information

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

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

More information

Coding Workshop. Learning to Program with an Arduino. Lecture Notes. Programming Introduction Values Assignment Arithmetic.

Coding Workshop. Learning to Program with an Arduino. Lecture Notes. Programming Introduction Values Assignment Arithmetic. Coding Workshop Learning to Program with an Arduino Lecture Notes Table of Contents Programming ntroduction Values Assignment Arithmetic Control Tests f Blocks For Blocks Functions Arduino Main Functions

More information

E11 Lecture 4: More C!!! Profs. David Money Harris & Sarah Harris Fall 2011

E11 Lecture 4: More C!!! Profs. David Money Harris & Sarah Harris Fall 2011 E11 Lecture 4: More C!!! Profs. David Money Harris & Sarah Harris Fall 2011 Outline Logistics Serial Input Physical Inputs/Outputs Randomness Operators Control Statements Logistics Logistics Tutoring hours:

More information

cs281: Introduction to Computer Systems Lab03 K-Map Simplification for an LED-based Circuit Decimal Input LED Result LED3 LED2 LED1 LED3 LED2 1, 2

cs281: Introduction to Computer Systems Lab03 K-Map Simplification for an LED-based Circuit Decimal Input LED Result LED3 LED2 LED1 LED3 LED2 1, 2 cs28: Introduction to Computer Systems Lab3 K-Map Simplification for an LED-based Circuit Overview In this lab, we will build a more complex combinational circuit than the mux or sum bit of a full adder

More information

Fall Harris & Harris

Fall Harris & Harris E11: Autonomous Vehicles Fall 2011 Harris & Harris PS 1: Welcome to Arduino This is the first of five programming problem sets. In this assignment you will learn to program the Arduino board that you recently

More information

FUNCTIONS USED IN CODING pinmode()

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

More information

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

Overview. Multiplexor. cs281: Introduction to Computer Systems Lab02 Basic Combinational Circuits: The Mux and the Adder

Overview. Multiplexor. cs281: Introduction to Computer Systems Lab02 Basic Combinational Circuits: The Mux and the Adder cs281: Introduction to Computer Systems Lab02 Basic Combinational Circuits: The Mux and the Adder Overview The objective of this lab is to understand two basic combinational circuits the multiplexor and

More information

EEG 101L INTRODUCTION TO ENGINEERING EXPERIENCE

EEG 101L INTRODUCTION TO ENGINEERING EXPERIENCE EEG 101L INTRODUCTION TO ENGINEERING EXPERIENCE LABORATORY 1: INTRODUCTION TO ARDUINO IDE AND PROGRAMMING DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF NEVADA, LAS VEGAS 1. FYS KIT COMPONENTS

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

TANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO

TANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO TANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO AGENDA ARDUINO HARDWARE THE IDE & SETUP BASIC PROGRAMMING CONCEPTS DEBUGGING & HELLO WORLD INPUTS AND OUTPUTS DEMOS ARDUINO HISTORY IN 2003 HERNANDO

More information

TABLE OF CONTENTS INTRODUCTION LESSONS PROJECTS

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

More information

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

Smart Objects. SAPIENZA Università di Roma, M.Sc. in Product Design Fabio Patrizi Smart Objects SAPIENZA Università di Roma, M.Sc. in Product Design Fabio Patrizi 1 What is a Smart Object? Essentially, an object that: Senses Thinks Acts 2 Example 1 https://www.youtube.com/watch?v=6bncjd8eke0

More information

More Arduino Programming

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

More information

Arduino Part 2. Introductory Medical Device Prototyping

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

More information

Halloween Pumpkinusing. Wednesday, October 17, 12

Halloween Pumpkinusing. Wednesday, October 17, 12 Halloween Pumpkinusing Blink LED 1 What you will need: 1 MSP-EXP430G2 1 3 x 2 Breadboard 3 560 Ohm Resistors 3 LED s (in Red Color Range) 3 Male to female jumper wires 1 Double AA BatteryPack 2 AA Batteries

More information

D - Tic Tac Toe. Let's use our 9 sparkles to build a tic tac toe game! 2017 courses.techcamp.org.uk/ Page 1 of 9

D - Tic Tac Toe. Let's use our 9 sparkles to build a tic tac toe game! 2017 courses.techcamp.org.uk/ Page 1 of 9 D - Tic Tac Toe Let's use our 9 sparkles to build a tic tac toe game! 2017 courses.techcamp.org.uk/ Page 1 of 9 INTRODUCTION Let's use our 9 sparkles to build a tic tac toe game! Step 1 Assemble the Robot

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

Arduino - DigitalReadSerial

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

More information

Counter & LED (LED Blink)

Counter & LED (LED Blink) 1 T.R.E. Meeting #1 Counter & LED (LED Blink) September 17, 2017 Contact Info for Today s Lesson: President Ryan Muller mullerr@vt.edu 610-573-1890 Learning Objectives: Learn how to use the basics of Arduino

More information

Arduino For Amateur Radio

Arduino For Amateur Radio Arduino For Amateur Radio Introduction to Arduino Micro controller vs. a PI Arduino Models, Books and Add-Ons Amateur Radio Applications Arduino Uno/Pro Micro Introduction to Arduino Programming More on

More information

Arduino Programming Part 3. EAS 199A Fall 2010

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

More information

Introduction to Programming. Writing an Arduino Program

Introduction to Programming. Writing an Arduino Program Introduction to Programming Writing an Arduino Program What is an Arduino? It s an open-source electronics prototyping platform. Say, what!? Let s Define It Word By Word Open-source: Resources that can

More information

Prototyping & Engineering Electronics Kits Basic Kit Guide

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

More information

Create your own wireless motion sensor with

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

More information

How to Use an Arduino

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

More information

ROBOTLINKING THE POWER SUPPLY LEARNING KIT TUTORIAL

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

More information

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

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

More information

Adafruit DS3231 Precision RTC Breakout

Adafruit DS3231 Precision RTC Breakout Adafruit DS3231 Precision RTC Breakout Created by lady ada Last updated on 2016-02-05 04:43:25 PM EST Guide Contents Guide Contents Overview Pinouts Power Pins: I2C Logic pins: Other Pins: Assembly Prepare

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

FUNCTIONS For controlling the Arduino board and performing computations.

FUNCTIONS For controlling the Arduino board and performing computations. d i g i t a l R e a d ( ) [Digital I/O] Reads the value from a specified digital pin, either HIGH or LOW. digitalread(pin) pin: the number of the digital pin you want to read HIGH or LOW Sets pin 13 to

More information

Fubar Labs Arduino Tutorial

Fubar Labs Arduino Tutorial Fubar Labs Arduino Tutorial Introduction to Arduino HW and Integrated Development Environment 4/14/2018 Introduction to Arduino and IDE 1 Hampton Sailer, HW Engineer 30+ years experience designing microprocessor

More information

Connecting Arduino to Processing a

Connecting Arduino to Processing a Connecting Arduino to Processing a learn.sparkfun.com tutorial Available online at: http://sfe.io/t69 Contents Introduction From Arduino......to Processing From Processing......to Arduino Shaking Hands

More information

Lab 8. Communications between Arduino and Android via Bluetooth

Lab 8. Communications between Arduino and Android via Bluetooth Lab 8. Communications between Arduino and Android via Bluetooth Dr. X. Li xhli@citytech.cuny.edu Dept. of Computer Engineering Technology New York City College of Technology (Copyright Reserved) In this

More information

The Big Idea: Background:

The Big Idea: Background: Lesson 7 Lesson 7: For For Loops Loops The Big Idea: This lesson simplifies the control of digital pins by assigning the pin numbers to an integer variable and by calling the digitalwrite command multiple

More information

IME-100 Interdisciplinary Design and Manufacturing

IME-100 Interdisciplinary Design and Manufacturing IME-100 Interdisciplinary Design and Manufacturing Introduction Arduino and Programming Topics: 1. Introduction to Microprocessors/Microcontrollers 2. Introduction to Arduino 3. Arduino Programming Basics

More information

Designed & Developed By: Ms. Jasleen Kaur, PhD Scholar, CSE. Computer Science & Engineering Department

Designed & Developed By: Ms. Jasleen Kaur, PhD Scholar, CSE. Computer Science & Engineering Department Design & Development of IOT application using Intel based Galileo Gen2 board A Practical Approach (Experimental Manual For B.Tech & M.Tech Students) For SoC and Embedded systems in association with Intel

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

Earthshine Design Arduino Starters Kit Manual - A Complete Beginners Guide to the Arduino. Project 13. Serial Temperature Sensor

Earthshine Design Arduino Starters Kit Manual - A Complete Beginners Guide to the Arduino. Project 13. Serial Temperature Sensor Project 13 Serial Temperature Sensor 75 Project 13 - Serial Temperature Sensor Now we are going to make use of the Temperature Sensor in your kit, the LM35DT. You will need just one component. What you

More information

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

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

More information

Laboratory 1 Introduction to the Arduino boards

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

More information

GOOD MORNING SUNSHINE

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

More information

The Big Idea: Background: About Serial

The Big Idea: Background: About Serial Lesson 6 Lesson 6: Serial Serial Input Input The Big Idea: Information coming into an Arduino sketch is called input. This lesson focuses on text in the form of characters that come from the user via the

More information

Lesson 8: Simon - Arrays

Lesson 8: Simon - Arrays Lesson 8: Simon - Arrays Introduction: As Arduino is written in a basic C programming language, it is very picky about punctuation, so the best way to learn more complex is to pick apart existing ones.

More information

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

Specification. 1.Power Supply direct from Microcontroller Board. 2.The circuit can be used with Microcontroller Board such as Arduino UNO R3. Part Number : Product Name : FK-FA1410 12-LED AND 3-BOTTON SHIELD This is the experimental board for receiving and transmitting data from the port of microcontroller. The function of FK-FA1401 is fundamental

More information

Arduino Programming Part 4: Flow Control

Arduino Programming Part 4: Flow Control Arduino Programming Part 4: Flow Control EAS 199B, Winter 2010 Gerald Recktenwald Portland State University gerry@me.pdx.edu Goal Make choices based on conditions in the environment Logical expressions:

More information

Arduino 6: Analog I/O part 1. Jeffrey A. Meunier University of Connecticut

Arduino 6: Analog I/O part 1. Jeffrey A. Meunier University of Connecticut Arduino 6: Analog I/O part 1 Jeffrey A. Meunier jeffm@engr.uconn.edu University of Connecticut About: How to use this document I designed this tutorial to be tall and narrow so that you can read it on

More information

Lesson 5: LDR Control

Lesson 5: LDR Control Lesson 5: LDR Control Introduction: Now you re familiar with the DIY Gamer and editing in an Arduino sketch. its time to write one from scratch. In this session you will write that talks to the Light Dependent

More information

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)...

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)... Remembering numbers (and other stuff)... Let s talk about one of the most important things in any programming language. It s called a variable. Don t let the name scare you. What it does is really simple.

More information

Advanced Activities - Information and Ideas

Advanced Activities - Information and Ideas Advanced Activities - Information and Ideas Congratulations! You successfully created and controlled the robotic chameleon using the program developed for the chameleon project. Here you'll learn how you

More information

RS422/RS485 Shield. Application Note: Multiple RS485 busses. 1 Introduction

RS422/RS485 Shield. Application Note: Multiple RS485 busses. 1 Introduction 1 Introduction This application note will show you how to connect up to 3 independent RS485 busses to one Arduino. This can be useful if you want to create a gateway between these busses or if you want

More information

Arduinos without (much) programming

Arduinos without (much) programming Arduinos without (much) programming A course for Itchen Valley Amateur Radio Club Brian G0UKB Jan-Feb 2016 What on earth is an Arduino? It's a microprocessor A single chip computer with built in timing

More information

Adafruit Optical Fingerprint Sensor

Adafruit Optical Fingerprint Sensor Adafruit Optical Fingerprint Sensor Created by lady ada Last updated on 2017-11-27 12:27:09 AM UTC Guide Contents Guide Contents Overview Enrolling vs. Searching Enrolling New Users with Windows Searching

More information

Proper Debugging of ATSAMD21 Processors

Proper Debugging of ATSAMD21 Processors Proper Debugging of ATSAMD21 Processors Created by lady ada Last updated on 2017-06-08 06:47:17 PM UTC Guide Contents Guide Contents Overview Install Software Arduino IDE J-Link Software Atmel Studio 7

More information

Microcontrollers and Interfacing week 8 exercises

Microcontrollers and Interfacing week 8 exercises 2 HARDWARE DEBOUNCING Microcontrollers and Interfacing week 8 exercises 1 More digital input When using a switch for digital input we always need a pull-up resistor. For convenience, the microcontroller

More information

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

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

More information

Arduino Uno Microcontroller Overview

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

More information

Thumb Joystick Retail. Tools and parts you'll need. Things you'll want to know. How does it work? Skill Level: Beginner. by MikeGrusin March 22, 2011

Thumb Joystick Retail. Tools and parts you'll need. Things you'll want to know. How does it work? Skill Level: Beginner. by MikeGrusin March 22, 2011 Thumb Joystick Retail Skill Level: Beginner by MikeGrusin March 22, 2011 Thank you for purchasing our Thumb Joystick! Whether you're blasting aliens or driving a robot, you'll find it a very useful addition

More information

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

Lab 2 - Powering the Fubarino. Fubarino,, Intro to Serial, Functions and Variables Lab 2 - Powering the Fubarino Fubarino,, Intro to Serial, Functions and Variables Part 1 - Powering the Fubarino SD The Fubarino SD is a 56 pin device. Each pin on a chipkit device falls broadly into one

More information

Arduino 05: Digital I/O. Jeffrey A. Meunier University of Connecticut

Arduino 05: Digital I/O. Jeffrey A. Meunier University of Connecticut Arduino 05: Digital I/O Jeffrey A. Meunier jeffm@engr.uconn.edu University of Connecticut About: How to use this document I designed this tutorial to be tall and narrow so that you can read it on one side

More information

Connecting Arduino to Processing

Connecting Arduino to Processing Connecting Arduino to Processing Introduction to Processing So, you ve blinked some LEDs with Arduino, and maybe you ve even drawn some pretty pictures with Processing - what s next? At this point you

More information

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

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 125 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, 2, 3,

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

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

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

More information

Schedule. Sanford Bernhardt, Sangster, Kumfer, Michalaka. 3:10-5:00 Workshop: Build a speedometer 5:15-7:30 Dinner and Symposium: Group 2

Schedule. Sanford Bernhardt, Sangster, Kumfer, Michalaka. 3:10-5:00 Workshop: Build a speedometer 5:15-7:30 Dinner and Symposium: Group 2 Schedule 8:00-11:00 Workshop: Arduino Fundamentals 11:00-12:00 Workshop: Build a follower robot 1:30-3:00 Symposium: Group 1 Sanford Bernhardt, Sangster, Kumfer, Michalaka 3:10-5:00 Workshop: Build a speedometer

More information

Grove - Buzzer. Introduction. Features

Grove - Buzzer. Introduction. Features Grove - Buzzer Introduction The Grove - Buzzer module has a piezo buzzer as the main component. The piezo can be connected to digital outputs, and will emit a tone when the output is HIGH. Alternatively,

More information

Robotics and Electronics Unit 5

Robotics and Electronics Unit 5 Robotics and Electronics Unit 5 Objectives. Students will work with mechanical push buttons understand the shortcomings of the delay function and how to use the millis function. In this unit we will use

More information

ARDUINO. By Kiran Tiwari BCT 2072 CoTS.

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

More information

What s inside the kit

What s inside the kit What s inside the kit 1 set Jumper Wires 5 pcs Tact Switch 1 pc Photoresistor 1 pc 400 Points Breadboard 1 pc Potentiometer 1 pc LCD 5 pcs 5mm Red LED 5 pcs 5mm Green LED 5 pcs 5mm Yellow LED 30 pcs Resistors

More information

Lesson 8: Digital Input, If Else

Lesson 8: Digital Input, If Else Lesson 8 Lesson 8: Digital Input, If Else Digital Input, If Else The Big Idea: This lesson adds the ability of an Arduino sketch to respond to its environment, taking different actions for different situations.

More information

Laboratory 1. Introduction

Laboratory 1. Introduction Laboratory 1 Introduction Ah, Arduino, I remember when you were just crawling around and blinking LEDs. Now you're ready to learn how to speak! In this lesson we'll learn how to use the Serial Library

More information

Arduino Platform Part I

Arduino Platform Part I Arduino Platform Part I Justin Mclean Class Software Email: justin@classsoftware.com Twitter: @justinmclean Blog: http://blog.classsoftware.com Who am I? Director of Class Software for almost 15 years

More information

Physics 364, Fall 2012, Lab #9 (Introduction to microprocessor programming with the Arduino) Lab for Monday, November 5

Physics 364, Fall 2012, Lab #9 (Introduction to microprocessor programming with the Arduino) Lab for Monday, November 5 Physics 364, Fall 2012, Lab #9 (Introduction to microprocessor programming with the Arduino) Lab for Monday, November 5 Up until this point we have been working with discrete digital components. Every

More information

Lab 5 - Serial Parser, String Manipulation & Libraries

Lab 5 - Serial Parser, String Manipulation & Libraries Lab 5 - Serial Parser, String Manipulation & Libraries At the end of the previous lab you got a taste of adding a parser to your project. A parser is simply a program that looks for (parses) information

More information

Circuit Playground Firmata

Circuit Playground Firmata Circuit Playground Firmata Created by Tony DiCola Last updated on 2018-08-22 03:53:36 PM UTC Guide Contents Guide Contents Overview Firmata Sketch Example Python Code Install Dependencies Python Circuit

More information

MAKE & COLLABORATE: SECRET KNOCK LOCK

MAKE & COLLABORATE: SECRET KNOCK LOCK MAKE & COLLABORATE: SECRET KNOCK LOCK A project from Arduino Project Handbook: 25 Practical Projects to Get You Started Project 9: Secret KnocK LocK For centuries clandestine groups have used Secret KnocKS

More information

Linked Lists. What is a Linked List?

Linked Lists. What is a Linked List? Linked Lists Along with arrays, linked lists form the basis for pretty much every other data stucture out there. This makes learning and understand linked lists very important. They are also usually the

More information

inches Hardware Guide For Intel Galileo

inches Hardware Guide For Intel Galileo inches 1 2 Hardware Guide For Intel Galileo 3 4 5 6 7 8 9 10 Contents Hardware Guide Make your Galileo Blink 3 Make your Galileo Blink Some More 10 Using Inputs 13 Using Motors 22 Guide to Debugging 31

More information

Metro Minimalist Clock

Metro Minimalist Clock Metro Minimalist Clock Created by John Park Last updated on 2018-08-22 04:01:22 PM UTC Guide Contents Guide Contents Overview For this build you'll need: Clock Circuit Code the Clock Display the Clock

More information

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

WALT: definition and decomposition of complex problems in terms of functional and non-functional requirements Item 1: The Clock is Ticking Monday, 15 October 2018 12:19 PM EXPLORE WALT: definition and decomposition of complex problems in terms of functional and non-functional requirements - Defined how each component

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