Monday, October 31, 2016

Week 6 Questions

1. Examples of semiconductors are diodes and transistors. Also microprocessors use CMOS (Complimentary metal-oxide-semiconductor) technology.
2. Because the purity of refined silicon is 99.999999999%
3. When phosphorus with 5 valence electrons mixes with silicon which has 4 valence electrons, phosphorus and silicon bond, but one electron (negative charge) escapes and becomes a free electron. This is an N-type semiconductor. When Boron with 3 valence electrons mixes with silicon which has 4 valence electrons, boron and silicon bond, but there is one electron missing which can be considered as a positively charged electron. This is P-type semiconductor.
4. A diode allows current to flow in one direction only. At the P-N junction, the free, negatively charged electrons from the N-type semiconductor are absorbed by the positively charged electrons from the P-type semiconductor. This forms a potential barrier that can be broken by applying voltage.
5. Rectification is a property that allows current to flow only in one direction.
6. Various colors of light can be created depending on the raw material of the semiconductor that emits light of a specific wavelength. Examples are traffic lights and backlighting of mobile phones.
7. The current that flows from the base to the emitter is called "base current," and when the base current flows, current will also flow from the collector to the emitter, and this is called "collector current."
8. Unlike regular switches, transistors have no physical contact, meaning that they don't wear out and are less likely to fail. Also, since transistors can be turned on/off rapidly, control can be fine tuned.

Sounds


10/31 Wave Shield - In-Class Work


A lot of videos















Adafruit Lesson 4, 5: Shift Register

Lesson 4, Part 1

Lesson 4, Part 2

Lesson 5, Serial Monitor

10.24 - Ultra-Sonic Range Finders

In-class Activity

Saturday, October 29, 2016

Final Project Update 1 & Range Finder Implementation | Xiaoxi Zheng

I've finish up changing the photoresistor with a sonar proximity sensor on the breadboard. Currently, the LEDs will only trigger when someone has approach closer enough.

Range Finder

I've also started the initial Kinect integration.





Tuesday, October 25, 2016

Final _Project [1] = TFT LCD


-I was able to get the TFT LCD to work after modifying its library and reading the spec sheet several times.


-I am thinking on writing Documentation for anybody who would like to use the TFT LCD.

Monday, October 24, 2016

In-Class Exercise 10.24.2016

Ultra Sonic Range Finder Here.

In-Class Exercises 10.19.2016

Shift Register Exercise Here.
Serial Shift Register Exercise Here.

Week 9 Classwork






Week 10 Monday October 24, 2016 | Maxbotix sonar sensor In-Class Assignment

Group:
Vanessa Puello
Alberto Semper
Rodrigo Galarza


Developing ideas for final project

I'm starting to figure out what I want to do for the final product... Here's some information regarding it that I'm compiling.

Weather


  • High pressure is a mass of descending (sinking air) and, usually, lower humidity. Sinking air and relatively lower humidity are major reasons why high pressure is often associated with fair weather.
  • Low pressure is a mass of rising air. Relative humidity is usually higher in areas of low pressure; low pressure enables the air mass to hold more water at high altitudes and thus enhances the chances for storms.
https://weather.thefuntimesguide.com/air_humidity/

Zuni Pueblo rain / harvest songs



My project will be an environmental sound installation that uses a barometric sensor to react to changes in pressure. When the pressure drops below a certain level, signaling approaching rain, a Zuni Pueblo rain dance song will start playing. When it goes above a certain level, indicating the cold, the Pueblo harvest music will play, signaling the change of season and 


Project Concept

Week 9 | In Class

Shift Register


Week 9 Wednesday October 19, 2016 | Adafruit Lesson 5 In-Class Assignment

Link to Lesson 5


Week 9 Wednesday October 19, 2016 | Adafruit Lesson 4 In-Class Assignment

Lesson 4 Link




Wednesday, October 19, 2016

10/19 Adafruit Lesson 5 - Serial Monitor


