Continuando a esvaziar o meu backlog de sensores, vamos ver outro sensor simples, o de vibração.
Existem vários tipos de detectores de vibração, este módulo usa o SW-420 que é uma opção de baixo custo mas com boa sensibilidade e omnidirecional. A figura abaixo é o mais próximo que encontrei de um datasheet:
Pelo que consegui entender, a peça em vermelho (roller) conecta os dois terminais do sensor; à medida que o sensor é movido ou vibrado a conexão é momentaneamente interrompida.
No módulo, estas conexões e desconexões controlam a descarga e carga de um capacitor. Desta forma a tensão no capacitor indica o quanto o sensor está sendo vibrado. Esta tensão é comparada com uma referência definida por um potenciômetro:
O resultado final é uma saída digital que muda de estado quando o sensor detecta uma vibração acima do limite definido através do potenciômetro. Como indicado acima, o módulo possui dois LEDs, um para indicar que está alimentado outro para indicar que foi detectada vibração.
No módulo que eu usei a saída está normalmente em nível alto (e o LED aceso) e passa para nível baixo (e LED apagado) quando uma vibração é detectada. Pelo que vi na internet existem versões com a saída invertida. As referências que eu encontrei falam em operação de 3,3 a 5V, mas não vejo motivo para não funcionar com3V.
Para testar o sensor vamos usar uma montagem minimalista com um Arduino Nano, um buzzer e o sensor (quem acompanha o blog vai perceber que usei a mesma montagem do teste do sensor de chama):
O nosso software simplesmente reproduzir no buzzer a saída do sensor:
- /**
- * Teste do Sensor de Vibração
- * DQ - 21/09/20
- * https://dqsoft.blogspot.com
- */
- // Conexões
- const int pinBuzzer = 3;
- const int pinSensor = 4;
- // Iniciação
- void setup() {
- Serial.begin(115200);
- pinMode (pinBuzzer, OUTPUT);
- digitalWrite (pinBuzzer, LOW);
- pinMode (pinSensor, INPUT);
- }
- // Laco eterno
- void loop() {
- // Replica a saída do sensor no buzzer
- digitalWrite (pinBuzzer, digitalRead(pinSensor));
- // Dá um tempo entre as leituras
- delay (100);
- }
Aí é só ajustar o potenciômetro para o nível de vibração a partir do qual queremos que o buzzer seja acionado.
Nenhum comentário:
Postar um comentário