Helló, webhelyünk lakói! Amikor lefordítottam a ál-fa led óra, néhány olvasó azt gondolta: lehet-e az óra, a hőmérő és a nedvességmérő üzemmód átváltásához szükséges rezgésérzékelőt házi készítménnyel cserélni? Természetesen megteheted, és ArifSae becenév alatt az Instructables szerző elmondja, hogyan.
A mester a tekercselő huzalból származó rugót használ az érzékelő mozgó elemeként. A réz mellett egy acélrugót is használhat például egy gombos töltőtollból, de ez merevebb, ami befolyásolja az érzékelő paramétereit.
Mivel a tekercselő huzal lakkozott, azt meg kell szakítani. Ehhez az ArifSae csiszolópapírt használ:
Egy lecsupaszított huzal (egyébként a megtört számítógépes ventilátor motorjából) felcsévélése egy körömre:
És összegyűjti egy ilyen anyagot egy rugóból és egy 220 ohmos ellenállásból egy betonlemez típusú táblán:
Ha a rugó réz, az ilyen rezgésérzékelőt szigorúan függőlegesen kell elhelyezni, különben a rugó megdönt és megérinti az ellenállás kimenetét rezgés hiányában is. Acélrugóval az érzékelő bármilyen helyzetben működtethető.
Elfojthatja az érzékelő érintkezőinek visszapattanását mind programozottan, mind a hardveren. A második lehetővé teszi a program egyszerűsítését, miközben az elektromos áramkör kissé bonyolult. Az ábrán látható a hardveres visszapattanás csökkentésének egyik áramköre:
Egy ilyen áramkör meghosszabbítja az impulzust a rugó nagyon rövid érintkezésével az ellenállás kimenetével. Ez segít a programnak a trigger észlelésében, még akkor is, ha nehéz könyvtárakkal írják, és „lelassul”. Nem kell másznia a fentebb említett ál-fa órák firmware-jébe - saját készítésű érzékelővel - az üzemmódok gyűrűben váltanak ugyanúgy, mint a kész.
A fejlesztõnek van egy rezgésérzékelõje az analóg bemenethez csatlakoztatva Arduino, amely lehetővé teszi az állapotának olvasását mind a digitalRead, mind az analogRead paranccsal. A második esetben kikapcsolhatja a kondenzátort, akkor nem lesz hardveres zavargás, és a program képes lesz értékelni a rezgés intenzitását. Az alábbiakban két vázlat példát találunk a megfelelő parancsok használatára. Első:
int érzékelő = A5; // érzékelő tű
int led = 13; // alapértelmezett led az arduino-on
érvénytelen beállítás () {
pinMode (érzékelő, INPUT);
pinMode (led, OUTPUT);
Serial.begin (9600);
}
void loop () {
int feszültség = digitalRead (érzékelő); // az érzékelő olvasása itt
Serial.println (feszültség); // nyomtatási feszültség a soros monitorra a számítógépen
késleltetés (1000);
if (feszültség> = 1) {// ha a rugó rázkódás közben érintkezik
digitalWrite (led, magas); // kapcsolja be a led-et, hogy megmutassa, hogy van-e rezgés
késés (2000);
digitalWrite (led, LOW); // kapcsolja ki a led-et most
} // vége, ha feszültség van
} // vég hurok
És a második:
int érzékelő = A5;
int led = A0;
void loop () {
int sensorValue = analogRead (érzékelő);
úszó feszültség = sensorValue * (5,0 / 1023,0);
Serial.println (feszültség); késleltetés (200);
ha (feszültség> 0,5) {// állítsa be itt az érzékenységet, növelje a 0,5 feszültséget kevésbé érzékeny számára, csökkentse az érzékenységet
digitalWrite (led, magas);
késés (2000);
digitalWrite (led, LOW); }
}
A rezgésérzékelő előnye az érzékelőhöz képest az, hogy az üzemmódváltást nem a ház egy adott pontjának megérintésével, hanem bárhonnan megérinti. A második leolvasási módszernél a megcsapolás intenzitásától függően eltérő reakció érhető el. Például, hogy a módváltást a gyűrűn visszafordíthatóvá tegye: egyik oldalán egy gyenge csappal, a másik oldalon egy erős csappal.