10/19 Adafruit - Lesson 4




And Brightness Control:


Adafruit Lesson 4 In-Class Assignment | Xiaoxi Zheng

Adafruit Lesson 4
=============

Shift Register - Serial Monitor Input


Shift Register - Auto Loop


Shift Register - Brightness 

Sunday, October 16, 2016

Mini-Project 1: Critique



Critique didn't go super well for me. I had some major malfunctions with both the box and the circuitry, and the servo ended up not being able to open the book.


I think one of the big reasons for this was that I compromised on some of my cuts for the plywood. Instead of cutting the 1.25" divot that I calculated, I cut straight across from 3.75" to 2.25". This meant that the space under the top board was too large, and I ended up balancing the Arduino and breadboard on a stack of Post-Its. It fell off regularly during critique, and wires were knocked loose as well.

The other issue was that I only tested if the servo could lift the cover of the book, which it could. But in Critique, it needed to lift the cover plus half the book's pages, which was too much for it. The other thing that didn't help was how sloppily I mounted the servo, which was duct-taped to the interior of the box.

Finally, the box partially fell apart. I glued it together originally, but broke one of the sides off the morning of critique, and had to tape it back on. The tape betrayed me during critique.

Overall, this was a major learning experience, and I hope to not make the same mistakes for the second mini-project.

Mini-Project 1: Installing/Mounting



The servo and light-resistor fit into the box, and the sensor managed to detect light and the absence of light from its hole in the plywood. Demonstration.

The servo was able to open and close the book as planned; however, this was only the cover of the book. It ended up not being able to lift the cover and several pages like it needed to during critique. Demonstration. Duct tape probably wasn't the most secure means of mounting the servo, either.

Mini-Project 1: Container

I wanted to make a box with a slight slant to it, to both display the book and hide the circuitry.



I calculated the dimensions so that the light-dependent resistor would poke through the top piece of plywood, but the rest of the circuitry wouldn't be crushed. The top board ends up sitting at a 20 degree incline.

I also didn't like the normal look of the plywood, so I stained it.

Mini-Project 1: Circuitry

My first steps were getting the servo and light-dependent resistor to work together.

My code was fairly simple:

#include <Servo.h>

Servo s;

void setup() {
  //pinMode(8,OUTPUT);
  pinMode(A0, INPUT);
  Serial.begin(9600);
  s.attach(8);
}

void loop() {
   float l = analogRead(A0);
   Serial.print(l);
   Serial.print(" ");
   int v = map(l,0,1024,0,179);
   s.write(v);
   //delay(120);
   Serial.println(v);
}

I initially tried to include a delay to make the servo turn more slowly. All this did was make the servo react to the light turning on, but then once the light was turned back off, the servo did nothing. The light resistor stopped outputting any information once it hit 1023.

Demonstration

Saturday, October 15, 2016

Mini Project Process 5/5

Post Crit Notes:

I need to think of a more efficient way of gluing my bits together. The switch was so tiny, and I was adhering it to a 1/32" piece of balsa, the entire thing was pretty delicate. I figured hot glue would work without seeping into the circuitry. Some of my classmates used wood glue, but I'm hesitant to do the same. I liked how the hot glue only took seconds to dry. I'm scared of being frozen for minutes at a time holding such small pieces together only to drop the whole thing and start over.
Also I need to do as Eddie did and elevate the motors so that the spinning mechanisms are more flush to the pieces they move. It's just prettier that way.
Also I need to research how to use a battery to charge the arduino itself ALONG with the bits. If I disconnected the USB from the computer, only the servo would function. I'd like it to be battery operated, such that the presentation just appears cleaner and I don't have to worry about laser cutting cord holes in my art.

Mini Project Process 4/5

Link to Vimeo Footage Here.

Documented footage that my bits worked prior to crit. I was doing a lot of hushed cursing and troubleshooting in the hour before crit, and I wanted documentation that the dang thing was functional at one point in the process.

