/* ///////////////////////////////////////////////////////////////////////////////////////////////////////REAL- TIME CLOCK MODULE DS1307 */

Size: px
Start display at page:

Download "/* ///////////////////////////////////////////////////////////////////////////////////////////////////////REAL- TIME CLOCK MODULE DS1307 */"

Transcription

1 ////////////////////////////////////////////////////////////////////////////////////////////////////MENU_CONTROLLER_UNO ///////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////MENU_CONTROLLER_UNO ///////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////MENU_CONTROLLER_UNO ///////////////////////////////////////////////////////////// LCD I2C &: Keypad Code: Mike Myers - Let's Make It Episode 6 ( zen.tv/index.php/shows/let- s- make- it/episodes/59- sensor- fun- with- arduino- 1- massive- failure- but- 4- successes- let- s- make- it- episode- 6) Menu Code: Alexander Brevig (alexanderbrevig@gmail.com) - Menu Library for Arduino ( RTC DS1307: ARDUINO - ( I2C LCD & RTC DS1307: brainstorm ABC (brainstorm.abc@gmail.com) - Clock using Arduino I2C bus for both RTC and 16x2 LCD display ( Arduino Real Time Clock (DS1307) - Naren_Murali ( Real- Time- Clock- DS1307/?ALLSTEPS) / ( Import needed libraries ) / #include <LiquidCrystal_I2C.h> #include <Wire.h> #include <Keypad.h> #include <Time.h> #include <RealTimeClockDS1307.h> / ( Declare Constants ) / const byte rows = 4; const byte cols = 4; int redledpin = 4; int greenledpin = 5; / ( Declare objects ) / // * ( Declare Variables ) / ///////////////////////////////////////////////////////////////////////////////////////////////////////REAL- TIME CLOCK MODULE DS1307 #define Display_Clock_Every_N_Seconds 10 // n.secs to show date/time #define Display_ShortHelp_Every_N_Seconds 60 // n.secs to show hint for help //#define TEST_Squarewave //#define TEST_StopStart //#define TEST_1224Switch int count = 0; char formatted[] = " :00:00x"; ///////////////////////////////////////////////////////////////////////////////////////////////////////LIQUID CRYSTAL IC2 DISPLAY #define address 0x27 ///////////////////////////////////////////////////////////////////////////////////////////////////////MENU & SUB- MENU ///////////////////////////////////////////////////////////////////////////////////////////////////////4X4 MATRIX KEYPAD char keys[rows][cols] = '1','2','3','A', '4','5','6','B', '7','8','9','C', '*','0','#','D' ; byte rowpins[rows] = 13,11,12,10; byte colpins[cols] = 9,8,7,6; Keypad keypad = Keypad(makeKeymap(keys), rowpins, colpins, rows, cols);

2 LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display char* ourcode = "3308"; int currentposition = 0; char* Select1 = "1"; //set our code ///VOID SETUP/////////////////////// ///VOID SETUP/////////////////////// ///VOID SETUP/////////////////////// void setup() // Write setup function /////////////////////////////////////////////// REAL- TIME CLOCK MODULE SETUP /////////////////////////////////////////////// // Wire.begin(); Serial.begin(9600); // Allows us to listen to the serial communication from the arduino pinmode(a4, OUTPUT); /** pin 16 (Analog pin 2) as OUTPUT *** digitalwrite(a4, HIGH); /** pin 16 (Analog pin 2) set to LOW *** pinmode(a5, OUTPUT); /** pin 17 (Analog pin 3) as OUTPUT *** digitalwrite(a5, LOW); /** pin 17 (Analog pin 3) set to HIGH *** /** Analog Pin settings to power RTC module *** //////////////////////////////////////////////// LIQUID CRYSTAL IC2 SETUP //////////////////////////////////////////////// lcd.init(); lcd.init(); lcd.backlight(); // initialize the lcd // Print a message to the LCD. displaycodeentryscreen(); pinmode(redledpin, OUTPUT); pinmode(greenledpin, OUTPUT); digitalwrite(redledpin, LOW); digitalwrite(greenledpin, LOW); //setup and turn off both LEDs //////////////////////////////////////////////// MENU & SUB- MENU SETUP //////////////////////////////////////////////// ///VOID LOOP//////////////////////// ///VOID LOOP/////////////////////// ///VOID LOOP/////////////////////// void loop() ////////////////////////////////////////////// REAL- TIME CLOCK MODULE LOOP /////////////////////////////////////////////// if(serial.available()) processcommand(); RTC.readClock(); count++; if(count % Display_Clock_Every_N_Seconds == 0) Serial.print(count); Serial.print(": ");

