Hola los habitantes de nuestro sitio! Cuando traduje el artículo sobre pseudo reloj led de madera, pensaron algunos lectores: ¿es posible reemplazar el sensor de vibración necesario para cambiar los modos de reloj, termómetro e higrómetro por uno casero? Por supuesto que puedes, y el autor de Instructables bajo el apodo ArifSae dice cómo.
El maestro utiliza un resorte de un cable de bobinado como elemento móvil del sensor. Además de uno de cobre, puede usar un resorte de acero, por ejemplo, de una pluma estilográfica con un botón, pero es más rígido, lo que afectará los parámetros del sensor.
Como el alambre de bobinado está barnizado, debe pelarse. Para hacer esto, ArifSae aplica papel de lija:
Enrollar un cable pelado (por cierto, tomado del motor de un ventilador roto) en un clavo:
Y recolecta tal cosa de un resorte y una resistencia de 220 ohmios en una placa tipo perfboard:
Si el resorte es de cobre, dicho sensor de vibración debe colocarse estrictamente vertical, de lo contrario, el resorte se inclinará y tocará la salida de la resistencia incluso en ausencia de vibración. Con un resorte de acero, el sensor puede funcionar en cualquier posición.
Puede suprimir el rebote de los contactos del sensor tanto mediante programación como por hardware. El segundo le permite simplificar el programa, mientras que el circuito eléctrico es un poco complicado. Uno de los circuitos para la supresión de rebote de hardware se muestra en la figura:
Tal circuito también alarga el pulso con un contacto muy corto del resorte con la salida de la resistencia. Esto ayuda al programa a detectar un desencadenante, incluso si está escrito utilizando bibliotecas pesadas y "se ralentiza". No tendrá que subir al firmware de los relojes pseudo-de madera antes mencionados, con un sensor hecho a sí mismo, los modos cambiarán en un anillo de la misma manera que con el listo.
El desarrollador tiene un sensor de vibración conectado a la entrada analógica. Arduino, que le permite leer su estado con el comando digitalRead y el comando analogRead. En el segundo caso, puede apagar el condensador, luego no habrá supresión de ruido de hardware y el programa podrá evaluar la intensidad de la vibración. A continuación hay dos ejemplos de bocetos sobre el uso de los comandos apropiados. Primero:
int sensor = A5; // pin del sensor
int led = 13; // led predeterminado en arduino
configuración nula () {
pinMode (sensor, ENTRADA);
pinMode (led, SALIDA);
Serial.begin (9600);
}
bucle vacío () {
voltaje int = digitalRead (sensor); // lee el sensor aquí
Serial.println (voltaje); // voltaje de impresión al monitor en serie en la PC
retraso (1000);
if (voltaje & gt; = 1) {// si el resorte hace contacto al sacudir
digitalWrite (led, ALTO); // enciende el led para mostrar que se siente la vibración
retraso (2000);
digitalWrite (led, BAJO); // apaga el led ahora
} // finaliza si el voltaje
} // fin del bucle
Y el segundo:
int sensor = A5;
int led = A0;
bucle vacío () {
int sensorValue = analogRead (sensor);
voltaje de flotación = sensorValue * (5.0 / 1023.0);
Serial.println (voltaje); retraso (200);
if (voltaje & gt; = 0.5) {// establezca la sensibilidad aquí, aumente el voltaje 0.5 para menos sensible, disminuya para más sensible
digitalWrite (led, ALTO);
retraso (2000);
digitalWrite (led, BAJO); }
}
Una ventaja de un sensor de vibración sobre un sensor es la capacidad de cambiar de modo no tocando un punto específico de la carcasa, sino tocándolo en cualquier lugar. En el segundo método de lectura, se puede lograr una reacción diferente dependiendo de la intensidad del golpeteo. Por ejemplo, para hacer que el cambio de modos en el anillo sea reversible: con un toque débil en un lado, con uno fuerte en el otro.