Dobrý deň, obyvateľov našej stránky! Keď som preložil článok pseudo-drevené led hodinky, niektorí čitatelia si mysleli: je možné nahradiť vibračný senzor potrebný na prepnutie režimu hodín, teplomera a vlhkomera za domáci? Samozrejme môžete, a autor Instructables pod prezývkou ArifSae hovorí ako.
Master používa pružinu z navíjacieho drôtu ako pohyblivý prvok senzora. Okrem medenej môžete použiť aj oceľovú pružinu, napríklad z plniaceho pera s gombíkom, ale je to rigidnejšie, čo ovplyvňuje parametre senzora.
Pretože je navíjací drôt lakovaný, musí byť odizolovaný. Na tento účel spoločnosť ArifSae používa brúsny papier:
Navinutie odizolovaného drôtu (mimochodom z motora rozbitého ventilátora počítača) na klinec:
A zbiera také niečo z pružiny a odporu 220 ohmov na doske typu perfboard:
Ak je pružina z medi, takýto snímač vibrácií by mal byť umiestnený striktne vertikálne, inak sa pružina nakloní a dotkne sa výstupu rezistora aj bez vibrácií. S oceľovou pružinou môže byť snímač prevádzkovaný v akejkoľvek polohe.
Odraz kontaktov senzorov môžete potlačiť programovo aj hardvérom. Druhý umožňuje zjednodušiť program, zatiaľ čo elektrický obvod je trochu komplikovaný. Jeden z obvodov na potlačenie odrazenia hardvéru je uvedený na obrázku:
Takýto obvod tiež predlžuje impulz pri veľmi krátkom kontakte pružiny s výstupom odporu. Pomáha to programu detegovať spúšť, aj keď je napísaná pomocou veľkých knižníc a „spomaľuje sa“. Nebudete sa musieť vyšplhať na firmvér vyššie uvedených pseudo-drevených hodín, so samočinne vyrobeným senzorom sa režimy prepínajú v kruhu rovnakým spôsobom ako s hotovým.
Vývojár má k analógovému vstupu pripojený snímač vibrácií Arduino, ktorý vám umožňuje prečítať jeho stav pomocou príkazu digitalRead aj príkazu analogRead. V druhom prípade môžete kondenzátor vypnúť, potom nebude existovať žiadne hardvérové potlačenie klábosenia a program bude schopný vyhodnotiť intenzitu vibrácií. Nižšie sú uvedené dva príklady skici použitia príslušných príkazov. Prvá:
int senzor = A5; // kolík snímača
int led = 13; // Predvolené viedlo na arduino
neplatné nastavenie () {
pinMode (senzor, INPUT);
pinMode (led, OUTPUT);
Serial.egegin (9600);
}
void loop () {
int napätie = digitalRead (senzor); // tu čítať snímač
Serial.println (napätie); // tlačte napätie na sériový monitor na počítači
oneskorenie (1000);
if (napätie> = 1) {// ak sa pružina pri pretrepávaní dostane do kontaktu
digitalWrite (led, HIGH); // zapnite LED, aby ste dokázali, že vibrácie sú snímané
oneskorenie (2000);
digitalWrite (led, LOW); // vypnite vedené teraz
} // koniec, ak je napätie
} // koncová slučka
A druhá:
int senzor = A5;
int led = A0;
void loop () {
int sensorValue = analogRead (senzor);
plavákové napätie = hodnota senzora * (5,0 / 1023,0);
Serial.println (napätie); oneskorenie (200);
ak (napätie> 0,5) {// tu nastavte citlivosť, zvýšte napätie 0,5 pre menej citlivé, pre citlivejšie znížte
digitalWrite (led, HIGH);
oneskorenie (2000);
digitalWrite (led, LOW); }
}
Výhodou vibračného senzora oproti senzoru je možnosť prepnúť režimy tak, že sa nedotýkajú konkrétneho bodu prípadu, ale klepnutím kdekoľvek. Pri druhom spôsobe čítania je možné dosiahnuť inú reakciu v závislosti od intenzity poklepávania. Napríklad, aby prepínanie režimov na krúžku bolo reverzibilné: so slabým kohútikom na jednej strane, so silným na druhej strane.