Design Rationale for Cushion Timer and Logger

Size: px
Start display at page:

Download "Design Rationale for Cushion Timer and Logger"

Transcription

1 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 adapt a cushion with a force sensor so that it could tell when a person had sat for a certain length of time and then play an irritating tune to inspire the person to stand and move around. Due to the limited amount of time, we choose to hack an existing cushion of the desired size and appropriate padding rather than make our own cushion. We selected one that was sturdy enough to keep the sitter from feeling the components, large enough to provide space for the components, and pretty enough to not offend the eyes. We purchased this cushion (a cushion meant for outdoor furniture) at Bed, Bath and Beyond, keeping in mind the price and availability. We created our project with an Arduino as it affords the ability to run a program based on the information from a force resistor. We wanted to be able to control what the reaction was. As we developed the project and discussed it with Professor Barba, we tentatively decided to incorporate a data logging shield. This affords the ability to time stamp when certain defined actions occur. For us, those actions were when the force sensor senses sitting or standing, defined by whether the resistance was above or below a threshold. The data logging shield writes the requested information on an SD card, and when the SD card is plugged into a computer, the user can export the data to a spreadsheet (See our appendix for examples). Ideally, we would give the cushion to a subject and he or she would sit on it for about a week with the sitting and standing changes time stamped and logged, but without the tune activated. Then, we would activate the timer program to play the tune, with a reasonable time delay. At the moment, our prototype will not sense a stand and then re-sit during the timed delay period that is something we want to address in any future iteration. The sound that plays after the delay has gone through multiple iterations a single tone, then a melody that wasn t irritating, and now the melody from It s a Small World (commonly recognized as irritating). Due to the nature of the tune code we adapted, the tune currently plays 2.5 rounds and does not stop immediately upon a person standing. We think that this is still short enough to not cause many annoyance problems with co-workers. If the person does not stand, the tune will continue to play until he or she does stand. To create the programming, we included codes from Arduino s Tone 3 code, a Melody code, Print.screenIn code from the adafruit programming, and incorporated a threshold variable and a count delay. Together, the code forms a program that accomplishes our purpose. While this is a rough prototype, it is a step towards tracking personal health information in an area that has not previously been tracked (we could not find a comparable chair or cushion). It allows for the gathering of data about current habits and the shaping of these habits. Emily 360 reflection: I believe Laura and I split the responsibilities of the final project relatively successfully. We worked well together, dividing up the project into manageable portions and, as we finalized a portion, adding new elements which increased the complexity of the final project. We each brought certain strengths to the project and focused on specific aspects. I focused on some initial

2 research and then identifying components as we needed them. I hacked the housing of our project: the cushion. I soldered wire and some components, cut and resewed, and adapted the cushion s opening and inside to hold a plastic container, which protected our circuitry. I took videos and photos (always less than I thought!) and wrote preliminary drafts of our blogs and documents for Laura to improve. We tried to work together as much as possible so that we so that we could troubleshoot and test together, and help each other with problems. I am very aware, through this project, of the importance of knowing code. If I had not worked with Laura, I would have been lost as our project ended up requiring a lot of alterations and combinations of existing codes and then the addition of some entirely new elements. I had initially thought that we would be able to combine a couple of codes easily, which did not turn out to be the case. I wish I had taken a coding class at CCT and now plan to rectify that omission independently post graduation. In general, I really enjoyed putting together circuits following the diagrams and wish that we had had more time to spend on trying a variety of circuits. Finally, I wish the class could have lasted longer and delved even deeper into the three main areas. Laura s Reflection It is always easy to work with Emily because we both want to turn in good projects. It makes it easier to divide project tasks. We both did initial research for the codes we would need. Emily found a melody specific code, whereas I was able to find the codes need for the force resistor and threshold. I also did a lot of the research for products similar to what we wanted to create. It was really interesting to find that nothing like it is on the market. The closest item we found was something Stevie knew about, which was a car seat that can tell who is sitting in it based on pressure and sitting patterns. Emily was the one that found the adafruit data logger. Together we went through its instructions to figure out how to connect it to the Arduino. Since I have some understanding of code, and Emily very little experience, I did most of the coding (with, of course, lots of assistance from Professor Barba). One of my mistakes was trusting that the codes we found would work properly. We tried using one for our data logging aspect that would not compile. I sent half an hour trying to see what I had done wrong, until we finally checked the code by itself and discovered that it did not work at all. I may not know the Arduino code very well, but I should have trusted my instincts a bit better and not assumed I was placing the code elements in the wrong place. One thing that I think would have been helpful, instead of simply building the circuits when we were first introduced to the Arduino, is going over some of the basic Arduino codes. I was able to find the dictionary for the codes, but only after about a week and half. Going over some of that as a class I think would have helped Emily and I understand some of the pre-written codes better. Emily was able to take care of our sewing needs, which was very helpful since I have no idea how to sew. We tried to break the rest of the tasks evenly. When we soldered, we were both present and switched off so we both added to the final data logging aspect. We both enjoyed soldering and found that we did much better after Professor Barba took a look at our first attempt. Maybe turning in the projects along the way and getting feedback (not grades!) would be beneficial. We could have known some of our first solder was bad.

