O Projeto Sensor de Vibração Arduino com Sensor de Inclinação traz como proposta testar na prática o funcionamento dos sensores com o Uno, possibilitando que possam ser adaptados e utilizados nos m,ais diversos protótipos de alarmes para automação residencial, por exemplo.
Ele trabalha com uma espécie de “mola” fixa em meio a um “copo” metálico. Quando ocasionado uma vibração, a mola entra em ligeiro contato com o copo, detectando assim as vibrações. A precisão da detecção é ajustada por um trimpot encontrado na superfície da placa do sensor e para funcionamento trabalha com tensões entre 3V a 5V.
Já o Sensor de Inclinação trabalha com tensões de 3,3V a 5V, entretanto sua finalidade é um pouco diferente, uma vez que como o próprio nome sugere é capaz de detectar a inclinação do local onde estiver instalado.
Comumente é utilizado em projetos robóticos para informar ao Microcontrolador que o carrinho robô capotou (virou), para que este tome as providências para as quais estiver programado, ou ainda na construção de alarmes residenciais.
O Sensor de Inclinação também permite ajustes quanto a sua precisão por meio de um trimpot fixo junto à placa.
Teste prático do Sensor de Vibração Arduino e Sensor de Inclinação
Produtos utilizados no teste
- Arduino UNO R3;
- Módulo Sensor de Vibração;
- Módulo Sensor de Inclinação;
- Módulo Relé;
- Display LCD 16×2;
- Jumpers;
- Protoboard;
- Buzzer Ativo.
Montagem do Projeto
Para funcionamento, basta seguir as ligações conforme a imagem abaixo disponibilizada:
Funcionamento do Código (Biblioteca)
O Software que utilizaremos tem a função de efetuar a leitura dos sensores a todo o momento, e apresentará algumas mensagens no display, além disso, se for detectada alguma vibração ou inclinação (de uma porta de contrapeso, por exemplo) o sistema irá disparar o Buzzer, e ativar o relé, até que os sensores normalizarem.
Para oferecer maior comodidade aos nossos seguidores, disponibilizaremos o Código também separado para cada um dos sensores:
Download do Código para teste do Sensor de Vibração
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 |
/********************************* ***Autor: Leonardo Dalla Porta**** ***********22/07/2014************* *************Atenção************** ***O Codigo esta livre para uso,** *desde que seja mantida sua fonte* ********e seu autor.************** ********Faça um bom uso*********** ******Att. Equipe UsinaInfo******* *********************************/ #include <LiquidCrystal.h> LiquidCrystal lcd(7, 6, 5, 4, 3, 2); int var = 0; // Variavel dos sensores int Sensor = 8; // Pino sensor de vibração int Buzzer = 10; // Pino Buzzer int Rele = 11; // Pino Relé int Vibr = 0; // Variavel dos sensores void setup() { // Configura os pinos pinMode(Buzzer, OUTPUT); pinMode(Rele, OUTPUT); pinMode(Sensor, INPUT); // Inicia display e apresenta o nome do projeto lcd.begin(16, 2); lcd.print("Alarme Porta"); lcd.setCursor(0,1); lcd.print("por vibracao"); delay(2000); } void loop() { //Aguarda sensor 1 ser ativado Vibr = digitalRead(Sensor); if(Vibr==0) { var=0; // Tratamento da variavel } if(var==0) { lcd.clear(); lcd.write("Vibracao detectada"); digitalWrite(Rele, HIGH); digitalWrite(Buzzer, HIGH); delay(2000); digitalWrite(Buzzer, LOW); lcd.begin(16, 2); lcd.print("Alarme Porta"); lcd.setCursor(0,1); lcd.print("por vibracao"); var=1; // Tratamento da variavel } digitalWrite(Rele, LOW); // Desliga relé } |
Download do Código para teste do Sensor de Inclinação
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 |
/********************************* ***Autor: Leonardo Dalla Porta**** ***********22/07/2014************* *************Atenção************** ***O Codigo esta livre para uso,** *desde que seja mantida sua fonte* ********e seu autor.************** ********Faça um bom uso*********** ******Att. Equipe UsinaInfo******* *********************************/ #include <LiquidCrystal.h> LiquidCrystal lcd(7, 6, 5, 4, 3, 2); int var2 = 0; // Variavel do sensor int Inclinacao = 9; // Pino sensor de Inclinação int Buzzer = 10; // Pino Buzzer int Rele = 11; // Pino Relé int Incl = 0; // Variavel dos sensores void setup() { // Configura os pinos pinMode(Buzzer, OUTPUT); pinMode(Rele, OUTPUT); pinMode(Inclinacao, INPUT); // Inicia display e apresenta o nome do projeto lcd.begin(16, 2); lcd.print("Alarme Porta"); lcd.setCursor(0,1); lcd.print("por inclinaçao"); delay(2000); } void loop() { // Aguarda sensor de inclinaçao Incl = digitalRead(Inclinacao); if(Incl==0) { var2=0; // Tratamento da variavel } if(var2==0) { lcd.clear(); lcd.setCursor(4,0); lcd.write("Inclinacao"); lcd.setCursor(4,1); lcd.write(" detectada"); digitalWrite(Rele, HIGH); digitalWrite(Buzzer, HIGH); delay(1000); digitalWrite(Buzzer, LOW); delay(500); digitalWrite(Buzzer, HIGH); delay(1000); digitalWrite(Buzzer, LOW); lcd.clear(); lcd.begin(16, 2); lcd.print("Alarme Porta"); lcd.setCursor(0,1); lcd.print("por inclinaçao"); var2=1; // Tratamento da variavel } digitalWrite(Rele, LOW); // Desliga relé } |
Conclusão
O Sensor de Vibração Arduino e o Sensor de Inclinação apresentaram funcionamento muito satisfatório e mostraram-se de grande utilidade na área de automação residencial e robótica. São dispositivos de comunicação simples que para utilização não exigem experiência prévia. Os fins para os quais podem ser utilizados são os mais diversos, mas vai depender do que você precisa e para o que você quer. Conheça toda Linha Arduino e Robótica no Site da UsinaInfo.
Autor: Leonardo Dalla Porta
Boa tarde, a respeito daquele componente azul a esquerda do display, o que é e a montagem funcionaria sem ele? também reparei que na esquema possui um resistor que não foi apresentado no vídeo, poderia estar me explicando a respeito desses componentes neste circuito?
Boa Tarde ! O componente azul presente no projeto é um trimpot e tem a função de regular o contraste do display, tornando-se fundamental em seu projeto e podendo ser substituído por um potenciômetro. Em determinados casos usa-se um resistor para diminuir o brilho da luz de fundo, porém a utilização do mesmo não se torna obrigatória para o seu projeto.
Att Equipe Usinainfo
olá, é possível esse sensor medir a quantidade da vibração, fazer uma mensuração de vibração?
Bom dia!
Este equipamento realiza somente a verificação de vibrações, não
possui a capacidade de mensurar o nível da vibração, por exemplo.
Att Equipe Usinainfo
Olá, são dois códigos, um para o sensor de vibração e outro para a inclinação, mas não tem como trabalhar com dois ao mesmo tempo, pois quando gravamos um código, logo apagamos o outro. Como você conseguiu usar os dois códigos ao mesmo tempo?
Bom dia!
É possível utilizar os sensores junto em um mesmo código sem problema, basta realizar as devidas adaptações e lembrar que a inclusão de ambos em um mesmo código tornaria necessária a inclusão de outro relé para não dar problema na comunicação e acionamento dos equipamentos utilizados.
Olá, Boa Noite. Quero utilizar este sensor a fim de detectar a inclinação de um foguete. Quero saber se ele tem o mesmo problema do sensor de mercurio, pois a desaleração faz com que a gota de mercurio atinja os contatos disparando o para-quedas antes de atingir o apogeo. Muito Obrigado.
Boa Tarde Roberto! Este sensor de vibração possui um funcionamento mecânico, internamente ele possui uma esfera que se desloca e indica inclinação, porém não possui saída analógica, ou seja, não consegue diferenciar níveis de inclinação.