3 RTC.getFormatted(formatted); Serial.print(formatted); Serial.println(); if(count % Display_ShortHelp_Every_N_Seconds == 0) Serial.println("Send? for a list of commands."); #ifdef TEST_Squarewave if(count%10 == 0) switch(count/10 % 6) case 0: Serial.print("Squarewave disabled (low impedance): "); RTC.sqwDisable(0); Serial.println((int) RTC.readData(7)); case 1: Serial.print("Squarewave disabled (high impedance): "); RTC.sqwDisable(1); Serial.println((int) RTC.readData(7)); case 2: Serial.println("Squarewave enabled at 1 Hz"); RTC.sqwEnable(RTC.SQW_1Hz); case 3: Serial.println("Squarewave enabled at khz"); RTC.sqwEnable(RTC.SQW_4kHz); case 4: Serial.println("Squarewave enabled at khz"); RTC.sqwEnable(RTC.SQW_8kHz); case 5: Serial.println("Squarewave enabled at khz"); RTC.sqwEnable(RTC.SQW_32kHz); default: Serial.println("Squarewave test not defined"); //switch #endif #ifdef TEST_StopStart if(count%10 == 0) if(!rtc.isstopped()) if(rtc.getseconds() < 45) Serial.println("Stopping clock for 10 seconds"); RTC.stop(); //if we have enough time else RTC.setSeconds(RTC.getSeconds()+11); RTC.start(); Serial.println("Adding 11 seconds and restarting clock"); //if on a multiple of 10 counts #endif #ifdef TEST_1224Switch if(count%10 == 0) if(count %20 == 0) Serial.println("switching to 12- hour time"); RTC.switchTo12h(); else Serial.println("switching to 24- hour time"); RTC.switchTo24h(); #endif

4 void processcommand() if(!serial.available()) return; char command = Serial.read(); int in,in2; switch(command) case 'H': case 'h': RTC.setHours(in); Serial.print("Setting hours to "); case 'I': case 'i': RTC.setMinutes(in); Serial.print("Setting minutes to "); case 'S': case 's': RTC.setSeconds(in); Serial.print("Setting seconds to "); case 'Y': case 'y': RTC.setYear(in); Serial.print("Setting year to "); case 'M': case 'm': RTC.setMonth(in); Serial.print("Setting month to "); case 'D': case 'd': RTC.setDate(in); Serial.print("Setting date to "); case 'W': Serial.print("Day of week is "); Serial.println((int) RTC.getDayOfWeek()); case 'w': RTC.setDayOfWeek(in); Serial.print("Setting day of week to "); case 't': case 'T': if(rtc.is12hour()) RTC.switchTo24h(); Serial.println("Switching to 24- hour clock."); else RTC.switchTo12h(); Serial.println("Switching to 12- hour clock."); case 'A': case 'a': if(rtc.is12hour()) RTC.setAM();

5 Serial.println("Set AM."); else Serial.println("(Set hours only in 24- hour mode.)"); case 'P': case 'p': if(rtc.is12hour()) RTC.setPM(); Serial.println("Set PM."); else Serial.println("(Set hours only in 24- hour mode.)"); case 'q': RTC.sqwEnable(RTC.SQW_1Hz); Serial.println("Square wave output set to 1Hz"); case 'Q': RTC.sqwDisable(0); Serial.println("Square wave output disabled (low)"); case 'z': RTC.start(); Serial.println("Clock oscillator started."); case 'Z': RTC.stop(); Serial.println("Clock oscillator stopped."); case '>': in2=serialreadposint(); RTC.writeData(in, in2); Serial.print("Write to register "); Serial.print(in); Serial.print(" the value "); Serial.println(in2); case '<': in2=rtc.readdata(in); Serial.print("Read from register "); Serial.print(in); Serial.print(" the value "); Serial.println(in2); default: Serial.println("Unknown command. Try these:"); Serial.println(" h## - set Hours [range or 0..24]"); Serial.println(" i## - set minutes [range 0..59]"); Serial.println(" s## - set Seconds [range 0..59]"); Serial.println(" d## - set Date [range 1..31]"); Serial.println(" m## - set Month [range 1..12]"); Serial.println(" y## - set Year [range 0..99]"); Serial.println(" w## - set arbitrary day of Week [range 1..7]"); Serial.println(" t - toggle 24- hour mode"); Serial.println(" a - set AM p - set PM"); Serial.println(); Serial.println(" z - start clock Z - stop clock"); Serial.println(" q - SQW/OUT = 1Hz Q - stop SQW/OUT"); Serial.println(); Serial.println(" >##,### - write to register ## the value ###"); Serial.println(" <## - read the value in register ##"); //switch on command //read in numeric characters until something else //or no more data is available on serial. int SerialReadPosInt() int i = 0; boolean done=false; while(serial.available() &&!done)