Mini Project Process 3/5

Laser Cut Scheme
Pieces of holding chamber that I cut at the FabLab. They had a selection of balsa wood available, but I needed at least a 8" wide board. They had a 1/8" thickness that rang in at about $16. Instead, I went over to JoAnn's and grabbed the straightest plank of balsa wood from there. As I was standing in the store, I pulled up a 50% off coupon. I spent $5 on a 8" x 24" x 1/32" plank of wood to create the chamber. Once I assembled it, all my measurements were correct except for my servo hole. The propeller mechanism sticks about an inch above the motor, and it looks weird being that far elevated from the base. The motor behaved the same.
Note for next time: Do like Eddie and stack the servo motor such that the propeller is more flush to the base it protrudes from.

Wednesday, October 12, 2016

Mini Project 5/5




Mini Project Update 4/5

Mini Project Update 4/5

I finally got my 3D book printed and glued together. 

Something tragic happened last night while I was putting everything together....My battery connection broke again..., and I'm looking get that fix in the morning in the lab. 


Tuesday, October 11, 2016

Mini Project Update 5/5

Here is the finished product:


*sorry some of the pictures are upside down

I was disappointed with the end result, and for my final project I might have to change the box I hold my breadboard in. Originally, I wanted the LCD screen to be horizontal, so when the cover is open you read the letters just like how you read the book. After hours of trying to fit my wires on the smaller breadboard, I got it to work however the LCD screen was VERY dim for some reason. Because of time, I decided to use the larger breadboard and have the LCD screen vertically instead.

I wanted to use a battery to power this, but my wires decided to break last minute and I did not have enough time to solder it again. Therefore, there is a hole on the side of the book to allow the USB cord to connect to my computer.


This mini project, I focused on getting the LCD screen to word and taught myself the code needed to generate random text. I am looking forward to using the larger LCD screen, because this one only holds 16 characters per line and it was difficult to say what I wanted to say.

MINI PROJECT CONCEPT

I created a little virtual diary with about 10 phrases that randomize whenever the book is moved around. The tilt sensor is VERY sensitive, so I am worried that not a lot of people will get the chance to see the "Dear Diary," part in the beginning. They might have to end up reseting it a few times in order to understand what I'm saying. Some of these phrases are based off of things I have experienced in my life.

Examples:

Mini Project Update 4/5

I decided to go with the Crystal Ball example in the Arduino projects book as a base for my mini project instead of the other example found in the Beginning Arduino book. This mini project's goal is to focus on getting the text to work how I want it to. I am also experimenting with the tilt sensor in order to randomize the text when someone picks up the book.

For my second mini project, I want to figure out how to replace the tilt sensor and use buttons instead to give out choices to the person interacting with it.

My process of hollowing out the book:





I used glue and mixed it with water to coat the three sides of the pages. I let it dry for 30+ min before I started carving. I left one blank page uncut in the beginning to make a slit for just the LCD screen to be seen.

Mini Project 1 Process 3

I completed the setup in Unity for users to navigate when interacting with the piece. It is a small, simple maps surrounded by jagged mountains. I left the terrain a texture-less white because I liked the sterility of how it looked. At the other end of the map is a desk with a Mac computer, mouse, and a replica of my interactive box on it. There is also an office chair pushed to the side. Surrounding the player on all sides is a bunch of hovering, staring eyeballs.

Originally I wanted the eyeballs to turn to always be facing the player character as they moved, but finding a script to do that was proving difficult. So for now I left them fairly static. I thought it was appropriate for my first real attempt at using Unity, anyways. This sort of limited space with a setup similar to where the person is sitting to interact with the piece is intended to create a feeling of paranoia. This is also coupled with the person interacting having to trust the little box enough to stick their fingers inside.

Pictures of everything will be uploaded later!

Monday, October 10, 2016

Mini Project Update #2

