-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTinyLipoAlarm.ino
72 lines (61 loc) · 1.24 KB
/
TinyLipoAlarm.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
#include <SoftwareSerial.h>
#include "config.h"
#include "def.h"
SoftwareSerial mySerial(0, 1);
void setup()
{
analogReference(INTERNAL);
mySerial.begin(9600);
pinMode(buzzer, OUTPUT);
}
void loop() // run over and over
{
vbatraw = analogRead(analogPin);
vbat=vbatraw*16/VBATSCALE;
mySerial.println(vbat);
if(vbat > VBATLEVEL1){
vbatalarm=0;
}
if(vbat < VBATLEVEL1){
vbatalarm=1;
}
if(vbat < VBATLEVEL2){
vbatalarm=2;
}
if(vbat < VBATLEVEL3){
vbatalarm=3;
}
if(vbatalarm==0){
delay(500);
}
if(vbatalarm==1){
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(800);
}
if(vbatalarm==2){
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(400);
}
if(vbatalarm==3){
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
delay(100);
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
delay(100);
digitalWrite(buzzer, HIGH);
delay(400);
digitalWrite(buzzer, LOW);
delay(100);
}
}