6 char c = Serial.read(); if (c >= '0' && c <='9') i = i * 10 + (c- '0'); else done = true; return i; //////////////////////////////////////////////////// KEYPAD LOOP ///////////////////////////////////////////////////// int l; char key = keypad.getkey(); if (int(key)!= 0) lcd.setcursor(14,3); lcd.setcursor(14,3); for (l=0; l<=currentposition; ++l) lcd.print("*"); if (key == ourcode[currentposition]) ++currentposition; if (currentposition == 4) unlockdoor(); currentposition = 0; else invalidcode(); currentposition = 0; //////////////////////////////////////////// LIQUID CRYSTAL IC2 LOOP //////////////////////////////////////////// void displaycodeentryscreen() //Entry Screen 1.0 lcd.print("affinity AQUAPONICS"); lcd.setcursor(1,1); // Go to the 2nd line lcd.print("urban FARM SYSTEM"); lcd.setcursor(3,3); // Go to the 3rd line lcd.print("passcode:"); lcd.setcursor(16,3); void invalidcode() //Invalid Code Screen 1.1 digitalwrite(redledpin, HIGH); lcd.print("** ACCESS DENIED! **"); lcd.print("** INVALID CODE **"); delay(5000); digitalwrite(redledpin, LOW); displaycodeentryscreen(); void unlockdoor() //Invalid Code Screen 1.2.

7 digitalwrite(greenledpin, HIGH); lcd.print("** ACCESS GRANTED **"); lcd.print("** WELCOME!! **"); delay(5000); digitalwrite(greenledpin, LOW); menuscreen(); //add any code to unlock the door here void menuscreen() //Main Menu Screen 2.0. digitalwrite(greenledpin, HIGH); lcd.setcursor(8,0); lcd.print("menu"); lcd.print("1.sensors"); lcd.print("2.controls"); lcd.print("3.settings"); lcd.setcursor(11,1); lcd.print("4.subsys"); lcd.setcursor(11,2); lcd.print("4.dashboard"); lcd.setcursor(11,3); lcd.print("4.solar"); lcd.setcursor(22,1); lcd.print("4.lock SYS"); void sensorscreen() //Main Menu Screen 2.1. digitalwrite(greenledpin, HIGH); lcd.print("sensors"); lcd.print("1.light"); lcd.print("2.temp/hu"); void clearscreen() //Main Menu Screen 2.1. //////////////////////////////////////////////// MENU & SUB- MENU LOOP ////////////////////////////////////////////////

#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

Appendix A Requirement and Verification Table

Appendix A Requirement and Verification Table Appendix A Requirement and Table Table X System Requirements and s Buttons and LED Requirements 1. Buttons must be easily press able and accessible by the user. 2. LED must be visible from up to 15 ft

More information

Midterm- birthday card Arduino combination code

Midterm- birthday card Arduino combination code William Kasurak 2456259 Midterm- birthday card Arduino combination code Initially for this assignment I wanted to create a jukebox combination lock that allowed the user to set a one pin combination for

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

#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

I2C TWI LCD2004 Module (Arduino/Gadgeteer Compatible) (SKU:DFR0154)

I2C TWI LCD2004 Module (Arduino/Gadgeteer Compatible) (SKU:DFR0154) I2C TWI LCD2004 Module (Arduino/Gadgeteer Compatible) (SKU:DFR0154) Introduction I2C/TWI LCD2004 module compatible with Gadgeteer is a cool lcd display with a high speed I2C serial bus from DFRobot. With

More information

Computer Architectures

Computer Architectures Implementing the door lock with Arduino Gábor Horváth 2017. február 24. Budapest associate professor BUTE Dept. Of Networked Systems and Services ghorvath@hit.bme.hu Outline Aim of the lecture: To show

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

I2C/TWI LCD1602 Module (Gadgeteer Compatible) (SKU: DFR0063)

I2C/TWI LCD1602 Module (Gadgeteer Compatible) (SKU: DFR0063) I2C/TWI LCD1602 Module (Gadgeteer Compatible) (SKU: DFR0063) Introduction This is another great I2C 16x2 LCD display compatible with Gadgeteer modules from DFRobot. With limited pin resources, your project

More information

I2C Serial 2.6 LCD Module

