/* to use: enter key aray and make sure that the userentered has the same number of zeros

Size: px
Start display at page:

Download "/* to use: enter key aray and make sure that the userentered has the same number of zeros"

Transcription

1 to use: enter key aray and make sure that the userentered has the same number of zeros ex: int Keyarray[] = {1,2,3,4; int userentered[] = {0,0,0,0; ex2: int Keyarray[] = {1,2,3,4,1,2,3; int userentered[] = {0,0,0,0,0,0,0; states 0 - locks door.. key does not need to be entered 1 - for key 2 - for key 3 - for key 4 - for key 5 - clear whatever was entered It would be easy to add another user entered state for added security. 5 is new - for key 7 clear whatever was entered pin 13 led 1 blink means it took a reading 3 blinks means passkey entered was cleared //servo stuff #include <Servo.h> Servo myservo; // create servo object to control a servo // a maximum of eight servo objects can be created int pos = 0; // variable to store the servo position //end servo stuff double ArrayTest[] = {0,0,0,0,0,0,0,0; int Keyarray[] = {1,2,3,4,1,2; int userentered[] = {0,0,0,0,0,0; int dooropen = 10; int doorlocked = 170; int userindex = 0; double pingcurrentcm = 0;//temp const int pingpin = 7; void setup() { Serial.begin(115200); pinmode(13, OUTPUT); myservo.write(doorlocked); delay(2000); void loop() { pingcurrentcm = DistanceMeasurePing(pingPin); storevalue(pingcurrentcm); double average = averagearray(); double standdev = standarddeviation(); //arrayoutput(); Serial.print("New Distance added to array:"); Serial.println(pingCurrentCm,7);

2 Serial.print("array average:"); Serial.println(average,7); Serial.print("Standard Deviaion:"); Serial.println(standDev,7); // arrayoutput2(); //EnteredValue converts distance to 1-6. where 5 is clear data, 6 is nothing inputted int EnteredValue = getvalue(average,standdev); Serial.print("EnteredValue:"); Serial.println(EnteredValue); if (EnteredValue == 5){ clearenteredkey(); if (EnteredValue == 0){ myservo.write(doorlocked); delay(2000); if( EnteredValue!= 6 && EnteredValue!= 5){ Serial.println("going into buildkey"); buildkey(enteredvalue); comparekeys(); delay(100); void buildkey(int EnteredValue){ //unserindex will also be used, but it's a global var and doesn't need to be passed //blinkled( Timedelay, numoftimes) userentered[userindex] = EnteredValue; userindex++; void comparekeys(){ int keyindex = (sizeof Keyarray/sizeof(int)); //find the number of entries in array int matchcount = 0; for(int i = 0; i <= (keyindex-1); i++){//since for loop.. if( userentered[i]!= Keyarray[i]){ Serial.println("keys do not match!\n"); else{ matchcount++; //end for if(matchcount == keyindex){ Serial.println("!!!!!!KEYS MATCH!!!!!!! \n"); //this is where you do the action when the keys match! blinkled(50,10); myservo.write(dooropen); delay(3000);

3 clearenteredkey(); //end compare void clearenteredkey(){ //clear data... Serial.println("clearing data...userindex = 0"); int arrayindex = (sizeof userentered/sizeof(int)); //find the number of entries in array for(int i = 0; i <= (arrayindex-1); i++){//since for loop.. userentered[i]= 0; userindex = 0; void arrayoutput2(){ //delete this. and arrayoutput() int arrayindex = (sizeof userentered/sizeof(int)); //find the number of entries in array Serial.print("array size:"); Serial.println(arrayIndex); for(int ii = 0; ii <= (arrayindex-1); ii++){//since for loop.. Serial.print("value for:"); Serial.print(ii); Serial.print(" array value:"); Serial.println(userEntered[ii]); // int getvalue(double average,double standdev){ //if the standard deviation or distance is too high, exit the method. if(standdev > 1 average > 60){ return 6; Serial.println("DATA ENTERED!!"); //blink the LED to show a data point was taken //it would be better to use a piezo speaker or something blinkled(200, 1); //wait a bit to let user go to next spot. delay(1000); //now convert the distance into a single int value if(average < 10){ //0 state Serial.println("!0 state!"); return 0; if(average > 10 && average < 20){ //1 state Serial.println("!1 state!"); return 1; if(average > 20 && average < 30){ //2 state Serial.println("!2 state!"); return 2; if(average > 30 && average < 40){

4 //3 state Serial.println("!3 state!"); return 3; if(average > 40 && average < 50){ //3 state Serial.println("!4 state!"); return 4; if(average > 50 ){ //CLEAR user entered data Serial.println("!5-CLEAR DATA!"); blinkled(100, 3); return 5; //6th state just means nothing is returned. this really shouldn't be needed... return 6; void blinkled(int Timedelay, int numoftimes){ for(int i = 0; i < numoftimes; i++){ digitalwrite(13, HIGH); delay(timedelay); digitalwrite(13, LOW); delay(timedelay); void arrayoutput(){ Serial.print("array size:"); Serial.println(arrayIndex); for(int i = 0; i <= (arrayindex-1); i++){//since for loop.. Serial.print("value for:"); Serial.print(i); Serial.print(" array value:"); Serial.println(ArrayTest[i],7); // void storevalue(double newvalue){ //shifts all the values down and the value sent goes into the 0'th element. last element deleted for(int i = (arrayindex-1); i >= 0 ; i--){ //-1 since for loop.. ArrayTest[i] = ArrayTest[i-1]; ArrayTest[0] = newvalue; double averagearray(){ double sum = 0;

5 for(int i = 0; i <= (arrayindex-1); i++){ //-1 since for loop.. sum += ArrayTest[i]; return (sum/arrayindex); double standarddeviation(){ double sumxsquared = 0; double sumx = 0; //sum up the individual squared values for(int i = 0; i <= (arrayindex-1); i++){ //-1 since for loop.. sumxsquared += pow(arraytest[i],2); //sum up the values then square sumx for(int i = 0; i <= (arrayindex-1); i++){ //-1 since for loop.. sumx += ArrayTest[i]; sumx = pow(sumx,2); return (sumxsquared - sumx/((double)arrayindex))/((double)arrayindex - 1.); double DistanceMeasurePing(int pingpin){ //if not enough time has passed for ping sensor, then just return whatever was last read if((pinguptimecheck + pingdelay) > millis()){ return PingCurrent; PingUpTimeCheck = millis(); // establish variables for duration of the ping, // and the distance result in inches and centimeters: double duration, cm; // The PING))) is triggered by a HIGH pulse of 2 or more microseconds. // Give a short LOW pulse beforehand to ensure a clean HIGH pulse: pinmode(pingpin, OUTPUT); digitalwrite(pingpin, LOW); delaymicroseconds(2); digitalwrite(pingpin, HIGH); delaymicroseconds(5); digitalwrite(pingpin, LOW); // The same pin is used to read the signal from the PING))): a HIGH // pulse whose duration is the time (in microseconds) from the sending // of the ping to the reception of its echo off of an object. pinmode(pingpin, INPUT); duration = pulsein(pingpin, HIGH); // The speed of sound is 340 m/s or 29 microseconds per centimeter. // The ping travels out and back, so to find the distance of the // object we take half of the distance travelled. return duration / 29. / 2.;

Steering Engine Sample Sketch

Steering Engine Sample Sketch Steering Engine Sample Sketch #include #include #define LEFT_CENTER 93 #define RIGHT_CENTER 95 #define SPEED 5 Servo servo_left; Servo servo_right; SoftwareServo servo_scanner;

More information

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

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

More information

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

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

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

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

More information

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

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

More information

Experiment 3: Sonar Navigation, CAD and 3D Printing

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

More information

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

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

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

CTEC 1802 Embedded Programming Labs

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

More information

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

Robot Eyes. DAY 3 Let's Make a Robot

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

More information

LISTING PROGRAM. 1. Bahasa Pemrograman C #include <Servo.h> Servo myservo;

LISTING PROGRAM. 1. Bahasa Pemrograman C #include <Servo.h> Servo myservo; 1 LISTING PROGRAM 1. Bahasa Pemrograman C #include Servo myservo; int pos = 70; int baris1 = A0; int baris2 = A1; int baris3 = A3; int kolom1 = 12; int kolom2 = 7; int kolom3 = 6; int vbaris1

More information

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

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

More information

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

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

PROGRAMMING WITH ARDUINO

PROGRAMMING WITH ARDUINO PROGRAMMING WITH ARDUINO Arduino An open-source hardware platform based on an Atmel AVR 8-bit microcontroller and a C++ based IDE Over 300000 boards have been manufactured Arduino Due is based on a 32-bit

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

Basic Kit for Turtle 2WD SKU:ROB0118

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

More information

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

Basic Kit for Turtle 2WD SKU:ROB0118

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

More information

Sensors and Motor Control Lab

Sensors and Motor Control Lab Sensors and Motor Control Lab Individual lab report #1 October 16, 2015 Menghan Zhang TeamA Amit Agarwal Harry Golash Yihao Qian Zihao Zhang Individual progress Challenges Teamwork a) Used potentiometer

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

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

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

TANGIBLE MEDIA & PHYSICAL COMPUTING MORE ARDUINO

TANGIBLE MEDIA & PHYSICAL COMPUTING MORE ARDUINO TANGIBLE MEDIA & PHYSICAL COMPUTING MORE ARDUINO AGENDA RECAP ALGORITHMIC APPROACHES TIMERS RECAP: LAST WEEK WE DID: ARDUINO IDE INTRO MAKE SURE BOARD AND USB PORT SELECTED UPLOAD PROCESS COVERED DATATYPES

More information

CHAPTER V IMPLEMENTATION AND TESTING

CHAPTER V IMPLEMENTATION AND TESTING CHAPTER V IMPLEMENTATION AND TESTING 5.1 Implementation 5.1.1 Arduino IDE This project uses the arduino IDE application. This application used to compile and to upload the program. The program can be seen

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

Imperativ Programming. morning (again) Jens Dalsgaard Nielsen Aalborg University (1/24)

Imperativ Programming. morning (again) Jens Dalsgaard Nielsen Aalborg University (1/24) Imperativ Programming morning (again) Jens Dalsgaard Nielsen (jdn@es.aau.dk) Aalborg University (1/24) message Changed timing today Jens Dalsgaard Nielsen (jdn@es.aau.dk) Aalborg University (2/24) Jens

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 1 Outline Operators Control Statements Arrays Function Calls Timing 2 Operators 3 Operators Example int z, x = 14; int y = 43;

More information

- 1 - /*Code for data logging for Arduino with Atmega328 chip and 3 differential pressure

- 1 - /*Code for data logging for Arduino with Atmega328 chip and 3 differential pressure - 1 - Software code /*Code for data logging for Arduino with Atmega328 chip and 3 differential pressure sensors MPX5100DP mounted on tensiometers for monitoring water potential in soils. After powering,

More information

Rotary Encoder Basics

Rotary Encoder Basics Rotary Encoder Basics A rotary encoder has a fixed number of positions per revolution. These positions are easily felt as small clicks you turn the encoder. The Keyes module that I have has thirty of these

More information

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

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

More information

Quantum Phase Isochromatic Pluckeasy

Quantum Phase Isochromatic Pluckeasy Quantum Phase Isochromatic Pluckeasy Laser Harp for short Paul Holcomb Timothy Tribby Hardware Overview IR Sensors Arduino With ATmega 1280 Motor With Rotating Mirror Laser Module Laser Harp Goals Display

More information

#define CE_PIN 12 //wireless module CE pin #define CSN_PIN 13 //wireless module CSN pin. #define angleaveragenum 1

#define CE_PIN 12 //wireless module CE pin #define CSN_PIN 13 //wireless module CSN pin. #define angleaveragenum 1 /***************************************************************************************************** define statements *****************************************************************************************************/

