-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathZeynep_och_Kristin.ino
97 lines (85 loc) · 2.27 KB
/
Zeynep_och_Kristin.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/* initiate variables */
int bluepin = 6;
int greenpin = 5;
int redpin = 4;
int magnetpin = 2;
int ldrpin = 5;
int mill;
int start;
int scared;
int angry;
int seconds_ldr = 0;
int seconds_magnet = 0;
//int first = 0;
void setup() {
/* set up pins, start serial */
pinMode(redpin, OUTPUT);
pinMode(greenpin, OUTPUT);
pinMode(bluepin, OUTPUT);
pinMode(magnetpin, INPUT);
pinMode(ldrpin, INPUT);
Serial.begin(9600);
/* begin the "emotions" on the first run, set start time */
digitalWrite(greenpin, HIGH);
/* Assume 1 = False, 0 = True*/
scared = 1;
angry = 1;
start = millis();
}
void loop() {
/*Read values*/
mill = millis();
int ldrvalue = analogRead(ldrpin);
int magnetvalue = digitalRead(magnetpin);
//Serial.println(mill);
//Serial.println(ldrvalue);
delay(100);
//int redvalue = digitalRead(redpin);
// --------------- Scared (LDR-sensor) ------------------------
/* check how long pet is being scared for */
if (ldrvalue<=15){
seconds_ldr += millis();
}
/* Reset if not continuous */
if (ldrvalue >= 40){
seconds_ldr = 0;
}
/* if pet has been scared, show scared (blue) and send to other node */
if (seconds_ldr >= 5000){
seconds_ldr = 0;
scared = 0;
//mill = millis();
// skicka scared till annan nod!
digitalWrite(greenpin, LOW);
digitalWrite(bluepin, HIGH);
}
// --------------- Scared (LDR-sensor) end ------------------------
// --------------- Instead of getting data from other node (test) ---------------
if(mill-start >= 10000){
angry = 0;
mill = 0;
start = 0;
digitalWrite(greenpin, LOW);
digitalWrite(redpin, HIGH);
}
// --------------- End (test)---------------------------------------------
// --------------- Pacified (Magnet-sensor) ------------------------
/* check how long pet has been "pacified" */
if (magnetvalue==HIGH){
seconds_magnet += millis();
}
/* Reset if not continuous */
if (magnetvalue == LOW){
seconds_magnet = 0;
}
/* if pacified, become happy (green) */
if (seconds_magnet >= 5000){
seconds_magnet = 0;
angry = 1;
scared = 1;
digitalWrite(redpin, LOW);
digitalWrite(bluepin, LOW);
digitalWrite(greenpin, HIGH);
}
// --------------- Pacified (Magnet-sensor) end ------------------------
}