Sveiki mūsu vietnes iedzīvotāji! Kad es iztulkoju rakstu par pseidokoka led pulkstenis, daži lasītāji domāja: vai ir iespējams nomainīt vibrācijas sensoru, kas nepieciešams pulksteņa, termometra un higrometra režīma pārslēgšanai, ar mājās gatavotu? Protams, jūs varat, un Instructables autors ar segvārdu ArifSae stāsta, kā.
Kā sensora kustīgais elements kapteinis izmanto atsperi no tinuma stieples. Papildus varam jūs varat izmantot tērauda atsperi, piemēram, no pildspalvas pildspalvas ar pogu, taču tā ir stingrāka, kas ietekmēs sensora parametrus.
Tā kā tinuma vads ir lakots, tas ir jānoņem. Lai to izdarītu, ArifSae piemēro smilšpapīru:
Noņemta stieple (starp citu, ņemta no salauzta datora ventilatora motora) uz naga:
Un tas savāc šādu lietu no atsperes un 220 omi rezistora uz perfekta plātnes tipa plātnes:
Ja atspere ir vara, šāds vibrācijas sensors jānovieto stingri vertikāli, pretējā gadījumā atspere noliecas un pieskaras rezistora izejai pat vibrācijas neesamības gadījumā. Ar tērauda atsperi sensoru var darbināt jebkurā pozīcijā.
Jūs varat apslāpēt sensora kontaktu atlēcienu gan programmatiski, gan aparatūras ziņā. Otrais ļauj jums vienkāršot programmu, savukārt elektriskā ķēde ir nedaudz sarežģīta. Attēlā parādīta viena no aparatūras atlēciena slāpēšanas shēmām:
Šāda ķēde arī pagarina impulsu ar ļoti īsu atsperes kontaktu ar rezistora izeju. Tas palīdz programmai noteikt sprūdu, pat ja tas ir uzrakstīts, izmantojot smagas bibliotēkas un “palēnina”. Jums nevajadzēs kāpt iepriekšminēto pseidokoka pulksteņu programmaparatūrā, ar pašizveidotu sensoru režīmi pārslēgsies gredzenā tāpat kā ar gatavu.
Izstrādātājam ir vibrācijas sensors, kas savienots ar analogo ieeju Arduino, kas ļauj nolasīt tā stāvokli gan ar komandu digitalRead, gan ar analogRead komandu. Otrajā gadījumā jūs varat izslēgt kondensatoru, tad nebūs aparatūras pļāpāšanas slāpēšanas, un programma varēs novērtēt vibrācijas intensitāti. Zemāk ir divi piemērotu komandu izmantošanas skices piemēri. Pirmais:
int sensors = A5; // sensora tapa
int led = 13; // noklusējuma rezultātā arduino
Nederīga iestatīšana () {
pinMode (sensors, INPUT);
pinMode (led, OUTPUT);
Sērijas.begin (9600);
}
tukšs cilpa () {
int spriegums = digitalRead (sensors); // lasīt sensoru šeit
Serial.println (spriegums); // drukāšanas spriegums seriālajam monitoram uz datora
kavēšanās (1000);
if (spriegums> = 1) {// ja atspere saskaras kratot
digitalWrite (led, HIGH); // ieslēdziet led, lai parādītu, ka ir jūtama vibrācija
kavēšanās (2000);
digitalWrite (led, LOW); // izslēgt led tagad
} // beigas, ja spriegums
} // beigu cilpa
Un otrais:
int sensors = A5;
int led = A0;
tukšs cilpa () {
int sensorValue = analogRead (sensors);
pludiņa spriegums = sensorValue * (5,0 / 1023,0);
Serial.println (spriegums); kavēšanās (200);
ja (spriegums> 0,5) {// iestatiet jutīgumu šeit, palieliniet spriegumu 0.5 mazāk jutīgam, samaziniet jutīgākam
digitalWrite (led, HIGH);
kavēšanās (2000);
digitalWrite (led, LOW); }
}
Vibrācijas sensora priekšrocība salīdzinājumā ar sensoru ir spēja pārslēgt režīmus nevis pieskaroties noteiktam korpusa punktam, bet gan pieskaroties tam jebkur. Otrajā lasīšanas metodē var panākt atšķirīgu reakciju atkarībā no piesitiena intensitātes. Piemēram, lai režīmu pārslēgšana gredzenā būtu atgriezeniska: ar vāju krānu vienā pusē, ar spēcīgu otrā.