More information

Introduction to Microcontrollers Using Arduino. PhilRobotics

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

More information

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

Control Tone with IR Remote

Control Tone with IR Remote Lesson 17 Lesson 17: Control Tone with IR Remote Control Tone with IR Remote The Big Idea: The ability to detect and decode Sony-protocol infrared messages, which was explored in Lesson 16, can be added

More information

The DTMF generator comprises 3 main components.

The DTMF generator comprises 3 main components. Make a DTMF generator with an Arduino board This article is for absolute beginners, and describes the design and construction of a DTMF generator. DTMF generators are often used to signal with equipment

More information

Remote Control with the Huzzah + Adafruit.io

Remote Control with the Huzzah + Adafruit.io Remote Control with the Huzzah + Adafruit.io Created by Richard Albritton Last updated on 2017-07-30 03:11:01 PM UTC Guide Contents Guide Contents Overview Adafruit IO Setup Creating the Buttons Feed Adding

More information

Physical Programming with Arduino

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

More information

Arduino Course. Technology Will Save Us - Tim Brooke 10th August Friday, 9 August 13

Arduino Course. Technology Will Save Us - Tim Brooke 10th August Friday, 9 August 13 Arduino Course Technology Will Save Us - Tim Brooke 10th August 2013 Arduino Projects http://www.instructables.com/id/20-unbelievable-arduino-projects/ Blink /* Blink Turns on an LED on for one second,

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

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

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

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