I2C Serial 2.6 LCD Module Ausgabe 08.09.2017 Copyright by Joy-IT 1 Index 1. Using with an Arduino 1.1 Connecting the display 1.2 Installing the library 1.3 Example-Code 2. Using with a Raspberry Pi 2.1 Installing the software 2.2

More information

BASIC Arduino. Part I

BASIC Arduino. Part I BASIC Arduino Part I Objectives Introduction to Arduino Build a 1-60MHz DDS VFO prototype, breadboard and write Sketches, with Buffer amps to be designed, and PCB Using your own laptop Go on to build other

More information

Gamma sensor module GDK101

Gamma sensor module GDK101 Application Note: Interfacing with Arduino over I 2 C The Arduino makes an ideal platform for prototyping and data collection with the Gamma sensors. Electrical Connections Interfacing with the sensor

More information

4x4 Matrix Membrane Keypad

4x4 Matrix Membrane Keypad Handson Technology Data Specs 4x4 Matrix Membrane Keypad This 16-button kepyad provides a useful human interface component for micro-controller projects. Convenient adhesive backing provides a simple way

More information

VMA325 COLOR SENSOR TCS3200 MODULE USER MANUAL

VMA325 COLOR SENSOR TCS3200 MODULE USER MANUAL COLOR SENSOR TCS3200 MODULE USER MANUAL USER MANUAL 1. Introduction To all residents of the European Union Important environmental information about this product This symbol on the device or the package

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

#include "DHT.h" DHT dht(dhtpin, DHTTYPE); // Date and time functions using a DS1307 RTC connected via I2C and Wire lib

#include DHT.h DHT dht(dhtpin, DHTTYPE); // Date and time functions using a DS1307 RTC connected via I2C and Wire lib #include "DHT.h" #define DHTPIN 2 // what pin we're connected to // Uncomment whatever type you're using! #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21

More information

SPLDuino Programming Guide

SPLDuino Programming Guide SPLDuino Programming Guide V01 http://www.helloapps.com http://helloapps.azurewebsites.net Mail: splduino@gmail.com HelloApps Co., Ltd. 1. Programming with SPLDuino 1.1 Programming with Arduino Sketch

More information

Laboratory 5 Communication Interfaces

Laboratory 5 Communication Interfaces Laboratory 5 Communication Interfaces Embedded electronics refers to the interconnection of circuits (micro-processors or other integrated circuits) with the goal of creating a unified system. In order

More information

// Press and hold TXsim button and select antenna with left or right button. // Press and hold left and right button to reset EEPROM

// Press and hold TXsim button and select antenna with left or right button. // Press and hold left and right button to reset EEPROM // This sketch will decode ICOM CI-V frequency information // and switch antenna's according to preset (memorized) // values. RX and TX antenna's can be different. // Press and hold TXsim button and select

More information

I n t e r a c t i v e HA u t o m a t a _. Programming for Engineers Winter Andreas Zeller, Saarland University

I n t e r a c t i v e HA u t o m a t a _. Programming for Engineers Winter Andreas Zeller, Saarland University I n t e r a c t i v e HA u t o m a t a _ Programming for Engineers Winter 2015 Andreas Zeller, Saarland University Today s Topics Strings Interaction Automata A Purchase Select Product Insert Coins Dispense

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

3.The circuit board is composed of 4 sets which are 16x2 LCD Shield, 3 pieces of Switch, 2

3.The circuit board is composed of 4 sets which are 16x2 LCD Shield, 3 pieces of Switch, 2 Part Number : Product Name : FK-FA1416 MULTI-FUNCTION 16x2 LCD SHIELD This is the experimental board of Multi-Function 16x2 LCD Shield as the fundamental programming about the digits, alphabets and symbols.

More information

File: Unsaved Document 1 Page 1 of 7

File: Unsaved Document 1 Page 1 of 7 File: Unsaved Document 1 Page 1 of 7 /* Example 10.2 On/off timer tronixstuff.com/tutorials > Chapter 10 based on code by Maurice Ribble 17-4-2008 - http://www.glacialwanderer.com/hobbyrobotics and John

More information

Arduino EEPROM module 512K for Sensor Shield

Arduino EEPROM module 512K for Sensor Shield Arduino EEPROM module 512K for Sensor Shield Experiment Steps This is a new designed for small data size storage. It can help to extend the EEPROM storage of Arduino. This module uses I2C to connect to

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

Send commands via bluetooth, e.g. irise app for Android

Send commands via bluetooth, e.g. irise app for Android /** Sunrise alarm clock Waking up with a sunrise simulation Mood light Send commands via bluetooth, e.g. irise app for Android */ command i20:45z s06:10z dz m1..9e r1z y1z zz tz kz lz bz v1e description

