Oi os habitantes do nosso site! Quando traduzi o artigo em relógio led pseudo-madeira, alguns leitores pensaram: é possível substituir o sensor de vibração necessário para alternar o modo relógio, termômetro e higrômetro por um caseiro? Claro que sim, e o autor de Instructables, com o apelido de ArifSae, conta como.
O mestre usa uma mola de um fio de enrolamento como elemento móvel do sensor. Além da cobre, você pode usar uma mola de aço, por exemplo, de uma caneta-tinteiro com um botão, mas é mais rígida, o que afetará os parâmetros do sensor.
Como o fio do enrolamento é envernizado, deve ser descascado. Para isso, o ArifSae aplica uma lixa:
Enrolando um fio descarnado (a propósito, retirado do motor de um ventilador quebrado do computador) em um prego:
E ele coleta uma coisa dessas de uma mola e de um resistor de 220 ohms em uma placa do tipo perfboard:
Se a mola for de cobre, esse sensor de vibração deve ser posicionado estritamente verticalmente, caso contrário, a mola irá inclinar e tocar a saída do resistor, mesmo na ausência de vibração. Com uma mola de aço, o sensor pode ser operado em qualquer posição.
Você pode suprimir o ressalto dos contatos do sensor tanto de forma programática quanto de hardware. O segundo permite simplificar o programa, enquanto o circuito elétrico é um pouco complicado. Um dos circuitos para supressão de rejeição por hardware é mostrado na figura:
Esse circuito também prolonga o pulso com um contato muito curto da mola com a saída do resistor. Isso ajuda o programa a detectar um gatilho, mesmo que ele seja gravado usando bibliotecas pesadas e "diminua a velocidade". Você não precisará entrar no firmware dos relógios pseudo-de madeira acima mencionados, com um sensor fabricado automaticamente, os modos alternarão em um anel da mesma maneira que no final.
O desenvolvedor possui um sensor de vibração conectado à entrada analógica Arduino, que permite ler seu estado com o comando digitalRead e o comando analogRead. No segundo caso, você pode desligar o capacitor, não haverá supressão de vibração de hardware e o programa poderá avaliar a intensidade da vibração. Abaixo estão dois exemplos de esboço do uso dos comandos apropriados. Primeiro:
sensor int = A5; // pino do sensor
int led = 13; // led padrão no arduino
configuração nula () {
pinMode (sensor, ENTRADA);
pinMode (led, OUTPUT);
Serial.begin (9600);
}
loop vazio () {
int tensão = digitalRead (sensor); // leia o sensor aqui
Serial.println (tensão); // tensão de impressão no monitor serial no pc
atraso (1000);
if (tensão & gt; = 1) {// se a mola entrar em contato com agitação
digitalWrite (led, ALTO); // liga o led para mostrar que a vibração é detectada
atraso (2000);
digitalWrite (led, LOW); // desative o led agora
} // fim se tensão
} // fim do loop
E o segundo:
sensor int = A5;
int led = A0;
loop vazio () {
int sensorValue = analogRead (sensor);
tensão de flutuação = sensorValue * (5.0 / 1023.0);
Serial.println (tensão); atraso (200);
if (tensão & gt; = 0,5) {// defina a sensibilidade aqui, aumente a tensão 0,5 para menos sensível, diminua para mais sensível
digitalWrite (led, ALTO);
atraso (2000);
digitalWrite (led, LOW); }
}
A vantagem de um sensor de vibração sobre um sensor é a capacidade de alternar entre modos, não tocando em um ponto específico do gabinete, mas tocando nele em qualquer lugar. No método da segunda leitura, uma reação diferente pode ser alcançada, dependendo da intensidade do toque. Por exemplo, para tornar a troca de modos no anel reversível: com um toque fraco de um lado, e um forte no outro.