More information

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

A rduino Programming Part 5: Functions Redux and Intro toa rrays

A rduino Programming Part 5: Functions Redux and Intro toa rrays A rduino Programming Part 5: Functions Redux and Intro toa rrays ME 121 M e c h a n i c a l a n d M a t e r i a l s E n g i n e e r i n g Portland State University Goals Review operation of the Salinity

More information

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

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

More information

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

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

Arduino notes IDE. Serial commands. Arduino C language. Program structure. Arduino web site:

Arduino notes IDE. Serial commands. Arduino C language. Program structure. Arduino web site: 1 Arduino notes This is not a tutorial, but a collection of personal notes to remember the essentials of Arduino programming. The program fragments are snippets that represent the essential pieces of code,

More information

// Should be right for DVD steppers, but is not too important here const int stepsperrevolution = 48;

// Should be right for DVD steppers, but is not too important here const int stepsperrevolution = 48; /* https://www.youtube.com/watch?v=opz9rgmoipc */ #include #include #define LINE_BUFFER_LENGTH 512 char STEP = MICROSTEP ; // Servo position for Up and Down const int penzup = 50;

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

#include <ESP8266WiFi.h> #include <DNSServer.h> #include <ESP8266WebServer.h> #include <WiFiManager.h> #include <PubSubClient.