More information

Trinket RGB Shield Clock

Trinket RGB Shield Clock Trinket RGB Shield Clock Created by Mike Barela Last updated on 2016-02-07 09:38:15 PM EST Guide Contents Guide Contents Overview Libraries Getting Ready Hook-up Code Use and Going Further Use It! Going

More information

Physics 120B: Lecture LCD. LCD Text Display Keypads and Time Slicing Interrupts

Physics 120B: Lecture LCD. LCD Text Display Keypads and Time Slicing Interrupts Physics 120B: Lecture 4 LCD Text Display Keypads and Time Slicing Interrupts 2 16 LCD Typically 5 8 dots per character Note 16 pins: indicator of common interface Lecture 4 2 1 Typical LCD Unit pinout

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

Physics 124: Lecture 4. LCD Text Display Keypads and Time Slicing Interrupts

Physics 124: Lecture 4. LCD Text Display Keypads and Time Slicing Interrupts Physics 124: Lecture 4 LCD Text Display Keypads and Time Slicing Interrupts 2 16 LCD Typically 5 8 dots per character Note 16 pins: indicator of common interface Phys 124: Lecture 4 2 Typical LCD Unit

More information

Inclusions required for the DMD

Inclusions required for the DMD Sketch for Home Alert The sketch is not large in terms of the line count, but it almost exhausts the Uno s available flash memory thanks to all the included libraries. There is lots of room for memory

More information

Microduino mcookie-rtc USER GUIDE.

Microduino mcookie-rtc USER GUIDE. Microduino mcookie-rtc USER GUIDE https://eckstein-shop.de/ Content Features... 2 Specification... 2 Development... 3 Detect Power-down Time Duration...3 Test EEPROM Read/Write...5 FAQ... 7 1 https://eckstein-shop.de/

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

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

Arduino Board Design. Nicholas Skadberg 4/30/09 EE290. Dr. Pushkin Kachroo

Arduino Board Design. Nicholas Skadberg 4/30/09 EE290. Dr. Pushkin Kachroo Arduino Board Design Nicholas Skadberg 4/30/09 EE290 Dr. Pushkin Kachroo Abstract In an effort to further understand the concept of digital control using a microprocessor, a simple serial output device

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

Junying Huang Fangjie Zhou. Smartphone Locker

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

More information

AUTOMATIC TEA BREWING THERMOS

AUTOMATIC TEA BREWING THERMOS AUTOMATIC TEA BREWING THERMOS By Joseph Niemerg Vincent Murphy Danny i Final Report for ECE 445, Senior Design, Spring 2018 TA: Nicholas Ratajczyk 2 May 2018 Project No. 60 Abstract For our final project

More information

GoldSTEM.org. Growing the Future

GoldSTEM.org. Growing the Future GoldSTEM.org Growing the Future GoldSTEM_Lesson_ tm 3-24-2016 17_Time_Date_and_Temperature_to_Terminal Lessons should be done in sequence, start off with lesson 4. Each lessons builds on what was learned

More information

// sets the position of cursor in row and column

// sets the position of cursor in row and column CODE: 1] // YES_LCD_SKETCH_10_14_12 #include //lcd(rs, E, D4, D5, D6, D7) LiquidCrystal lcd(8, 9, 4, 5, 6, 7); int numrows = 2; int numcols = 16; void setup() Serial.begin(9600); lcd.begin(numrows,

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

Seeeduino Stalker. Overview. Basic features: License

Seeeduino Stalker. Overview. Basic features: License Seeeduino Stalker Overview Seeeduino Stalker is an extensive Wireless Sensor Network node, with native data logging features and considered modular structure. It could be conveniently used as sensor hub

More information

ARDUINO WORKSHOP A HANDS-ON I N T R O D U C T I O N W I T H 65 PROJECTS JOHN BOXALL