3 Appendix Video: Code: const int threshold = 250; // minimum reading of the sensors that generates a note bool Sitting =false; #include <SPI.h> #include <SD.h> #include <Wire.h> #include "RTClib.h" RTC_DS1307 rtc; File myfile; const int chipselect = 10; // TONES ========================================== // Start by defining the relationship between // note, period, & frequency. #define c 3830 // 261 Hz #define d 3400 // 294 Hz #define e 3038 // 329 Hz #define f 2864 // 349 Hz #define g 2550 // 392 Hz #define a 2272 // 440 Hz #define b 2028 // 493 Hz #define C 1912 // 523 Hz // Define a special note, 'R', to represent a rest #define R 0 // SETUP ============================================ // Set up speaker on a PWM pin (digital 9, 10 or 11) int speakerout = 8; // Do we want debugging on serial out? 1 for yes, 0 for no int DEBUG = 1; void setup() { pinmode(speakerout, OUTPUT); /* if (DEBUG) { Serial.begin(9600); // Set serial out if we want debugging */

4 { Serial.begin(9600); Serial.print("Initializing SD card..."); // On the Ethernet Shield, CS is pin 4. It's set as an output by default. // Note that even if it's not used as the CS pin, the hardware SS pin // (10 on most Arduino boards, 53 on the Mega) must be left as an output // or the SD library functions will not work. pinmode(10, OUTPUT); if (!SD.begin(chipSelect)) { Serial.println("initialization failed!"); return; Serial.println("initialization done."); // open the file. note that only one file can be open at a time, // so you have to close this one before opening another. myfile = SD.open("logfile3.csv", FILE_WRITE); // if the file opened okay, write to it: if (myfile) { Serial.print("Writing to logfile3.csv..."); // close the file: myfile.close(); Serial.println("done."); else { // if the file didn't open, print an error: Serial.println("error opening logfile3.csv"); /* // re-open the file for reading: myfile = SD.open("test3.csv"); if (myfile) { Serial.println("test3.csv:"); // read from the file until there's nothing else in it: while (myfile.available()) { Serial.write(myFile.read()); // close the file: myfile.close(); else { // if the file didn't open, print an error: Serial.println("error opening test3.csv"); */

5 //Serial.begin(9600); #ifdef AVR Wire.begin(); #else Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due #endif rtc.begin(); if (! rtc.isrunning()) { Serial.println("RTC is NOT running!"); // following line sets the RTC to the date & time this sketch was compiled rtc.adjust(datetime( DATE, TIME )); //end setup // MELODY and TIMING ======================================= // melody[] is an array of notes, accompanied by beats[], // which sets each note's relative length (higher #, longer note) int melody[] = { g, g, b, g, a, a, a, a, R, g, g, b, g, a, a, a, a ; int beats[] = { 24, 8, 16, 16, 24, 8, 24, 8, 24, 8, 16, 16, 24, 8, 24 ; int MAX_COUNT = sizeof(melody) / 2.5; // Melody length, for looping. // Set overall tempo long tempo = 20000; // Set length of pause between notes int pause = 1000; // Loop variable to increase Rest length int rest_count = 100; //<-BLETCHEROUS HACK; See NOTES // Initialize core variables int tone_ = 0; int beat = 0; long duration = 0; // PLAY TONE ============================================== // Pulse the speaker to play a tone for a particular duration void playtone() { long elapsed_time = 0; if (tone_ > 0) { // if this isn't a Rest beat, while the tone has // played less long than 'duration', pulse speaker HIGH and LOW while (elapsed_time < duration) { digitalwrite(speakerout,high); delaymicroseconds(tone_ / 2);

6 // DOWN digitalwrite(speakerout, LOW); delaymicroseconds(tone_ / 2); // Keep track of how long we pulsed elapsed_time += (tone_); else { // Rest beat; loop times delay for (int j = 0; j < rest_count; j++) { // See NOTE on rest_count delaymicroseconds(duration); void loop() { DateTime now = rtc.now(); // get a sensor reading: int sensorreading = analogread(a0); //Serial.println(sensorReading); // Serial.println("Standing reading = "); // if the sensor is pressed hard enough: if (sensorreading > threshold) { now = rtc.now(); Serial.println(sensorReading); Serial.println(" - Sitting"); if (Sitting == false) { // open the file. note that only one file can be open at a time, // so you have to close this one before opening another. myfile = SD.open("logfile3.csv", FILE_WRITE); // if the file opened okay, write to it: if (myfile) { Serial.print("Writing to logfile3.csv..."); myfile.print("sitting "); now = rtc.now(); myfile.print(now.year(), DEC); myfile.print('/'); myfile.print(now.month(), DEC); myfile.print('/'); myfile.print(now.day(), DEC); myfile.print(' ');

7 myfile.print(now.hour(), DEC); myfile.print(':'); myfile.print(now.minute(), DEC); myfile.print(':'); myfile.print(now.second(), DEC); myfile.println(' '); // close the file: myfile.close(); Serial.println("done."); else { // if the file didn't open, print an error: Serial.println("error opening logfile3.csv Two"); delay (3000); while(sitting == false) { // Set up a counter to pull from melody[] and beats[] for (int i=0; i<max_count; i++) { tone_ = melody[i]; beat = beats[i]; duration = beat * tempo; // Set up timing playtone(); //Serial.println(sensorReading); // A pause between notes... delaymicroseconds(pause); //Serial.println(sensorReading); if (sensorreading < threshold) { Sitting = true; sensorreading = analogread(a0); if (sensorreading < threshold) { Serial.println(sensorReading); Serial.println(" - Standing"); now = rtc.now(); if (Sitting == true) { Sitting = false; // open the file. note that only one file can be open at a time, // so you have to close this one before opening another.

8 myfile = SD.open("logfile3.csv", FILE_WRITE); // if the file opened okay, write to it: if (myfile) { Serial.print("Writing to logfile3.csv..."); myfile.print("standing "); now = rtc.now(); myfile.print(now.year(), DEC); myfile.print('/'); myfile.print(now.month(), DEC); myfile.print('/'); myfile.print(now.day(), DEC); myfile.print(' '); myfile.print(now.hour(), DEC); myfile.print(':'); myfile.print(now.minute(), DEC); myfile.print(':'); myfile.print(now.second(), DEC); myfile.println(' '); // close the file: myfile.close(); Serial.println("done."); else { // if the file didn't open, print an error: Serial.println("error opening logfile3.csv three"); notone(8); //endif //endif sitting false //endif sensor reading //endloop

9 Data: Serial Monitor

10 Text File

11 Exported Data * Please note that this is not all the data collected by the cushion. When we went to export the data from our SD card we realized that we had wrote the code so that each point of data was on its own line. This means that our data would not import easily into Excel. Laura had to go through force them on to one line, so we cut some data to simply the process. Laura then fixed the code so that relevant information was on the same line, separated by a space. Below are examples of this change.

12 Data File

13 Exported Data

#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

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

Arduino Driver SD Card

Arduino Driver SD Card Arduino Driver SD Card The arduino driver SD car is for the file s reading and writing What requires special explanation is the SD library file. Currently, it can t support the card over 2G well, so I

More information

RAMPS V1.4 Tutorial. 1. Mount the board onto arduono mega 2560, and plug in 5 A4988 driver board, as shown in the picture:

RAMPS V1.4 Tutorial. 1. Mount the board onto arduono mega 2560, and plug in 5 A4988 driver board, as shown in the picture: RAMPS V1.4 Tutorial 1. Mount the board onto arduono mega 2560, and plug in 5 A4988 driver board, as shown in the picture: 2. Add 12V power supply to the green port according to the label on the board 3.

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

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

Micro SD Card Breakout Board Tutorial

Micro SD Card Breakout Board Tutorial Micro SD Card Breakout Board Tutorial Created by lady ada Last updated on 2016-09-21 05:58:46 PM UTC Guide Contents Guide Contents Introduction Look out! What to watch for! Formatting notes Wiring Library

More information

Application Note: ADC on Teensy and Biasing LNA. Lhawang Thaye

Application Note: ADC on Teensy and Biasing LNA. Lhawang Thaye Application Note: ADC on Teensy and Biasing LNA Introduction Lhawang Thaye Page 1 This application note will address how to implement an ADC using the Teensy 3.1, the procedure for Biasing the LNA for

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

Lab 4: Determining temperature from a temperature sensor

Lab 4: Determining temperature from a temperature sensor Start on a fresh page and write your name and your partners names on the top right corner of the page. Write the title of the lab clearly. You may copy the objectives, introduction, equipment, safety and

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

Micro SD Card Breakout Board Tutorial

Micro SD Card Breakout Board Tutorial Micro SD Card Breakout Board Tutorial Created by lady ada Last updated on 2017-11-26 10:01:55 PM UTC Guide Contents Guide Contents Introduction Look out! What to watch for! Formatting notes Wiring Arduino

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

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

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

SD CARD USAGE WITH ARDUINO

SD CARD USAGE WITH ARDUINO Chapter 8 SD CARD USAGE WITH ARDUINO With the SD card input on the Arduino Ethernet Shield or Xbee SD Shield, you can carry out the info writing and reading processes into the SD card. Ethernet Shield

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

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

Micro SD Card Breakout Board Tutorial

Micro SD Card Breakout Board Tutorial Micro SD Card Breakout Board Tutorial Created by lady ada Last updated on 2017-12-11 11:05:59 PM UTC Guide Contents Guide Contents Introduction Look out! What to watch for! Formatting notes Arduino Wiring

More information

SD Card shield V4.0. Introduction. Application Ideas. Music Player with LinkIt One

SD Card shield V4.0. Introduction. Application Ideas. Music Player with LinkIt One SD Card shield V4.0 Introduction This is the newly released SD card V4.0 shield. It provides a storage space for your Arduino. Users can read/write SD card via Arduino s built-in SD library. It supports

More information

Arduino: Piezo Diagrams & Code Brown County Library. Projects 01 & 02: Scale and Playing a Tune Components needed: Arduino Uno board piezo

Arduino: Piezo Diagrams & Code Brown County Library. Projects 01 & 02: Scale and Playing a Tune Components needed: Arduino Uno board piezo Arduino: Piezo Diagrams & Code Projects 01 & 02: Scale and Playing a Tune Components needed: Arduino Uno board piezo /* Piezo 01 : Play a scale Code adapted from Adafruit Arduino Lesson 10 (learn.adafruit.com/adafruit-arduino-lesson-

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

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

Curiosity Killed the Cat?

Curiosity Killed the Cat? Curiosity Killed the Cat? Curiosity Killed the Cat? is based loosely on the thought experiment devised by Erwin Schrödinger in 1935. Schrödinger s cat explores the idea of applying the quantum idea of

More information

SPDM Level 2 Smart Electronics Unit, Level 2

SPDM Level 2 Smart Electronics Unit, Level 2 SPDM Level 2 Smart Electronics Unit, Level 2 Evidence Folder John Johns Form 3b RSA Tipton 1.1 describe the purpose of circuit components and symbols. The candidate can describe the purpose of a range

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

CHIPS Newsletter Vol 16 - Yahoo! Mail. Official Newsletter of

CHIPS Newsletter Vol 16 - Yahoo! Mail. Official Newsletter of CHIPS Newsletter Vol 16 From: "chips@elproducts.net" To: "Chuck Hellebuyck" Sunday, June 12, 2011 9:45 AM CHIPs Vol 16 / June 2011 Official Newsletter of Chuck

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

Battery Discharge Tester

Battery Discharge Tester Battery Discharge Tester I have quite a few rechargable AA and AAA batteries kicking around that I'd like to use in various projects, but I am very aware that some of them are a little weak for lack of

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

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

Controlling a fischertechnik Conveyor Belt with Arduino board

Controlling a fischertechnik Conveyor Belt with Arduino board EXPERIMENT TITLE: Controlling a fischertechnik Conveyor Belt with Arduino board PRODUCTS USED: CHALLENGE: AUTHOR: CREDITS: Interface and control a conveyor belt model (24 Volts, fischertechnik) with an

More information

Bloom A GADGET TO INSPIRE JOY FOR THOSE AFFECTED BY SEASONAL AFFECTIVE DISORDER. By Janine Mazur DEA 4210 Interaction Design

Bloom A GADGET TO INSPIRE JOY FOR THOSE AFFECTED BY SEASONAL AFFECTIVE DISORDER. By Janine Mazur DEA 4210 Interaction Design Bloom A GADGET TO INSPIRE JOY FOR THOSE AFFECTED BY SEASONAL AFFECTIVE DISORDER By Janine Mazur DEA 4210 Interaction Design Abstract In this project I present an idea for a gadget that emulates the season

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

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change Chapter01.fm Page 1 Monday, August 23, 2004 1:52 PM Part I The Mechanics of Change The Mechanics of Change Chapter01.fm Page 2 Monday, August 23, 2004 1:52 PM Chapter01.fm Page 3 Monday, August 23, 2004

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

DS1307 Real Time Clock Breakout Board Kit

DS1307 Real Time Clock Breakout Board Kit DS1307 Real Time Clock Breakout Board Kit Created by Tyler Cooper Last updated on 2016-09-07 12:03:17 AM UTC Guide Contents Guide Contents Overview What is an RTC? Battery Backup CR1220 12mm Diameter -

More information

Adafruit CAP1188 Breakout

Adafruit CAP1188 Breakout Adafruit CAP1188 Breakout Created by lady ada Last updated on 2014-05-14 12:00:10 PM EDT Guide Contents Guide Contents Overview Pinouts Power pins I2C interface pins SPI inteface pins Other interfacing

More information

Writing Code and Programming Microcontrollers

Writing Code and Programming Microcontrollers Writing Code and Programming Microcontrollers This document shows how to develop and program software into microcontrollers. It uses the example of an Atmel ATmega32U2 device and free software. The ATmega32U2

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

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

IOX-16 User s Manual. Version 1.00 April Overview

IOX-16 User s Manual. Version 1.00 April Overview UM Unified Microsystems IOX-16 User s Manual Version 1.00 April 2013 Overview The IOX-16 Arduino compatible shield is an easy way to add 16 additional digital Input/Output (I/O) lines to your Arduino system.

More information

Micro-Controllers. Module 2: Outputs Control and Inputs Monitoring. IAT Curriculum Unit PREPARED BY. August 2008

Micro-Controllers. Module 2: Outputs Control and Inputs Monitoring. IAT Curriculum Unit PREPARED BY. August 2008 Micro-Controllers Module 2: Outputs Control and Inputs Monitoring PREPARED BY IAT Curriculum Unit August 2008 Institute of Applied Technology, 2008 2 Module 2: Outputs Control and Inputs Monitoring Module

More information

Perfect Timing. Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation

Perfect Timing. Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation Perfect Timing Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation Problem & Solution College students do their best to plan out their daily tasks, but

More information

ZX Distance and Gesture Sensor SMD Hookup Guide

ZX Distance and Gesture Sensor SMD Hookup Guide Page 1 of 16 ZX Distance and Gesture Sensor SMD Hookup Guide Introduction The ZX Distance and Gesture Sensor is a collaboration product with XYZ Interactive. The innovative people at XYZ Interactive have

More information

Hardware Overview. Onboard Sensors. Pressure, Humidity, and Temperature. Air Quality and Temperature

Hardware Overview. Onboard Sensors. Pressure, Humidity, and Temperature. Air Quality and Temperature Hardware Overview The ESP32 Environment Sensor Shield incorporates three sensors capable of measuring five different environmental variables. It also provides connections for several other sensors that

More information

Bill of Materials: Turn Off the Lights Reminder PART NO

Bill of Materials: Turn Off the Lights Reminder PART NO Turn Off the Lights Reminder PART NO. 2209650 Have you ever woke up early in the morning to find out that the kids (or adults) in your home forgot to turn off the lights? I've had that happen a number

More information

Analog Input. Sure sure, but how to make a varying voltage? With a potentiometer. Or just pot.

Analog Input. Sure sure, but how to make a varying voltage? With a potentiometer. Or just pot. Analog Input Sure sure, but how to make a varying voltage? With a potentiometer. Or just pot. +5V measure gnd Color coding: red goes to power, blue to ground, purple to measure here (it s a mix, see?)

More information

CSE143 Notes for Monday, 4/25/11

CSE143 Notes for Monday, 4/25/11 CSE143 Notes for Monday, 4/25/11 I began a new topic: recursion. We have seen how to write code using loops, which a technique called iteration. Recursion an alternative to iteration that equally powerful.

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

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

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

If Statements, For Loops, Functions

If Statements, For Loops, Functions Fundamentals of Programming If Statements, For Loops, Functions Table of Contents Hello World Types of Variables Integers and Floats String Boolean Relational Operators Lists Conditionals If and Else Statements

More information

How-To: Make an RGB combination door lock (Part 1)

How-To: Make an RGB combination door lock (Part 1) How-To: Make an RGB combination door lock (Part 1) Written By: Feitan 2017 www.botsbits.org Page 1 of 14 INTRODUCTION Part 2 can be found here 2017 www.botsbits.org Page 2 of 14 Step 1 How-To: Make an

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 5: It's Totally Random Monday, 5 October 08 :5 PM IT'S TOTALLY RANDOM EXPLORE WALT: definition and decomposition of complex problems in terms of functional and non-functional requirements WILF - Defined

More information

ENGR 40M Project 3c: Switch debouncing

ENGR 40M Project 3c: Switch debouncing ENGR 40M Project 3c: Switch debouncing For due dates, see the overview handout 1 Introduction This week, you will build on the previous two labs and program the Arduino to respond to an input from the

More information

An Automated Greenhouse Neil Kaul 7/9/01

An Automated Greenhouse Neil Kaul 7/9/01 An Automated Greenhouse Neil Kaul kaul@frontiernet.net 7/9/01 INTRODUCTION June 1-30 of 2001, I attended a course on "Machine Architecture and Assembly Language Training" at Mr. Born s house. The purpose

More information

Arduino Cookbook O'REILLY* Michael Margolis. Tokyo. Cambridge. Beijing. Farnham Koln Sebastopol

Arduino Cookbook O'REILLY* Michael Margolis. Tokyo. Cambridge. Beijing. Farnham Koln Sebastopol Arduino Cookbook Michael Margolis O'REILLY* Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Preface xiii 1. Getting Started 1 1.1 Installing the Integrated Development Environment (IDE)

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

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

SECOND EDITION. Arduino Cookbook. Michael Margolis O'REILLY- Tokyo. Farnham Koln Sebastopol. Cambridge. Beijing

SECOND EDITION. Arduino Cookbook. Michael Margolis O'REILLY- Tokyo. Farnham Koln Sebastopol. Cambridge. Beijing SECOND EDITION Arduino Cookbook Michael Margolis Beijing Cambridge Farnham Koln Sebastopol O'REILLY- Tokyo Table of Contents Preface xi 1. Getting Started 1 1.1 Installing the Integrated Development Environment

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

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

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

Lesson I2C. I²C (Inter-Integrated Circuit) Lab Assignment: I2C Slave Driver

Lesson I2C. I²C (Inter-Integrated Circuit) Lab Assignment: I2C Slave Driver Lesson I2C I²C (Inter-Integrated Circuit) Lab Assignment: I2C Slave Driver I²C (Inter-Integrated Circuit) What is I 2 C I2C is pronounced "eye-squared see". It is also known as "TWI" because of the initial

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

CHIPS Newsletter Vol 5 - Yahoo! Mail. Official Newsletter of

CHIPS Newsletter Vol 5 - Yahoo! Mail. Official Newsletter of CHIPS Newsletter Vol 5 From: "chips@elproducts.net" To: "Chuck Hellebuyck" Thursday, April 29, 2010 12:07 AM CHIPs Vol 5 / April 28, 2010 Official Newsletter

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

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

CS 142 Style Guide Grading and Details

CS 142 Style Guide Grading and Details CS 142 Style Guide Grading and Details In the English language, there are many different ways to convey a message or idea: some ways are acceptable, whereas others are not. Similarly, there are acceptable

More information

Adafruit 1-Wire GPIO Breakout - DS2413

Adafruit 1-Wire GPIO Breakout - DS2413 Adafruit 1-Wire GPIO Breakout - DS2413 Created by Bill Earl Last updated on 2018-08-22 03:40:00 PM UTC Guide Contents Guide Contents Overview Assembly & Wiring Headers Position the Header And Solder! Wiring

More information

LEGO BB-8 Release: LEGO BB-8. Learn how to automate a LEGO BB-8for motion, light, and sound using Crazy Circuits. Written By: Joshua

LEGO BB-8 Release: LEGO BB-8. Learn how to automate a LEGO BB-8for motion, light, and sound using Crazy Circuits. Written By: Joshua LEGO BB-8 Learn how to automate a LEGO BB-8for motion, light, and sound using Crazy Circuits. Written By: Joshua 2018 browndoggadgets.dozuki.com/ Page 1 of 18 INTRODUCTION We absolutely LOVE the new LEGO

More information

How to Improve Your Campaign Conversion Rates

How to Improve Your  Campaign Conversion Rates How to Improve Your Email Campaign Conversion Rates Chris Williams Author of 7 Figure Business Models How to Exponentially Increase Conversion Rates I'm going to teach you my system for optimizing an email

More information

Wire Loop Game Nerves of Steel and Arduino in control

Wire Loop Game Nerves of Steel and Arduino in control Post Project No. Wire Loop Game Nerves of Steel and Arduino in control Here s a multi-player (max. ) version of that nerve-racking game called Wire Loop where contestants have to pass a metal loop around

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

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

CSCI-1200 Data Structures Spring 2018 Lecture 14 Associative Containers (Maps), Part 1 (and Problem Solving Too)

CSCI-1200 Data Structures Spring 2018 Lecture 14 Associative Containers (Maps), Part 1 (and Problem Solving Too) CSCI-1200 Data Structures Spring 2018 Lecture 14 Associative Containers (Maps), Part 1 (and Problem Solving Too) HW6 NOTE: Do not use the STL map or STL pair for HW6. (It s okay to use them for the contest.)

More information

Powered by. How did trying to give apples away for free change the world?

Powered by. How did trying to give apples away for free change the world? How did trying to give apples away for free change the world? Steve Wozniak can tell you. He put technology in the hands of the people through the invention of the modern personal computer. Leaving college

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

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

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

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

#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

Sunscreen Reminder Hat

Sunscreen Reminder Hat Sunscreen Reminder Hat Created by Becky Stern Last updated on 2018-08-22 03:42:45 PM UTC Guide Contents Guide Contents Overview Circuit Diagram Stitch FLORA and piezo Add UV index sensor Code Wear it!

More information

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives:

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: This lab will introduce basic embedded systems programming concepts by familiarizing the user with an embedded programming

More information

Problem and Solution Overview: An elegant task management solution, that saves busy people time.

Problem and Solution Overview: An elegant task management solution, that saves busy people time. An elegant task management solution, that saves busy people time. Team: Anne Aoki: Storyboarding, design, user studies, writing Alex Anderson: User studies, design Matt Willden: Ideation, writing, user

More information

Arduino Lab 5 ME Instructor: Dr. Sandra Metzler. Date of Submission: 4/24/17. Emily Curtiss

Arduino Lab 5 ME Instructor: Dr. Sandra Metzler. Date of Submission: 4/24/17. Emily Curtiss Arduino Lab 5 ME 2900 Instructor: Dr. Sandra Metzler Date of Submission: 4/24/17 Emily Curtiss I. Introduction As an Ohio State student, I spend most of my time at home working on assignments and being

More information

Chapter Operation Pinout Operation 35

Chapter Operation Pinout Operation 35 68000 Operation 35 Chapter 6 68000 Operation 6-1. 68000 Pinout We will do no construction in this chapter; instead, we will take a detailed look at the individual pins of the 68000 and what they do. Fig.

More information

Post Experiment Interview Questions

Post Experiment Interview Questions Post Experiment Interview Questions Questions about the Maximum Problem 1. What is this problem statement asking? 2. What is meant by positive integers? 3. What does it mean by the user entering valid

More information

Low Power Coin Cell Voltage Logger. Created by Phillip Burgess

Low Power Coin Cell Voltage Logger. Created by Phillip Burgess Low Power Coin Cell Voltage Logger Created by Phillip Burgess Guide Contents Guide Contents Overview Hardware Activating the watch Mental models Software Results Other Lessons 2 3 4 4 6 8 10 12 Adafruit

More information

CS Human 2.0 Studio Lo-fi Prototyping & Pilot Usability Test

CS Human 2.0 Studio Lo-fi Prototyping & Pilot Usability Test CS 147 - Human 2.0 Studio Lo-fi Prototyping & Pilot Usability Test Jack G., Amin O., Esteban R. Introduction: Value Proposition: seamless shopping recommendations. Mission Statement: We strive to make

More information

C++ INTRODUCTION. GHI Electronics, LLC - Where Hardware Meets Software

C++ INTRODUCTION. GHI Electronics, LLC - Where Hardware Meets Software C++ INTRODUCTION GHI Electronics, LLC - Where Hardware Meets Software Contents Introduction... 2 Overview... 2 Guidelines... 2 Starting a New Project... 3 Exercise... 7 The BrainPad Object... 8 Exercise...

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

Make It Change: Potentiometers

Make It Change: Potentiometers Make It Change: Potentiometers Created by Mike Barela Last updated on 2018-09-16 06:27:20 PM UTC Guide Contents Guide Contents Overview Parts List Circuit Playground Express Panel Mount 10K potentiometer

More information

Appendix Sietse Taams - Master thesis

Appendix Sietse Taams - Master thesis Appendix Sietse Taams - Master thesis Designing a connected barbecue Appendix A Design process The design process is relatively important to info.nl. Together with Tomasz, an iterative design strategy

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

Reviewing and Evaluating your Website

Reviewing and Evaluating your Website Reviewing and Evaluating your Website Introduction In the following review, I will be evaluating the website that I have produced for my client. I will make sure I have made the website appropriate for

More information

Pro Trinket Tachometer

Pro Trinket Tachometer Pro Trinket Tachometer Created by Bill Earl Last updated on 2017-07-19 08:02:09 PM UTC Guide Contents Guide Contents Overview Materials Required: Recommended or Optional Materials Circuit Design Components:

More information

Obtained from Omarshauntedtrail.com

Obtained from Omarshauntedtrail.com Getting Started Boombox Amplifier http://www.deathlord.net/boomboxamp/boom.htm BoomBox AmplifiER Difficulty Rating: For years I imagined that my old, broken boom boxes I had laying around could be used

More information