Salut les habitants de notre site! Quand j'ai traduit l'article sur montre à led pseudo-bois, certains lecteurs ont pensé: est-il possible de remplacer le capteur de vibration nécessaire pour commuter le mode horloge, thermomètre et hygromètre par un capteur fait maison? Bien sûr, vous pouvez, et l'auteur d'Instructables sous le surnom ArifSae explique comment.
Le maître utilise un ressort d'un fil d'enroulement comme élément mobile du capteur. En plus d'un cuivre, vous pouvez utiliser un ressort en acier, par exemple, d'un stylo plume avec un bouton, mais il est plus rigide, ce qui affectera les paramètres du capteur.
Le fil de bobinage étant verni, il doit être dénudé. Pour ce faire, ArifSae applique du papier de verre:
Enrouler un fil dénudé (soit dit en passant, tiré du moteur d'un ventilateur d'ordinateur cassé) sur un clou:
Et il collecte une telle chose à partir d'un ressort et d'une résistance de 220 ohms sur une carte de type perfboard:
Si le ressort est en cuivre, un tel capteur de vibration doit être positionné strictement verticalement, sinon le ressort inclinera et touchera la sortie de la résistance même en l'absence de vibration. Avec un ressort en acier, le capteur peut fonctionner dans n'importe quelle position.
Vous pouvez supprimer le rebond des contacts du capteur à la fois par programme et par matériel. La seconde vous permet de simplifier le programme, tandis que le circuit électrique est légèrement compliqué. L'un des circuits pour la suppression du rebond matériel est illustré dans la figure:
Un tel circuit rallonge également l'impulsion avec un contact très court du ressort avec la sortie de la résistance. Cela aide le programme à détecter un déclencheur, même s'il est écrit à l'aide de bibliothèques lourdes et «ralentit». Vous n'aurez pas à grimper dans le firmware des horloges pseudo-bois susmentionnées, avec un capteur auto-fabriqué, les modes basculeront dans un anneau de la même manière qu'avec le fini.
Le développeur a un capteur de vibration connecté à l'entrée analogique Arduino, qui vous permet de lire son état à la fois avec la commande digitalRead et la commande analogRead. Dans le second cas, vous pouvez désactiver le condensateur, il n'y aura alors aucune suppression de bavardage matériel et le programme pourra évaluer l'intensité des vibrations. Vous trouverez ci-dessous deux exemples d'esquisse d'utilisation des commandes appropriées. Premier:
capteur int = A5; // broche de capteur
int led = 13; // led par défaut sur arduino
void setup () {
pinMode (capteur, ENTRÉE);
pinMode (led, SORTIE);
Serial.begin (9600);
}
boucle vide () {
tension int = digitalRead (capteur); // lire le capteur ici
Serial.println (tension); // imprimer la tension sur le moniteur série sur PC
retard (1000);
si (tension & gt; = 1) {// si le ressort entre en contact en secouant
digitalWrite (led, HIGH); // allume la led pour montrer que la vibration est détectée
retard (2000);
digitalWrite (led, LOW); // éteindre la led maintenant
} // fin si tension
} // boucle de fin
Et le second:
capteur int = A5;
int led = A0;
boucle vide () {
int sensorValue = analogRead (capteur);
tension flottante = sensorValue * (5.0 / 1023.0);
Serial.println (tension); retard (200);
si (tension & gt; = 0,5) {// définir la sensibilité ici, augmenter la tension 0,5 pour moins sensible, diminuer pour plus sensible
digitalWrite (led, HIGH);
retard (2000);
digitalWrite (led, LOW); }
}
L'avantage d'un capteur de vibrations par rapport à un capteur est la possibilité de changer de mode non pas en touchant un point spécifique sur le boîtier, mais en le touchant n'importe où. Dans la méthode de deuxième lecture, une réaction différente peut être obtenue en fonction de l'intensité du tapotement. Par exemple, pour rendre la commutation de modes sur l'anneau réversible: avec un tap faible d'un côté, avec un fort de l'autre.