-
Notifications
You must be signed in to change notification settings - Fork 0
/
Sensor
60 lines (45 loc) · 2.11 KB
/
Sensor
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
// Sistema detector de obstáculos em distâncias determinadas;
// Possui um sensor infravermelho;
// Realiza a detecção de um obstáculo que esteja entre 1cm e 140cm;
// Notificando sua detecção através de um Buzzer que possui variação sonora de acordo com a distância em que o obstáculo se encontra;
// Estas variações possuem 5 níveis, sendo de 1cm - 15cm, 16cm - 40cm, 41cm - 70cm, 71cm - 110cm e 111cm - 140cm
#define sensor A1 //Sensor Sharp // Inclusão de biblioteca do Sensor infravermelho
int buzzer1 = 7; // PORTA (Buzzer emissor do som de alerta)
long distancia; //cria a variável distancia do tipo long
void setup() {
Serial.begin(9600); //Inicializa a comunicação serial, com velocidade de comunicação de 9600
}
void loop(){
////// SENSOR INFRAVERMELHO //////
float volts = analogRead(sensor)*0.00448828125; // CALCULA A TENSÃO DA ENTRADA AN
int distancia = 26*pow(volts, -1); // EQUAÇÃO BASEADA NO DATASHEET
if (distancia <=120) { Serial.print(distancia); Serial.println(" cm");} ///MOSTRAR A DISTÂNCIA DETECTADA
delay(50); // Intervalo
//////// SINAL ENTRE 1CM E 15CM ///////
if (distancia >=1 and distancia <=15){
tone(buzzer1,740); // Ativa o buzzer
delay(2500); // Intervalo
noTone(buzzer1);// Desativa o buzzer
}
//////// SINAL ENTRE 15CM E 40CM ///////
else if (distancia >=16 and distancia <=40){
tone(buzzer1,261); // Aiva o Buzzer
delay(1000); // Intervalo
noTone(buzzer1); // Desativa o buzzer
}
//////// SINAL ENTRE 41CM E 70CM ///////
else if (distancia >=41 and distancia <=70){
tone(buzzer1,261); // Ativa o buzzer
delay(500); // Intervalo
noTone(buzzer1);} // Desativa o buzzer
//////// SINAL ENTRE 71CM E 110CM ///////
else if (distancia >=71 and distancia <=110){
tone(buzzer1,261); // Ativa o buzzer
delay(100); // Intervalo
noTone(buzzer1);} // Desativa o buzzer
//////// SINAL ENTRE 111CM E 140CM ///////
else if (distancia >=111 and distancia <=140){
tone(buzzer1,261); // Ativa o buzzer
delay(25); // Intervalo
noTone(buzzer1);} // Desativa o buzzer
}