ARDUINO WORKSHOP A HANDS-ON I N T R O D U C T I O N W I T H 65 PROJECTS JOHN BOXALL ARDUINO WORKSHOP A HANDS-ON I N T R O D U C T I O N W I T H 65 PROJECTS JOHN BOXALL I NDEX Symbols & Numbers &, 139 &&, 73 *, 84 */, 27 ==, 71!, 73!=, 71 /, 84 /*, 27 //, 27 >, 84 >=, 84 #define, 70 #include,

More information

Lab 1: Arduino Basics. Rodrigo Carbajales and Marco Zennaro ICTP Trieste-Italy

Lab 1: Arduino Basics. Rodrigo Carbajales and Marco Zennaro ICTP Trieste-Italy Lab 1: Arduino Basics Rodrigo Carbajales and Marco Zennaro ICTP Trieste-Italy Step Zero Clean up your desks! :) Goals of this Lab Learn how the programming takes place Excercises about: installing the

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

Dual rocket altimeter using the ATmega 328 microcontroller. The AltiDuo

Dual rocket altimeter using the ATmega 328 microcontroller. The AltiDuo Dual rocket altimeter using the ATmega 328 microcontroller The AltiDuo Version date Author Comments 1.0 29/12/2012 Boris du Reau Initial Version Boris.dureau@neuf.fr 1.1 17/02/2013 Boris du Reau Updated

More information

1 single digit Nixie clock

1 single digit Nixie clock 1 single digit Nixie clock by Jānis Alnis 2014-2016 Young people are fascinated by Nixies. They have not seen such neon lights in the present solid-state era. IN-18 is the largest neon digit indicator

More information

//Added Band selection switch and User configurable IF for BITX by KD2ETS-modi //Removed non standard increment frequency//

//Added Band selection switch and User configurable IF for BITX by KD2ETS-modi //Removed non standard increment frequency// //Added Band selection switch and User configurable IF for BITX by KD2ETS-modi //Removed non standard increment frequency// // Include the library code #include #include //Setup

More information

Workshop on Microcontroller Based Project Development

Workshop on Microcontroller Based Project Development Organized by: EEE Club Workshop on Microcontroller Based Project Development Presented By Mohammed Abdul Kader Assistant Professor, Dept. of EEE, IIUC Email:kader05cuet@gmail.com Website: kader05cuet.wordpress.com

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

Bluno Mega 2560 (SKU:DFR0323)

Bluno Mega 2560 (SKU:DFR0323) Bluno Mega 2560 (SKU:DFR0323) From Robot Wiki Contents 1 Introduction 2 Specification 3 Pin Out 4 Supported Android Devices 5 Supported Apple Devices 6 Tutorial o 6.1 More advantages o 6.2 The serial port

More information

Sten-SLATE ESP. Accelerometer and I2C Bus

Sten-SLATE ESP. Accelerometer and I2C Bus Sten-SLATE ESP Accelerometer and I2C Bus Stensat Group LLC, Copyright 2016 I2C Bus I2C stands for Inter-Integrated Circuit. It is a serial type interface requiring only two signals, a clock signal and

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

RS485 Sensor Node V1.0 (SKU:DFR0233)

RS485 Sensor Node V1.0 (SKU:DFR0233) RS485 Sensor Node V1.0 (SKU:DFR0233) Contents 1 Introduction 2 Application 3 Specification 4 Pin Out 4.1 More details 5 Product Directive 6 Connecting Diagram 7 Sample Code Introduction This RS-485 Sensor

More information

RTC Interface 89C51 DS M. Krishna Kumar MAM/M7/LU17/V1/ Vcc VCC 5 SDA P1.0 6 SCL P KHz 3 BAT 3.

RTC Interface 89C51 DS M. Krishna Kumar MAM/M7/LU17/V1/ Vcc VCC 5 SDA P1.0 6 SCL P KHz 3 BAT 3. RTC Interface 89C51 Vcc P1.0 10k 10k 5 SDA DS 1307 8 VCC P1.1 6 SCL X1 1 + 3 BAT X2 2 32.768KHz - 3.6V 4 GND INTB\SQW 7 M. Krishna Kumar MAM/M7/LU17/V1/2004 1 RTC Interface contd. DS 1307 is a real time

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

Application Information

Application Information Application Information D Linear or D Angle Sensing with the ALS00 Hall-Effect IC By Wade Bussing and Robert Bate, Abstract This application note describes the use of the ALS00 D Linear Hall-Effect Sensor

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

I2C interface Tutorial

I2C interface Tutorial UG108: Praxis II January 2013 Asian Institute of Technology Undergraduate Program Handout: I2C interface Instructor: Chaiyaporn Silawatchananai, Matthew N. Dailey I2C interface Tutorial Introduction: In

More information

Design Rationale for Cushion Timer and Logger

Design Rationale for Cushion Timer and Logger Design Rationale for Cushion Timer and Logger Laura came up with the original idea. She was inspired by concerns about health and the amount of time people spend at their desks each day. We decided to

More information

Laboratory 3 Working with the LCD shield and the interrupt system

Laboratory 3 Working with the LCD shield and the interrupt system Laboratory 3 Working with the LCD shield and the interrupt system 1. Working with the LCD shield The shields are PCBs (Printed Circuit Boards) that can be placed over the Arduino boards, extending their

More information

SX1509 I/O Expander Breakout Hookup Guide

SX1509 I/O Expander Breakout Hookup Guide Page 1 of 16 SX1509 I/O Expander Breakout Hookup Guide Introduction Is your Arduino running low on GPIO? Looking to control the brightness of 16 LEDs individually? Maybe blink or breathe a few autonomously?

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

ARDUINO EXPERIMENTS ARDUINO EXPERIMENTS

ARDUINO EXPERIMENTS ARDUINO EXPERIMENTS ARDUINO EXPERIMENTS IR OBSTACLE SENSOR... 3 OVERVIEW... 3 OBJECTIVE OF THE EXPERIMENT... 3 EXPERIMENTAL SETUP... 3 IR SENSOR ARDUINO CODE... 4 ARDUINO IDE SERIAL MONITOR... 5 GAS SENSOR... 6 OVERVIEW...

More information

SWITCH 10 KILOHM RESISTOR 220 OHM RESISTOR POTENTIOMETER LCD SCREEN INGREDIENTS

SWITCH 10 KILOHM RESISTOR 220 OHM RESISTOR POTENTIOMETER LCD SCREEN INGREDIENTS 11 SWITCH 10 KILOHM RESISTOR 220 OHM RESISTOR POTENTIOMETER LCD SCREEN INGREDIENTS 115 CRYSTAL BALL CREATE A CRYSTAL BALL TO TELL YOUR FUTURE Discover: LCD displays, switch/case statements, random() Time:

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

GoldSTEM_Lesson_18_Time_Month_Date_and_Temperature_to_Terminal tm

GoldSTEM_Lesson_18_Time_Month_Date_and_Temperature_to_Terminal tm GoldSTEM_Lesson_18_Time_Month_Date_and_Temperature_to_Terminal tm 3-29-2016 For this experiment we will be using the same setup in Lesson 17 Wiring the Circuit See lesson 17 Change the code below you can

More information

Arduino C++ Introduction to programming Antony Watts M0IFA

Arduino C++ Introduction to programming Antony Watts M0IFA Arduino C++ Introduction to programming Antony Watts M0IFA Introduction Using the example code from a VFO sketch And along the way learn mainly about Arduino functions Libraries Open Arduino IDE, File

More information

Application Note Operation of the Jameco and SD Card Data Storage on the Teensy Ferris Chu

Application Note Operation of the Jameco and SD Card Data Storage on the Teensy Ferris Chu Application Note Operation of the Jameco and SD Card Data Storage on the Teensy Ferris Chu Operation of the Jameco For our system, we used the Jameco XR 2206, a monolithic function generator, to produce

More information

ECE 4510/5530 Microcontroller Applications Week 10

ECE 4510/5530 Microcontroller Applications Week 10 ECE 4510/5530 Microcontroller Applications Week 10 Dr. Bradley J. Bazuin Associate Professor Department of Electrical and Computer Engineering College of Engineering and Applied Sciences ECE 4510/5530

More information

Required Materials. Optional Materials. Preparation

Required Materials. Optional Materials. Preparation Module 1: Crash Prevention Lesson 3: Weather Information systems Programming Activity Using Arduino Teacher Resource Grade 9-12 Time Required: 3 60 minute sessions or 3 hours Required Materials Computers

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

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

Lab 4 LCDs and Accelerometers

Lab 4 LCDs and Accelerometers University of Pennsylvania Department of Electrical and Systems Engineering ESE 111 Intro to Electrical/Computer/Systems Engineering Lab 4 LCDs and Accelerometers Introduction: In this lab, will learn

More information

Barry the Plant Watering Robot

Barry the Plant Watering Robot Barry the Plant Watering Robot We are going to create the controller board for Barry, a robot who will do some of our plant watering chores for us. We aren t going to build all of Barry, but this will

More information

Serial:UART/I2C/SPI Text LCD Display Control Module. LCDSP_TG V1.60 user manual

Serial:UART/I2C/SPI Text LCD Display Control Module. LCDSP_TG V1.60 user manual Serial:UART/I2C/SPI Text LCD Display Control Module Product picture: In order to use a Text LCD display, you need connect at least 4 data pins and 2 control pins from your circuit to display, and you also

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

DHT11 Humidity and Temperature Sensor

DHT11 Humidity and Temperature Sensor DHT Humidity and Temperature Sensor Introduction This DHT Temperature and Humidity Sensor features a calibrated digital signal output with the temperature and humidity sensor complex Its technology ensures

More information

Gravity: BMI160 6-Axis Inertial Motion Sensor SKU: SEN0250

Gravity: BMI160 6-Axis Inertial Motion Sensor SKU: SEN0250 Gravity: BMI160 6-Axis Inertial Motion Sensor SKU: SEN0250 Introduction The BMI160 6-axis inertial motion sensor is a new product from DFRobot. It is based on Bosch BMI160 6-axis MEMS sensor which integrates

More information

Home Automation With Arduino

Home Automation With Arduino Home Automation With Arduino Automate Your Home Using Open-Source Hardware Marco Schwartz, PhD Contents Legal Acknowledgments About the author About the companion website Preface to the First Edition Preface

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

Lab 3 LCD Mar

Lab 3 LCD Mar Lab 3 LCD Mar. 2016 1 Objective 1. To be familiar with advanced output devices that can be connected to microcontroller. 2. To be able to work with many input/output devices together. Alphanumeric LCD

More information

Memo on development of the car-rangefinder device/data logger for crosswalk study

Memo on development of the car-rangefinder device/data logger for crosswalk study Memo on development of the car-rangefinder device/data logger for crosswalk study -Alex Bigazzi; abigazzi@pdx.edu; alexbigazzi.com; Sept. 16 th -19 th, 2013 The device is supposed to measure distances

More information

Product Manual. 6 Push-button Plug (A)

Product Manual. 6 Push-button Plug (A) Product Manual 6 Push-button Plug (A) Updated on: 27th November 2017 Index About Elint Labz 2 Introduction 3 Specification 3 Variants 3 Supported cables: 4 Details 4 How to interface? 5 Example Codes 7

More information

Product Manual. 4 Push-button Plug (A)

Product Manual. 4 Push-button Plug (A) Product Manual 4 Push-button Plug (A) Updated on: 27th November 2017 Index About Elint Labz 2 Introduction 3 Specification 3 Operating voltage: 5V 3 Variants 3 Supported cables: 4 Details 4 How to interface?

More information

Arduino - BART. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Arduino - BART. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo Arduino - BART Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo The Arduino Development Board PWR IN USB (to Computer) A printed circuit board designed to facilitate work with a

More information

ISL RGB Sensor Tutorial By: Sabrina Jones

ISL RGB Sensor Tutorial By: Sabrina Jones ISL 25129 RGB Sensor Tutorial By: Sabrina Jones Overview The ISL29125 RGB sensor is a breakout board made to record the light intensity of the general red, green, and blue spectrums of visible light, that

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

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

Microcontrollers and Interfacing week 10 exercises

Microcontrollers and Interfacing week 10 exercises 1 SERIAL PERIPHERAL INTERFACE (SPI) HARDWARE Microcontrollers and Interfacing week 10 exercises 1 Serial Peripheral Interface (SPI) hardware Complex devices (persistent memory and flash memory cards, D/A

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

3 Wire LED Module (SKU:DFR0090)

3 Wire LED Module (SKU:DFR0090) 3 Wire LED Module (SKU:DFR0090) Contents 1 Introduction 2 Connection 3 Pinout Diagram 4 Sample Code 4.1 Test Procedure 4.2 Operating procedure Introduction This is 8 digital bits serial LED display. It

More information

/* This program now switches between Train at holt to train on its way with button press. */ //MD_MAX72xx_Message_Serial7_train