I am currently setting up the scene in Unity for the user to travel around in. It's just a matter of positioning things, making sure textures are good, and everything is the right size. I also need to see if I can apply a script to my floating eyeballs to make it so they follow the first person camera's position. I also need a quick model of the little box I am keeping my sensors setup in.




This is the box I have designed. It is supposed to emulate the motifs I have going on in the Unity space. The user is required to stick their fingers into the holes in the box in order to press the buttons. This adds another layer to the whole paranoia setup that I have going on within the project.

Mini Project | Process 5


Heart rate visualizer is now portable and with a functional container! All I need to complete the project is to figure out the code for it. I now how to manipulate the LEDs individually, and I have access to the PulseSensor introductory code which processes your heart beat in the form of an LED fading in and out. I'm unsure of how to translate this into the formula I mentioned in my previous update. But other than the code, I am finished with the hardware set up!

Mini Project 1 Process 4/5 10.6.16

I found the music that I was looking for after a few hours. Took out the intro and went straight to where the walking around music begins.


#define NOTE_B0  31
#define NOTE_C1  33#define NOTE_CS1 35#define NOTE_D1  37#define NOTE_DS1 39#define NOTE_E1  41#define NOTE_F1  44#define NOTE_FS1 46#define NOTE_G1  49#define NOTE_GS1 52#define NOTE_A1  55#define NOTE_AS1 58#define NOTE_B1  62#define NOTE_C2  65#define NOTE_CS2 69#define NOTE_D2  73#define NOTE_DS2 78#define NOTE_E2  82#define NOTE_F2  87#define NOTE_FS2 93#define NOTE_G2  98#define NOTE_GS2 104#define NOTE_A2  110#define NOTE_AS2 117#define NOTE_B2  123#define NOTE_C3  131#define NOTE_CS3 139#define NOTE_D3  147#define NOTE_DS3 156#define NOTE_E3  165#define NOTE_F3  175#define NOTE_FS3 185#define NOTE_G3  196#define NOTE_GS3 208#define NOTE_A3  220#define NOTE_AS3 233#define NOTE_B3  247#define NOTE_C4  262#define NOTE_CS4 277#define NOTE_D4  294#define NOTE_DS4 311#define NOTE_E4  330#define NOTE_F4  349#define NOTE_FS4 370#define NOTE_G4  392#define NOTE_GS4 415#define NOTE_A4  440#define NOTE_AS4 466#define NOTE_B4  494#define NOTE_C5  523#define NOTE_CS5 554#define NOTE_D5  587#define NOTE_DS5 622#define NOTE_E5  659#define NOTE_F5  698#define NOTE_FS5 740#define NOTE_G5  784#define NOTE_GS5 831#define NOTE_A5  880#define NOTE_AS5 932#define NOTE_B5  988#define NOTE_C6  1047#define NOTE_CS6 1109#define NOTE_D6  1175#define NOTE_DS6 1245#define NOTE_E6  1319#define NOTE_F6  1397#define NOTE_FS6 1480#define NOTE_G6  1568#define NOTE_GS6 1661#define NOTE_A6  1760#define NOTE_AS6 1865#define NOTE_B6  1976#define NOTE_C7  2093#define NOTE_CS7 2217#define NOTE_D7  2349#define NOTE_DS7 2489#define NOTE_E7  2637#define NOTE_F7  2794#define NOTE_FS7 2960#define NOTE_G7  3136#define NOTE_GS7 3322#define NOTE_A7  3520#define NOTE_AS7 3729#define NOTE_B7  3951#define NOTE_C8  4186#define NOTE_CS8 4435#define NOTE_D8  4699#define NOTE_DS8 4978#define NOTE_SIL 0#define COR 140#define NEG 400#define BLA 350#define TBLA 1050#define SJUAV 420#define FEM 700#define COX 280
int piezo = 9;int boton = 7;void setup() {                  pinMode(piezo, OUTPUT);  pinMode(boton, INPUT);  digitalWrite (piezo, LOW);  }  void loop(){              pokemonIntro();        while(1) {    mainTheme();    } }  void mainTheme() {    int longit, ii;  int musica[] = {    NOTE_G5, FEM, NOTE_B5, COX, NOTE_D6, TBLA, NOTE_F4, FEM,   NOTE_SIL, COR, NOTE_F5, COX, NOTE_F6, FEM,  NOTE_F6, COR, NOTE_E6, COR, NOTE_DS6, COR, NOTE_D6, FEM, NOTE_SIL, COX,  NOTE_F5, FEM, NOTE_F5, COR, NOTE_E5, COR, NOTE_DS5, COR, NOTE_D5, FEM,  NOTE_SIL, COR, NOTE_C5, BLA, NOTE_B4, BLA, NOTE_C5, BLA  };               longit = sizeof(musica)/sizeof(int);  for (ii=0; ii< longit ; ii = ii+2 ) {    tone(piezo,musica[ii],musica[ii+1]);     delay(musica[ii+1]);    noTone(piezo);  }   }   void pokemonIntro() { int longit, ii;   int music[] = {NOTE_G4, COR, NOTE_B4, COR, NOTE_D5, COR, NOTE_FS5, COR, NOTE_G5, COR,    NOTE_SIL,SJUAV, NOTE_G5, COR, NOTE_SIL, FEM, NOTE_G5, COR, NOTE_G5, COR, NOTE_G5, COR, NOTE_SIL, BLA, NOTE_G5, COR, NOTE_SIL, BLA, NOTE_G5, COR,    NOTE_SIL,BLA, NOTE_F5, COR, NOTE_F5, COR, NOTE_F5, COR, NOTE_F5, COR, NOTE_F5, COR, NOTE_FS5, COR   };      longit = sizeof(music)/sizeof(int);      for(ii=0; ii< longit ; ii = ii +2) {   tone(piezo, music[ii], music[ii+1]);   delay(music[ii+1]);   noTone(piezo);   }  }



   Found my childhood fanny pack that I use to where all the time so I'm using that as my casing..