#include <ESP8266WiFi.h> #include <DNSServer.h> #include <ESP8266WebServer.h> #include <WiFiManager.h> #include <PubSubClient. #include #include #include #include #include const char* mqtt_server = "SERVER_ADDRESS"; WiFiClient espclient; PubSubClient

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

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

#include <Keypad.h> int datasens; #define pinsens 11. const byte ROWS = 4; //four rows const byte COLS = 3; //three columns

#include <Keypad.h> int datasens; #define pinsens 11. const byte ROWS = 4; //four rows const byte COLS = 3; //three columns #include int datasens; #define pinsens 11 const byte ROWS = 4; //four rows const byte COLS = 3; //three columns char keys[rows][cols] = '1','2','3', '4','5','6', '7','8','9', '*','0','#' ; byte

More information

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

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

More information

Keyes Player Mini MP3 Module. (Red & Environmental-protection)

Keyes Player Mini MP3 Module. (Red & Environmental-protection) Keyes Player Mini MP3 Module (Red & Environmental-protection) 1. Introduction It is an affordable small MP3 module that can directly be connected to the speaker. The module can be used alone with the power

More information

char errormsg[100]; //This is a generic array used for sprintf of error messages

char errormsg[100]; //This is a generic array used for sprintf of error messages /* 4-28-2011 Spark Fun Electronics 2011 Nathan Seidle 10/29-2012 Linh Do Assignment 04 - Wisdom sweater Wearable Technology 01 */ #include //Add the SdFat Libraries #include #include

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

