Здравейте, жителите на нашия сайт! Когато преведох статията на псевдо-дървен световен часовник, някои читатели помислиха: възможно ли е да замените вибрационния сензор, необходим за превключване на режима на часовника, термометъра и хигрометъра с домашен? Разбира се, че можете, а авторът на Instructables под псевдонима ArifSae разказва как.
Майсторът използва пружина от намотка тел като подвижен елемент на сензора. Освен медна, можете да използвате стоманена пружина, например, от писалка с бутон, но тя е по-твърда, което ще се отрази на параметрите на сензора.
Тъй като намотката на тел е лакирана, тя трябва да бъде съблечена. За да направите това, ArifSae прилага шкурка:
Навиване на съблечена жица (между другото, взета от двигателя на счупен компютърен вентилатор) върху пирон:
И събира такова нещо от пружина и 220-омов резистор на платка тип перфор:
Ако пружината е медна, такъв сензор за вибрации трябва да бъде поставен строго вертикално, в противен случай пружината ще се наклони и ще докосне изхода на резистора дори при липса на вибрации. Със стоманена пружина сензорът може да работи във всяка позиция.
Можете да потиснете отскока на контактите на сензора както програмно, така и хардуерно. Втората ви позволява да опростите програмата, докато електрическата верига е сложна леко. Една от схемите за хардуерно потискане на скачане е показана на фигурата:
Такава схема също удължава импулса с много кратък контакт на пружината с изхода на резистора. Това помага на програмата да открие тригер, дори ако е написана с помощта на тежки библиотеки и „забавя”. Няма да се налага да се качвате във фърмуера на гореспоменатите псевдо-дървени часовници, със самостоятелно направен сензор, режимите ще се превключват на пръстен по същия начин, както с готовия.
Програмистът има вибрационен сензор, свързан към аналоговия вход Arduino, което ви позволява да четете състоянието му както с командата digitalRead, така и с командата analogRead. Във втория случай можете да изключите кондензатора, тогава няма да има хардуерно потискане на чатъра и програмата ще може да оцени интензивността на вибрациите. По-долу са дадени два примера на скици за използване на съответните команди. Първо:
int сензор = A5; // сензорен щифт
int led = 13; // по подразбиране доведе на arduino
настройка за невалидност () {
pinMode (сензор, INPUT);
pinMode (led, OUTPUT);
Serial.begin (9600);
}
void loop () {
int напрежение = digitalRead (сензор); // прочетете сензора тук
Serial.println (напрежение); // печат напрежение към сериен монитор на компютър
забавяне (1000);
ако (напрежение>> = 1) {// ако пружинните контакти при разклащане
digitalWrite (led, HIGH); // включете led, за да покажете, че се усеща вибрация
забавяне (2000 г.);
digitalWrite (led, LOW); // изключете led led сега
} // край ако напрежението
} // краен цикъл
И втората:
int сензор = A5;
int led = A0;
void loop () {
int sensorValue = analogRead (сензор);
плаващо напрежение = sensorValue * (5.0 / 1023.0);
Serial.println (напрежение); забавяне (200);
ако (напрежение> gt; = 0,5) {// настройте чувствителността тук, увеличете напрежението 0,5 за по-малко чувствителните, намалете за по-чувствителните
digitalWrite (led, HIGH);
забавяне (2000 г.);
digitalWrite (led, LOW); }
}
Предимството на вибрационния сензор над датчика е възможността да превключвате режимите не чрез докосване на конкретна точка на калъфа, а чрез докосване до него навсякъде. При метода на второ четене може да се постигне различна реакция в зависимост от интензивността на потупването. Например, за да се направи обратен режим на включване на пръстена: със слаб кран от едната страна, със силен от другата.