will update later with photos..






Mini Project | Process 4

"You theoretical healthy maximum is 220 subtract your age.
The lowest recorded in a healthy adult as far as i know was Miguel Indurain, a cyclist and five time Tour de France winner, who had a resting heart rate of 28 beats per minute (guiness book of records says 27, but i dont know if he was healthy or not)."

"For example, Miguel Indurain, a Spanish cyclist and five time Tour de France winner, had a resting heart rate of 28 beats per minute, one of the lowest ever recorded in a healthy human. Daniel Green achieved the world record for the slowest heartbeat in a healthy human with a heart rate of just 26 bpm in 2014."

Healthy BPM for 20 = 100-170, max 200
Healthy BPM for resting 20 f = 54 - 78
Healthy BPM for resting 20 m = 49 - 73

Blue1 = 28 - 38
Blue2 = 39 - 45
Blue3 = 46 - 54
Green1 = 55 - 77
Green2 = 78 - 100
Green3 = 101 - 170
Red1 = 171 - 180
Red2 = 181 - 190
Red3 = 191 - 200




UPDATE:

Due to size constraints, I've cut down the number of lights being used.

Blue1 = 28 - 38
Blue2 = 39 - 54
Green1 = 55 - 100
Green2 = 101 - 170
Red1 = 171 - 185
Red2 = 186 - 200

Mini Project Update 3/5




Got my project to function the way I needed to and I'm on my way to create a casing for it. 



Mini Project Update 3/5

Our Beginning Arduino book also has a few projects dealing with LCD screens. Chapter 8 Project 23 "Basic LCD Control". It seems to differ from the crystal ball project in the other book because the tilt sensor is not used. I wanted to try out this set up to see which would be simpler for me to use:





I also found a larger LCD screen in the back room. If I can find the schematics online I think I will use this larger screen. More text will be able to fit, which is what I want.



Project Proposal