Cześć mieszkańcy naszej strony! Kiedy przetłumaczyłem artykuł na pseudo-drewniany zegarek ledowy, niektórzy czytelnicy zastanawiali się: czy można wymienić czujnik wibracji potrzebny do przełączenia trybu zegara, termometru i higrometru na domowy? Oczywiście, że możesz, a autor Instructables pod pseudonimem ArifSae mówi jak.
Mistrz wykorzystuje sprężynę z drutu uzwojenia jako ruchomy element czujnika. Oprócz miedzianej możesz użyć stalowej sprężyny, na przykład z wiecznego pióra z przyciskiem, ale jest bardziej sztywny, co wpłynie na parametry czujnika.
Ponieważ drut uzwojenia jest lakierowany, należy go usunąć. Aby to zrobić, ArifSae stosuje papier ścierny:
Nawijanie odizolowanego drutu (przy okazji, wyjętego z silnika zepsutego wentylatora komputerowego) na gwóźdź:
I zbiera coś takiego ze sprężyny i rezystora 220 omów na płycie typu perfboard:
Jeśli sprężyna jest miedziana, taki czujnik drgań powinien być ustawiony dokładnie pionowo, w przeciwnym razie sprężyna będzie przechylać się i dotykać wyjścia rezystora nawet przy braku wibracji. Ze stalową sprężyną czujnik może pracować w dowolnej pozycji.
Możesz stłumić odbijanie styków czujnika zarówno programowo, jak i sprzętowo. Drugi pozwala uprościć program, podczas gdy obwód elektryczny jest nieco skomplikowany. Jeden z obwodów tłumienia odrzuceń sprzętowych pokazano na rysunku:
Taki obwód wydłuża również impuls przy bardzo krótkim styku sprężyny z wyjściem rezystora. Pomaga to programowi wykryć wyzwalacz, nawet jeśli jest napisany przy użyciu ciężkich bibliotek i „spowalnia”. Nie musisz wchodzić na oprogramowanie wspomnianych wyżej pseudo-drewnianych zegarów, z samodzielnie wykonanym czujnikiem, tryby przełączą się w pierścieniu w taki sam sposób, jak w przypadku gotowego.
Deweloper ma czujnik drgań podłączony do wejścia analogowego Arduino, który pozwala odczytać jego stan zarówno za pomocą polecenia digitalRead, jak i analogRead. W drugim przypadku możesz wyłączyć kondensator, wtedy nie będzie tłumienia drgań sprzętowych, a program będzie w stanie ocenić intensywność wibracji. Poniżej znajdują się dwa szkicowe przykłady użycia odpowiednich poleceń. Pierwszy:
czujnik int = A5; // pin czujnika
int led = 13; // domyślna dioda na Arduino
void setup () {
pinMode (czujnik, WEJŚCIE);
pinMode (dioda LED, WYJŚCIE);
Serial.begin (9600);
}
void loop () {
napięcie int = odczyt cyfrowy (czujnik); // przeczytaj czujnik tutaj
Serial.println (napięcie); // wydrukuj napięcie na monitorze szeregowym na komputerze
opóźnienie (1000);
if (napięcie> 1) {// jeśli sprężyna styka się podczas wstrząsania
digitalWrite (led, HIGH); // włącz diodę LED, aby pokazać wykrycie wibracji
opóźnienie (2000);
digitalWrite (led, LOW); // wyłącz teraz diodę LED
} // koniec, jeśli napięcie
} // pętla końcowa
A drugi:
czujnik int = A5;
int led = A0;
void loop () {
int sensorValue = analogRead (sensor);
napięcie pływakowe = wartość czujnika * (5,0 / 1023,0);
Serial.println (napięcie); opóźnienie (200);
jeśli (napięcie> = 0,5) {// ustaw tutaj czułość, zwiększ napięcie 0,5 dla mniejszej czułości, zmniejsz dla większej czułości
digitalWrite (led, HIGH);
opóźnienie (2000);
digitalWrite (led, LOW); }
}
Przewagą czujnika wibracji nad czujnikiem jest możliwość przełączania trybów nie poprzez dotykanie określonego punktu na obudowie, ale przez dotykanie go w dowolnym miejscu. W metodzie drugiego czytania można uzyskać inną reakcję w zależności od intensywności stukania. Na przykład, aby przełączanie trybów na pierścieniu było odwracalne: ze słabym dotknięciem z jednej strony, z silnym z drugiej.