330
edits
No edit summary |
No edit summary |
||
Line 14: | Line 14: | ||
== Diagram == | == Diagram == | ||
[[File:dimmer5.jpg]] | [[File:dimmer5.jpg]] | ||
== Source Code == | |||
// Coded by Kan Feng | |||
// Project for Oberlichtsaal.gallery and seminar for Fire-Water-Earth-Human | |||
// in 2015 wintersemester in Bauhaus University | |||
// contact: kandesign.feng@gmail.com | |||
int IRpin = 0; // analog pin for reading the IR sensor | |||
float distance, distance1, distanceLED; | |||
int LEDfade = 0; | |||
int LEDval = 0; | |||
int LEDpin = 9; | |||
int count; | |||
void setup() { | |||
Serial.begin(9600); // start the serial port | |||
pinMode(LEDpin, OUTPUT); | |||
} | |||
void loop() { | |||
float volts = analogRead(IRpin)*0.0048828125; // value from sensor * (5/1024) - if running 3.3.volts then change 5 to 3.3 | |||
distance = 65*pow(volts, -1.10); // worked out from graph 65 = theretical distance / (1/Volts)S - luckylarry.co.uk | |||
Serial.println(distance); | |||
Serial.println(LEDval); | |||
distanceLED = distance - distance1; | |||
delay(100); // arbitary wait time. | |||
if (distance < 100 && distanceLED < 10 && LEDval < 255){ | |||
count += 1; | |||
if (count>5){ // count the mistaken times due to the unstable detection by Sharp sensor | |||
LEDfade = 5; | |||
} | |||
else { | |||
LEDfade = 0; | |||
} | |||
} | |||
else if (distance > 100 && LEDval > 0){ | |||
count = 0; | |||
LEDfade = -5; | |||
} | |||
else{ | |||
count = 0; | |||
LEDfade = 0; | |||
} | |||
LEDval += LEDfade; | |||
analogWrite(LEDpin, LEDval); | |||
distance1 = distance; | |||
} | |||
== Application == | == Application == |
edits