/* This program now switches between Train at holt to train on its way with button press. */ //MD_MAX72xx_Message_Serial7_train /* This program now switches between Train at holt to train on its way with button press. */ //MD_MAX72xx_Message_Serial7_train // Use the MD_MAX72XX library to scroll text on the display // // Demonstrates

More information

NeoPixel 60 Ring Wall Clock

NeoPixel 60 Ring Wall Clock NeoPixel 60 Ring Wall Clock Created by Andy Doro Last updated on 2015-07-23 10:10:07 PM EDT Guide Contents Guide Contents Overview Building the Circuit Code Finishing it up 2 3 5 7 11 https://learn.adafruit.com/neopixel-60-ring-clock

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

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

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 the Intel Galileo. Lesson 7

Programming with the Intel Galileo. Lesson 7 Programming with the Intel Galileo Lesson 7 This lesson will teach use how to use a keypad on the Intel Galileo. We will also be using the LCD display and learning more about its functionality. Keypad

More information

The MC9S12 IIC Interface

The MC9S12 IIC Interface The MC9S12 IIC Interface The IIC bus can control multiple devices using only two wires The two wires are Clock and Data The devices connect to the wires using a wired ND method The lines are normally high.

More information

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

Lab 2 - Powering the Fubarino, Intro to Serial, Functions and Variables Lab 2 - Powering the 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 of 9 categories:

More information