-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaterial_detector.ino
53 lines (49 loc) · 1.37 KB
/
material_detector.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#define PIN_METAL_DETECTOR 12
#define PIN_INFRARED 11
#define PIN_PHOTO_SENSOR A0
#define PIN_PAPER_LED 2
#define PIN_PLASTIC_LED 3
#define PIN_METAL_LED 4
int infraredReading;
int metalDetectorReading;
int photoSensorReading;
void setup() {
pinMode(PIN_PAPER_LED, OUTPUT);
pinMode(PIN_PLASTIC_LED, OUTPUT);
pinMode(PIN_METAL_LED, OUTPUT);
pinMode(PIN_METAL_DETECTOR, INPUT);
pinMode(PIN_INFRARED, INPUT);
pinMode(PIN_PHOTO_SENSOR, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(PIN_PAPER_LED, LOW);
digitalWrite(PIN_PLASTIC_LED, LOW);
digitalWrite(PIN_METAL_LED, LOW);
Serial.println("Insert an object to analyze");
while(infraredReading) {
infraredReading = digitalRead(PIN_INFRARED);
Serial.println(empty);
}
Serial.println("Analyzing...");
metalDetectorReading = digitalRead(PIN_METAL_DETECTOR);
if(metalDetectorReading == 0){
Serial.println("Detected metal");
digitalWrite(PIN_METAL_LED, HIGH);
}
else {
photoSensorReading = analogRead(PIN_PHOTO_SENSOR);
Serial.print("Light detected: ");
Serial.println(light);
if(photoSensorReading < 800){ // Need tuning
Serial.println("Detected paper");
digitalWrite(PIN_PAPER_LED, HIGH);
}
else {
Serial.println("Detected plastic");
digitalWrite(PIN_PLASTIC_LED, HIGH);
}
}
delay(500);
infraredReading = digitalRead(PIN_INFRARED);
}