Arduino code
2.49 KB
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#define LED_1 12 // LEDi digitaalsed PIN'id
#define LED_2 11
#define LED_3 10
#define LED_4 9
#define LED_5 8
#define LED_6 7
#define LED_7 6
#define LED_8 5
#define LED_9 4
#define sensorPin A0 // Sensori analoog väljund
unsigned long currentMillis;
const long interval = 300; // Intervall kui kaua LEDid põlevad
unsigned long previousMillis = 0;
int sensorValue = 0;
void ReadSensorValue() // Funktsioon et teisendada väljundi logaritmilisele skaalale
{
sensorValue = analogRead(sensorPin);
// Sensori väljundi konverteerimine logaritmilisele skaalale
float logSensorValue = log(sensorValue);
// väärtuste printimine Serial Monitoris
Serial.println(logSensorValue);
}
void LEDBlinking() // Funktsioon LEDide kontrolliks
{
if (sensorValue > 525)
{
digitalWrite(LED_1, HIGH);
}
if (sensorValue > 550)
{
digitalWrite(LED_2, HIGH);
}
if (sensorValue > 575)
{
digitalWrite(LED_3, HIGH);
}
if (sensorValue > 600)
{
digitalWrite(LED_4, HIGH);
}
if (sensorValue > 625)
{
digitalWrite(LED_5, HIGH);
}
if (sensorValue > 650)
{
digitalWrite(LED_6, HIGH);
}
if (sensorValue > 675)
{
digitalWrite(LED_7, HIGH);
}
if (sensorValue > 700)
{
digitalWrite(LED_8, HIGH);
}
if (sensorValue > 725)
{
digitalWrite(LED_9, HIGH);
}
currentMillis = millis();
if (currentMillis - previousMillis >= interval)
{
previousMillis = currentMillis;
currentMillis = millis();
digitalWrite(LED_9, LOW);
digitalWrite(LED_8, LOW);
digitalWrite(LED_7, LOW);
digitalWrite(LED_6, LOW);
digitalWrite(LED_5, LOW);
digitalWrite(LED_4, LOW);
digitalWrite(LED_3, LOW);
digitalWrite(LED_2, LOW);
digitalWrite(LED_1, LOW);
}
}
void setup()
{
pinMode(LED_1, OUTPUT);
pinMode(LED_2, OUTPUT);
pinMode(LED_3, OUTPUT);
pinMode(LED_4, OUTPUT);
pinMode(LED_5, OUTPUT);
pinMode(LED_6, OUTPUT);
pinMode(LED_7, OUTPUT);
pinMode(LED_8, OUTPUT);
pinMode(LED_9, OUTPUT);
pinMode(sensorPin, INPUT);
Serial.begin(9600);
}
void loop()
{
ReadSensorValue();
LEDBlinking();
}