Module 1 code
int count=0;int cycle=0;int HIGHStates = 0;int randNum = 0;int sum=0;
int inputRight = 16; // rightint inputMidRight = 13; // middle right int inputMidLeft = 14; // middle leftint inputLeft = 15; // left
// choose the pin for the LED
int pinRight1= 2; int pinRight2 = 3;int pinRight3= 4;int pinRight4 = 5;int pinRight5 = 6;int pinRight6 = 7;int pinRight7 = 8;int pinRight8 = 9;int pinRight9 = 10; int pinRight10 = 11;int pinRight11 = 12;int pinMidRight1 = 13;int pinMidRight2 = 22;int pinMidRight3 = 23;int pinMidRight4 = 24;int pinMidRight5 = 25; int pinMidRight6 = 26;int pinMidRight7 = 27;int pinMidRight8 = 28;int pinMidRight9 = 29;int pinMidRight10 = 30;int pinMidRight11 = 31;int pinMidLeft1 = 32; int pinMidLeft2 = 33;int pinMidLeft3 = 34;int pinMidLeft4 = 35;int pinMidLeft5 = 36;int pinMidLeft6 = 37;int pinMidLeft7 = 38;int pinMidLeft8 = 39; int pinMidLeft9 = 40;int pinMidLeft10 = 41;int pinMidLeft11 = 42;int pinLeft1 = 43;int pinLeft2 = 44;int pinLeft3 = 45;int pinLeft4 = 46;int pinLeft5 = 47; int pinLeft6 = 48;int pinLeft7 = 49;int pinLeft8 = 50;int pinLeft9 = 51;int pinLeft10 = 52;int pinLeft11 = 53;
// follow incorrect labeling system for Arduino_01 //int blinkmMidLeft1 = A11;//int blinkmMidLeft2 = A10;//int blinkmMidLeft3 = A9;//int blinkmMidRight1 = A8;int maxM = 21;//int blinkmMidRight3 = 20;//int blinkmMidRight4 = 19; //int blinkmMidRight5 = 18;//int blinkmMidRight6 = 17;//int blinkmRight1 = 16; //int blinkmAMR1 = 15;//int blinkmAMR2 = 14;
// variables for random numbers for each LED int randNum1 = 1;int randNum2 = 1;int randNum3 = 1;int randNum4 = 1;int randNum5 = 1;int randNum6 = 1;int randNum7 = 1;int randNum8 = 1; int randNum9 = 1;int randNum10 = 1;int randNum11 = 1;int randNum12 = 1;int randNum13 = 1;int randNum14 = 1;int randNum15 = 1;int randNum16 = 1; int randNum17 = 1;int randNum18 = 1;int randNum19 = 1;int randNum20 = 1;int randNum21 = 1;int randNum22 = 1;int randNum23 = 1;int randNum24 = 1; int randNum25 = 1;int randNum26 = 1;int randNum27 = 1;int randNum28 = 1;int randNum29 = 1;int randNum30 = 1;int randNum31 = 1;int randNum32 = 1; int randNum33 = 1;int randNum34 = 1;int randNum35 = 1;int randNum36 = 1;int randNum37 = 1;int randNum38 = 1;int randNum39 = 1;int randNum40 = 1; int randNum41 = 1;int randNum42 = 1;int randNum43 = 1;int randNum44 = 1;
// variable for reading the pin statusint valLeft = 0; int valMidLeft = 0;int valMidRight = 0;int valRight = 0;
boolean pinLeftState = LOW;boolean pinMidLeftState = LOW;boolean pinMidRightState = LOW; boolean pinRightState = LOW;boolean maxMState = LOW;
void setup() { pinMode(pinRight1, OUTPUT); // declare LEDs as outputs pinMode(pinRight2, OUTPUT); pinMode(pinRight3, OUTPUT); pinMode(pinRight4, OUTPUT); pinMode(pinRight5, OUTPUT); pinMode(pinRight6, OUTPUT); pinMode(pinRight7, OUTPUT); pinMode(pinRight8, OUTPUT); pinMode(pinRight9, OUTPUT); pinMode(pinRight10, OUTPUT); pinMode(pinRight11, OUTPUT); pinMode(pinMidRight1, OUTPUT); pinMode(pinMidRight2, OUTPUT); pinMode(pinMidRight3, OUTPUT); pinMode(pinMidRight4, OUTPUT); pinMode(pinMidRight5, OUTPUT); pinMode(pinMidRight6, OUTPUT); pinMode(pinMidRight7, OUTPUT); pinMode(pinMidRight8, OUTPUT); pinMode(pinMidRight9, OUTPUT); pinMode(pinMidRight10, OUTPUT); pinMode(pinMidRight11, OUTPUT); pinMode(pinMidLeft1, OUTPUT); pinMode(pinMidLeft2, OUTPUT); pinMode(pinMidLeft3, OUTPUT); pinMode(pinMidLeft4, OUTPUT); pinMode(pinMidLeft5, OUTPUT); pinMode(pinMidLeft6, OUTPUT); pinMode(pinMidLeft7, OUTPUT); pinMode(pinMidLeft8, OUTPUT); pinMode(pinMidLeft9, OUTPUT); pinMode(pinMidLeft10, OUTPUT); pinMode(pinMidLeft11, OUTPUT); pinMode(pinLeft1, OUTPUT); pinMode(pinLeft2, OUTPUT); pinMode(pinLeft3, OUTPUT); pinMode(pinLeft4, OUTPUT); pinMode(pinLeft5, OUTPUT); pinMode(pinLeft6, OUTPUT); pinMode(pinLeft7, OUTPUT); pinMode(pinLeft8, OUTPUT); pinMode(pinLeft9, OUTPUT); pinMode(pinLeft10, OUTPUT); pinMode(pinLeft11, OUTPUT); pinMode(maxM, OUTPUT); // declare maxM nest as output pinMode(inputLeft, INPUT); // declare sensors as input pinMode(inputMidLeft, INPUT); pinMode(inputMidRight, INPUT); pinMode(inputRight, INPUT); Serial.begin(9600);} void loop(){ delay(400); // read input value valLeft = digitalRead(inputLeft); valMidLeft = digitalRead(inputMidLeft); valMidRight = digitalRead(inputMidRight); valRight = digitalRead(inputRight); // Serial.println(cycle); if (count>=1000) valLeft=LOW; // ONE OF THESE NEEDS TO BE if (count>=1000) valMidLeft=LOW; // DELETED OR COMMENTED if (count>=1000) valMidRight=LOW; // DEPENDING ON THE HIVE LOCATION //if (count>=1000) valRight=LOW; pinLeftState=HIGH; pinMidLeftState=HIGH; pinMidRightState=HIGH; pinRightState=HIGH; maxMState=LOW;
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// LEFT SENSOR if (valLeft == HIGH) { // check if the input is HIGH Serial.print(“Left”); Serial.println(valLeft); pinLeftState=LOW; count=0; } ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// // MID LEFT SENSOR if (valMidLeft == HIGH) { // check if the input is HIGH Serial.print(” MidLeft”); Serial.println(valMidLeft); pinMidLeftState=LOW; count=0; } ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// // MID RIGHT SENSOR if (valMidRight == HIGH) { // check if the input is HIGH Serial.print(” MidRight”); Serial.println(valMidRight); pinMidRightState=LOW; count=0; } ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// // RIGHT SENSOR if (valRight == HIGH) { // check if the input is HIGH Serial.print(” Right”); Serial.println(valRight); pinRightState=LOW; count=0; } // number of LED columns on (PIR: no motion) HIGHStates = (pinLeftState + pinMidLeftState + pinMidRightState + pinRightState); // randomize variables for LED flickering at different speeds sum=20; while(sum<25){ if (cycle % 105 == 0) { randNum1 = !!random(HIGHStates); randNum2 = !!random(HIGHStates); randNum3 = !!random(HIGHStates); randNum4 = !!random(HIGHStates); randNum5 = !!random(HIGHStates); randNum6 = !!random(HIGHStates); randNum7 = !!random(HIGHStates); randNum8 = !!random(HIGHStates); randNum9 = !!random(HIGHStates); } if (cycle % 90 == 0) { randNum10 = !!random(HIGHStates); randNum11 = !!random(HIGHStates); randNum12 = !!random(HIGHStates); randNum13 = !!random(HIGHStates); randNum14 = !!random(HIGHStates); randNum15 = !!random(HIGHStates); randNum16 = !!random(HIGHStates); randNum17 = !!random(HIGHStates); randNum18 = !!random(HIGHStates); randNum19 = !!random(HIGHStates); randNum20 = !!random(HIGHStates); randNum21 = !!random(HIGHStates); randNum22 = !!random(HIGHStates); } if (cycle % 70 == 0) { randNum23 = !!random(HIGHStates); randNum24 = !!random(HIGHStates); randNum25 = !!random(HIGHStates); randNum26 = !!random(HIGHStates); randNum27 = !!random(HIGHStates); randNum28 = !!random(HIGHStates); randNum29 = !!random(HIGHStates); randNum30 = !!random(HIGHStates); randNum31 = !!random(HIGHStates); randNum32 = !!random(HIGHStates); randNum33 = !!random(HIGHStates); } if (cycle % 50 == 0) { randNum34 = !!random(HIGHStates); randNum35 = !!random(HIGHStates); randNum36 = !!random(HIGHStates); randNum37 = !!random(HIGHStates); randNum38 = !!random(HIGHStates); randNum39 = !!random(HIGHStates); randNum40 = !!random(HIGHStates); randNum41 = !!random(HIGHStates); randNum42 = !!random(HIGHStates); randNum43 = !!random(HIGHStates); randNum44 = !!random(HIGHStates); } sum=randNum1+randNum2+randNum3+randNum4+randNum5+randNum6+ \ randNum7+randNum8+randNum9+randNum10+randNum11+randNum12+ \ randNum13+randNum14+randNum15+randNum16+randNum17+randNum18+ \ randNum19+randNum20+randNum21+randNum22+randNum23+randNum24+ \ randNum25+randNum26+randNum27+randNum28+randNum29+randNum30+ \ randNum31+randNum32+randNum33+randNum34+randNum35+randNum36+ \ randNum37+randNum38+randNum39+randNum40+randNum41+randNum42+ \ randNum43+randNum44; if (HIGHStates<2) sum=30; cycle++; // Serial.println(sum); } retreat(); delay(10); // update different set of 4 LEDs every cycle if (cycle % 11 == 0) { digitalWrite(pinRight1,(pinRightState-randNum1)+abs(pinRightState-randNum1)); digitalWrite(pinMidRight1,(pinMidRightState-randNum2)+abs(pinMidRightState-randNum2)); digitalWrite(pinMidLeft1,(pinMidLeftState-randNum3)+abs(pinMidLeftState-randNum3)); digitalWrite(pinLeft1,(pinLeftState-randNum4)+abs(pinLeftState-randNum4)); } if (cycle % 11 == 1) { digitalWrite(pinRight2,(pinRightState-randNum5)+abs(pinRightState-randNum5)); digitalWrite(pinMidRight2,(pinMidRightState-randNum6)+abs(pinMidRightState-randNum6)); digitalWrite(pinMidLeft2,(pinMidLeftState-randNum7)+abs(pinMidLeftState-randNum7)); digitalWrite(pinLeft2,(pinLeftState-randNum8)+abs(pinLeftState-randNum8)); } if (cycle % 11 == 2) { digitalWrite(pinRight3,(pinRightState-randNum9)+abs(pinRightState-randNum9)); digitalWrite(pinMidRight3,(pinMidRightState-randNum10)+abs(pinMidRightState-randNum10)); digitalWrite(pinMidLeft3,(pinMidLeftState-randNum11)+abs(pinMidLeftState-randNum11)); digitalWrite(pinLeft3,(pinLeftState-randNum12)+abs(pinLeftState-randNum12)); } if (cycle % 11 == 3) { digitalWrite(pinRight4,(pinRightState-randNum13)+abs(pinRightState-randNum13)); digitalWrite(pinMidRight4,(pinMidRightState-randNum14)+abs(pinMidRightState-randNum14)); digitalWrite(pinMidLeft4,(pinMidLeftState-randNum15)+abs(pinMidLeftState-randNum15)); digitalWrite(pinLeft4,(pinLeftState-randNum16)+abs(pinLeftState-randNum16)); } if (cycle % 11 == 4) { digitalWrite(pinRight5,(pinRightState-randNum17)+abs(pinRightState-randNum17)); digitalWrite(pinMidRight5,(pinMidRightState-randNum18)+abs(pinMidRightState-randNum18)); digitalWrite(pinMidLeft5,(pinMidLeftState-randNum19)+abs(pinMidLeftState-randNum19)); digitalWrite(pinLeft5,(pinLeftState-randNum20)+abs(pinLeftState-randNum20)); } if (cycle % 11 == 5) { digitalWrite(pinRight6,(pinRightState-randNum21)+abs(pinRightState-randNum21)); digitalWrite(pinMidRight6,(pinMidRightState-randNum22)+abs(pinMidRightState-randNum22)); digitalWrite(pinMidLeft6,(pinMidLeftState-randNum23)+abs(pinMidLeftState-randNum23)); digitalWrite(pinLeft6,(pinLeftState-randNum24)+abs(pinLeftState-randNum24)); } if (cycle % 11 == 6) { digitalWrite(pinRight7,(pinRightState-randNum25)+abs(pinRightState-randNum25)); digitalWrite(pinMidRight7,(pinMidRightState-randNum26)+abs(pinMidRightState-randNum26)); digitalWrite(pinMidLeft7,(pinMidLeftState-randNum27)+abs(pinMidLeftState-randNum27)); digitalWrite(pinLeft7,(pinLeftState-randNum28)+abs(pinLeftState-randNum28)); } if (cycle % 11 == 7) { digitalWrite(pinRight8,(pinRightState-randNum29)+abs(pinRightState-randNum29)); digitalWrite(pinMidRight8,(pinMidRightState-randNum30)+abs(pinMidRightState-randNum30)); digitalWrite(pinMidLeft8,(pinMidLeftState-randNum31)+abs(pinMidLeftState-randNum31)); digitalWrite(pinLeft8,(pinLeftState-randNum32)+abs(pinLeftState-randNum32)); } if (cycle % 11 == 8) { digitalWrite(pinRight9,(pinRightState-randNum33)+abs(pinRightState-randNum33)); digitalWrite(pinMidRight9,(pinMidRightState-randNum34)+abs(pinMidRightState-randNum34)); digitalWrite(pinMidLeft9,(pinMidLeftState-randNum35)+abs(pinMidLeftState-randNum35)); digitalWrite(pinLeft9,(pinLeftState-randNum36)+abs(pinLeftState-randNum36)); } if (cycle % 11 == 9) { digitalWrite(pinRight10,(pinRightState-randNum37)+abs(pinRightState-randNum37)); digitalWrite(pinMidRight10,(pinMidRightState-randNum38)+abs(pinMidRightState-randNum38)); digitalWrite(pinMidLeft10,(pinMidLeftState-randNum39)+abs(pinMidLeftState-randNum39)); digitalWrite(pinLeft10,(pinLeftState-randNum40)+abs(pinLeftState-randNum40)); } if (cycle % 11 == 10) { digitalWrite(pinRight11,(pinRightState-randNum41)+abs(pinRightState-randNum41)); digitalWrite(pinMidRight11,(pinMidRightState-randNum42)+abs(pinMidRightState-randNum42)); digitalWrite(pinMidLeft11,(pinMidLeftState-randNum43)+abs(pinMidLeftState-randNum43)); digitalWrite(pinLeft11,(pinLeftState-randNum44)+abs(pinLeftState-randNum44)); }// if (cycle % 6 == 0) {// digitalWrite(blinkmMidLeft1, pinLeftState);// digitalWrite(blinkmMidRight1, pinMidLeftState);// }// if (cycle % 6 == 1) { // digitalWrite(blinkmMidLeft2, pinLeftState);// digitalWrite(blinkmRight1, pinMidRightState);// }// if (cycle % 6 == 2) {// digitalWrite(blinkmMidRight3, pinMidLeftState); // digitalWrite(blinkmAMR1, pinRightState);// }// if (cycle % 6 == 3) {// digitalWrite(blinkmMidRight4, pinMidLeftState);// digitalWrite(maxM, maxMState); // }// if (cycle % 6 == 4) {// digitalWrite(blinkmMidRight5, pinMidLeftState);// digitalWrite(blinkmAMR2, pinRightState);// }// if (cycle % 6 == 5) { // digitalWrite(blinkmMidLeft3, pinLeftState);// digitalWrite(blinkmMidRight6, pinMidLeftState);// }
if (count<10000) count++;
if (cycle>11000) cycle=0;}
void retreat(){// Serial.println(count); if (count>=300){ pinLeftState=LOW; } if (count>=500){ pinMidLeftState=LOW; } if (count>=700){ pinMidRightState=LOW; } if (count>=1000){ pinRightState=LOW; maxMState=HIGH; } digitalWrite(maxM, maxMState);
Sorry for the long wait, it’s been a busy week. We’ve been working on our final project, which we’re attempting to finish in by thanksgiving break. I’ve included a few frames of our time-lapse photography of some of the assembly steps. The construction has split into three parts to some extent. The artists are focusing on the wooden base that the wall will sit upon, the architects are working with acrylic to create the boxes, and the engineers are soldering LEDs and doing code. Of course, there is overlap, and everyone was helping make the LED backplate last night. After Kevin purchases a few last rolls of wire from RadioShack, we are going to try to finish the LEDs so I can start testing and troubleshooting code.
After spending some time investigating the polyethylene films and purchasing some from the Home Depot, we purchased several packs of clear drinking straws and illuminated them with the BlinkM. We got a much wider and brighter illumination, and provided more differences based on the observers angle and distance. We’re looking into straws that aren’t individually wrapped (unwrapping 1000 straws wasn’t fun) and we’re hoping to turn them into an entire wall.
We created a device that lights up as a reaction to motion. We’re hoping to use it to create a cloud. It uses the blinkMs and changes color if the motion is continued. We also tried a lot of different light diffusion techniques throughout the week. One of the ones we liked the best was traces paper. Mylar had a similar effect, and we found a blog that showed a similar illumination using polyethylene, so we’re going to order some of that to try. The photos are on Kevin’s blog.
The 19 hours I spent in DL1 yesterday paid off - our project is working and it’s only 1 am.
As usual, I mostly focused on code and wiring. I also helped with some of the designing and though process. While I was doing coding, my group worked on the assembly and budget, and Kevin helped with some of the coding as well. We now have a box which exhibits some level of swarm behavior.
When multiple sensors are activated at once, a new behavior emerges.
Enough words, here’s the code.
First Arduino:
int Pin1 = 0; // Hall
int Pin2 = 1; // Hall
int Pin3 = 2; // Photoresistor
int Pin4 = 3; // temp
int Pin5 = 4; //temp
int Pin6 = 5; //photoresistor
int val1 = 0;
int val2=0;
int val3=0;
int val4=0; // variable to store the value coming from the sensor
int val5=0;
int val6=0;
void setup() {
Serial.begin(9600); // connect to the serial port
}
void loop() {
val1 = analogRead(Pin1); // read the Hall Effect Sensor
val2 = analogRead(Pin2); // read the Hall Effect Sensor
val3 = analogRead(Pin3); // read photoresistors
val4 = analogRead(Pin4); //read the temp sensors
val5 = analogRead(Pin5); //read the temp sensors
val6 = analogRead(Pin6); // read photoresistors
if (val1<5) val1=0;
if (val2<5) val2=0;
//if (val3>300) val3=0;
if (val4<155) val4=155;
if (val5<155) val5=155;
// if (val6>300) val6=0;
//Serial.println(val1);
//Serial.println(val2);
//Serial.println(val3);
//Serial.println(val4);
Serial.println(val6);
Serial.println(val3);
Serial.println(val5);
Serial.println(val4);
analogWrite (6,(val4-155)*8); //temp
analogWrite (5,(val5-155)*8); //temp
if (val6>300) {
analogWrite(3,0); //photoresistor
}
if (val6<300) {
analogWrite(3,80);
}
analogWrite (11,val1); //magnets
analogWrite (10,val2); //magnets
if (val3>300) {
analogWrite(9,0); //photoresistor
}
if (val3<300) {
analogWrite(9,80);
}
//analogWrite(12,0);
//analogWrite(11,0);
//analogWrite(10,0);
delay(400);
if (val1>50 || val2>50) {
Serial.write(“one”);
if (val4>155 || val5>155) {
Serial.write(“two”);
if (val3<300 || val6<300) {
Serial.write(“three”);
digitalWrite (13, HIGH);
}
else digitalWrite(13,LOW);
}
else digitalWrite(13,LOW);
}
else digitalWrite(13,LOW);
/* while(val5<400) { // if we want it to turn on and off based on opening/closing top
analogWrite(6,0);
analogWrite(9,0);
analogWrite(10,0);
analogWrite(11,0);
val5 = analogRead(Pin5);
Serial.println(val5);
delay(100);
}
*/
}
Second Arduino
int Pin1 = 0; //piezo pin
int Pin2 = 1; //photoresistor
int val1 = 0;
int val2 = 0;
/* Melody
* (cleft) 2005 D. Cuartielles for K3
*
* This example uses a piezo speaker to play melodies. It sends
* a square wave of the appropriate frequency to the piezo, generating
* the corresponding tone.
*
* The calculation of the tones is made following the mathematical
* operation:
*
* timeHigh = period / 2 = 1 / (2 * toneFrequency)
*
* where the different tones are described as in the table:
*
* note frequency period timeHigh
* c 261 Hz 3830 1915
* d 294 Hz 3400 1700
* e 329 Hz 3038 1519
* f 349 Hz 2864 1432
* g 392 Hz 2550 1275
* a 440 Hz 2272 1136
* b 493 Hz 2028 1014
* C 523 Hz 1912 956
* D 587 Hz 852
* E 622 Hz 804
*
* http://www.arduino.cc/en/Tutorial/Melody
*/
int speakerPin = 9;
int length = 49;
char notes[] = “DDbagedgggabDdeggabDbDDDbaedDDba”;
int beats[] = {4,1,1,1,1,6,2,4,1,1,1,1,6, 1,1,4,1,1,2,4,2,2,4,1,1,2,6,2,4,1,1,2, 4,1,1,2,4,2,2,4,1,1,2,6,2,4,1,1,2};
int tempo = 150;
void setup() {
Serial.begin(9600); //connect to the serial port
pinMode(speakerPin, OUTPUT);
}
void loop() {
val2 = analogRead(Pin2); // Read photoresistor
Serial.println(val2); //Print values from photoresistor
delay(50);
if(val2>15) {
playSong();
}
}
void playTone(int tone, int duration) {
for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(speakerPin, HIGH);
delayMicroseconds(tone);
digitalWrite(speakerPin, LOW);
delayMicroseconds(tone);
}
}
/*void playTone2(int tone, int duration) {
for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(speakerPin, HIGH);
delayMicroseconds(tone);
digitalWrite(speakerPin, LOW);
delayMicroseconds(tone);
}
}*/
void playNote(char notes, int duration) {
char names[] = { ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘a’, ‘b’, ‘C’, ‘D’, ‘E’ };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956, 852, 804 };
// play the tone corresponding to the note name
for (int i = 0; i < 10; i++) {
if (names[i] == notes) {
playTone(tones[i], duration);
}
}
}
/*void playBass(char bass, int duration) {
char names[] = { ‘b’, ‘a’, ‘g’ };
int btones[] = { ‘2024’, ‘2273’, ‘2551’};
// play the tone corresponding to the note name
for (int i = 0; i < 3; i++) {
if (names[i] == bass) {
playTone2(btones[i], duration);
}
}
}*/
void playSong() {
for (int i = 0; i < length; i++) {
if (notes[i] == ’ ‘) {
delay(beats[i] * tempo); // rest
} else {
playNote(notes[i], beats[i] * tempo);
}
/*if (bass[i] == ’ ‘) {
delay(bass[i]*tempo);
} else {
playBass(bass[i], bbeats[i]*tempo);
}
// pause between notes
delay(tempo / 2);*/
}
}
Credit to Chris Sketch for the music.
I made some initial coding for next week’s presentation. We’re looking to have a box with sensors and LED’s that demonstrates the capabilities of some of the devices we bought. Here’s some code that runs LED’s off of Hall probes and a temperature sensor.
int Pin1 = 0;
int Pin2 = 1;
int Pin3 = 2;
int Pin4 = 3; // select the input pin for the Hall Effect Sensor
int Pin5 = 4;
int val1 = 0;
int val2=0;
int val3=0;
int val4=0; // variable to store the value coming from the sensor
int val5=0;
void setup() {
Serial.begin(9600); // connect to the serial port
}
void loop() {
val1 = analogRead(Pin1); // read the Hall Effect Sensor
val2 = analogRead(Pin2);
val3 = analogRead(Pin3);
val4 = analogRead(Pin4);
val5 = analogRead(Pin5);
if (val1<5) val1=0;
if (val2<5) val2=0;
if (val3<5) val3=0;
if (val4<155) val4=155;
//Serial.println(val1);
//Serial.println(val2);
//Serial.println(val3);
//Serial.println(val4);
Serial.println(val5);
analogWrite (6,(val4-155)*8); //temp
analogWrite (11,val1); //magnets
analogWrite (10,val2);
analogWrite (9,val3);
//analogWrite(12,0);
//analogWrite(11,0);
//analogWrite(10,0);
delay(400);
/* while(val5<400) { // if we want it to turn on and off based on opening/closing top
analogWrite(6,0);
analogWrite(9,0);
analogWrite(10,0);
analogWrite(11,0);
val5 = analogRead(Pin5);
Serial.println(val5);
delay(100);
}
*/
}


