Design Rationale for Cushion Timer and Logger
|
|
- Della Gardner
- 5 years ago
- Views:
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" #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 informationApplication 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 informationArduino 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 informationRAMPS 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 informationWorkshop 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 informationMemo 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 informationMicro 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 informationApplication 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 informationMetro 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 informationLab 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 informationNeoPixel 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 informationMicro 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 informationInclusions 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 informationProject 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 informationADC 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 informationSD 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 informationTrinket 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 informationAdafruit 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 informationMicro 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 informationSD 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 informationArduino: 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 informationNote. 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 informationGrove - 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 informationCuriosity 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 informationSPDM 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 informationRotary 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 informationCHIPS 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
/*Hardware setup: MPU9250 Breakout --------- Arduino VDD ---------------------- 3.3V VDDI --------------------- 3.3V SDA ----------------------- A4 SCL ----------------------- A5 GND ----------------------
More informationBattery 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 informationAdapted 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 informationMore 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 informationArduino 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 informationControlling 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 informationBloom 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 informationArduino 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 informationChapter01.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 informationIntroduction 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 informationDS1307 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 informationAdafruit 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 informationWriting 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 informationArduino 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 informationArduino 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 informationIOX-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 informationMicro-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 informationPerfect 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 informationZX 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 informationHardware 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 informationBill 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 informationAnalog 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 informationCSE143 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 informationLesson 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 informationElectronic 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 informationMake 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 informationIf 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 informationHow-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 informationWALT: 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 informationENGR 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 informationAn 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 informationArduino 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 informationArduino 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 informationUniversity 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 informationSECOND 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 informationKNOCK 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 informationThe 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 informationUniversity 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 informationLesson 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 informationCTEC 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 informationCHIPS 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 information4Serial 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 informationControl 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 informationCS 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 informationAdafruit 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 informationLEGO 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 informationHow 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 informationWire 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 informationkeyestudio 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 informationOverview. 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 informationCSCI-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 informationPowered 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 informationDual 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 informationLab 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 informationLab 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 informationHow 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 statements *****************************************************************************************************/
More informationSunscreen 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 informationECGR 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 informationProblem 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 informationArduino 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 informationChapter 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 informationPost 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 informationLow 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 informationCS 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 informationC++ 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 informationRobotics 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 informationMake 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 informationAppendix 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 informationThe 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 informationReviewing 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 informationPro 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 informationObtained 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