New APIs and Hacks. Servo API. Chapter 4. The Theory versus Practice

New APIs and Hacks. Servo API. Chapter 4. The Theory versus Practice Chapter 4 New APIs and Hacks The challenge when Intel Galileo was designed was to create a board that would be compatible with Arduino headers and reference language using only the Quark microprocessor,

More information

/*f1q_timer_v Gábor Kertész */

/*f1q_timer_v Gábor Kertész */ /*f1q_timer_v19.2 2018.07.16. Gábor Kertész */ //---------------------------------------------Lybraries------------------------------------------------------------ #include // For servo and ESC

More information

Column #119: Ping I See You. Column #119 March 2005 by Jon Williams: Ping I See You

Column #119: Ping I See You. Column #119 March 2005 by Jon Williams: Ping I See You Column #119 March 2005 by Jon Williams: Ping I See You I used to work for a man named Bob who insisted and quite frequently that most of us needed to be exposed to the same piece of information five to

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

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

VOLCANO HANGMAN by Katie Ammons

VOLCANO HANGMAN by Katie Ammons VOLCANO HANGMAN by Katie Ammons Object: To guess the five letter volcano word before the house catches on fire! Game Components: BLACK DIAL: Move this dial to chose a letter. BLUE BUTTON: Push this button

More information

Introduction What is MIT App Inventor?

Introduction What is MIT App Inventor? Table of Contents Introduction What is MIT App Inventor? Arduino (From Arduino Website) Turn On and OFF an LED (Hello World) Creating Android App Connecting Bluetooth and programming Arduino Control LED

More information

STEPD StepDuino Quickstart Guide

STEPD StepDuino Quickstart Guide STEPD StepDuino Quickstart Guide The Freetronics StepDuino is Arduino Uno compatible, uses the ATmega328P Microcontroller and works with most Arduino software. The StepDuino can be powered automatically

More information

Programming with the NXT using the touch and ultrasonic sensors. To be used with the activity of the How do Human Sensors Work?

Programming with the NXT using the touch and ultrasonic sensors. To be used with the activity of the How do Human Sensors Work? Programming with the NXT using the touch and ultrasonic sensors To be used with the activity of the How do Human Sensors Work? lesson How do you incorporate sensors into your programs? What you know: You

More information

Energia MSP-430!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1

Energia MSP-430!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1 Energia MSP-430 1 3 Energia 4 4 4 6 8 9 Energia 11 18 2 IIB Energia MSP-430 IIB C C++ 3 Energia Energia MSP-430 Windows Mac OS Linux MSP-430, http://www.energia.nu, Max OS X, windows Linux Mac OS X, energia-

More information

RB-Dfr-12 DFRobot URM04 v2.0 Ultrasonic Sensor

RB-Dfr-12 DFRobot URM04 v2.0 Ultrasonic Sensor RB-Dfr-12 DFRobot URM04 v2.0 Ultrasonic Sensor URM04 is developed based upon our popular URM37 ultrasonic sensor. The RS485 interface allows a number of sensors working together. Up to 32 URM04 may be

More information

Løkkestrukturer. Trykknap: Button, Se eksempler / Digital / Button. Decision: If: Version 01/ Loops, løkker mm. i Arduino.

Løkkestrukturer. Trykknap: Button, Se eksempler / Digital / Button. Decision: If: Version 01/ Loops, løkker mm. i Arduino. Loops, løkker mm. i Arduino Links til: Trykknap If, If Else If For-Loop While, Do While PWM Serial Read Funktioner Array, Matrix Trykknap: Button, Se eksempler / Digital / Button int buttonpin=2 pinmode(buttonpin,

More information

#include "quaternionfilters.h" #include "MPU9250.h" data read #define SerialDebug true // Set to true to get Serial output for debugging

#include quaternionfilters.h #include MPU9250.h data read #define SerialDebug true // Set to true to get Serial output for debugging /*Hardware setup: MPU9250 Breakout --------- Arduino VDD ---------------------- 3.3V VDDI --------------------- 3.3V SDA ----------------------- A4 SCL ----------------------- A5 GND ----------------------

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

C++ Arrays. To declare an array in C++, the programmer specifies the type of the elements and the number of elements required by an array as follows

C++ Arrays. To declare an array in C++, the programmer specifies the type of the elements and the number of elements required by an array as follows Source: Tutorials Point C++ Arrays C++ Arrays C++ provides a data structure, the array, which stores a fixed-size, sequential collection of elements of the same type An array is used to store a collection

More information

The speaker connection is circled in yellow, the button connection in red and the temperature sensor in blue

The speaker connection is circled in yellow, the button connection in red and the temperature sensor in blue Connections While the board can be connected to a number of different Arduino versions I chose to use the Pro Mini as I wanted the completed unit to be fairly small. The Mini and the MP3 board run on 5

More information

Grove - 80cm Infrared Proximity Sensor

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

More information

Introduction To Arduino

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

More information

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

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

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

More information

Sensors and Motor Control Lab

Sensors and Motor Control Lab Sensors and Motor Control Lab ILR - 1 Amit Agarwal Team A Amit Agarwal, Harry Golash, Yihao Qian, Menghan Zhang, Zihao (Theo) Zhang October 14, 2016 Table of Contents 1. Individual Progress 1.1 DC Motor

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

EG Robotics LDR Kit Project Book

EG Robotics LDR Kit Project Book EG Robotics LDR Kit Project Book Projects Page # Night Light 2 Security Box 3 Light Guitar 5 The Fearful Robot 6 Juke Box 8 The LDR Project book contains 5 projects that can be used with your LDR Kit.

More information

Arduino: Serial Monitor Diagrams & Code Brown County Library

Arduino: Serial Monitor Diagrams & Code Brown County Library Arduino: Serial Monitor Diagrams & Code All projects require the use of the serial monitor in your Arduino IDE program (or whatever you are using to transfer code to the Arduino). Project 01: Monitor how

More information

Project 12 Piezo Sounder Melody Player

Project 12 Piezo Sounder Melody Player Project 12 Piezo Sounder Melody Player Rather than using the piezo to make annoying alarm sounds, why not use it to play a melody? You are going to get your Arduino to play the chorus of Puff the Magic

More information

EEL 5666C - Intelligent Machine Design Lab Final report

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

More information

Handson Technology. HC-SR04 Ultrasonic Sensor Module. 1

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

More information

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

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

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

genie.attacheventhandler(mygenieeventhandler); // Attach the user function Event Handler for processing events

genie.attacheventhandler(mygenieeventhandler); // Attach the user function Event Handler for processing events #include #include #include //#include Genie genie; #define RESETLINE 4 Timer t1,t4,t2; int needsave = 1; int timesince = 0; int pulses, A_SIG = 0, B_SIG

More information

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

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

More information

m-block By Wilmer Arellano

m-block By Wilmer Arellano m-block By Wilmer Arellano You are free: to Share to copy, distribute and transmit the work Under the following conditions: Attribution You must attribute the work in the manner specified by the author

More information

URM04 V2.0 (SKU:SEN0002)

URM04 V2.0 (SKU:SEN0002) URM04 V2.0 (SKU:SEN0002) URM04 V2.0 Figure 1: URM04 Beam Width 60 degree Contents 1 Introduction 2 Specification 3 Dimension and Pin definition 4 Communication Protocols 4.1 Set Device Address 4.2 Trigger

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