В гостях у Самоделкина! » Электроника » Arduino » Пружинный вибродатчик

Пружинный вибродатчик



Привет, самоделкины! Когда я перевёл статью о псевдодеревянных светодиодных часах, некоторые читатели подумали: можно ли в них датчик вибрации, необходимый для переключения режимов часов, термометра и гигрометра по кольцу, заменить на самодельный? Конечно, можно, и автор Instructables под ником ArifSae рассказывает, как.

В качестве подвижного элемента датчика мастер использует пружину из обмоточного провода. Помимо медной, можно использовать и стальную пружину, например, от авторучки с кнопкой, но она более жёсткая, что повлияет на параметры датчика.

Поскольку обмоточный провод покрыт лаком, его нужно зачистить. Для этого ArifSae применяет наждачку:



Наматывает зачищннный провод (кстати, взятый из двигателя сломанного компьютерного вентилятора) на гвоздь:



И собирает из пружины и 220-омного резистора на макетной плате типа perfboard такую штуку:



Если пружина медная, располагать такой вибродатчик следует строго вертикально, иначе пружина наклонится и коснётся вывода резистора и при отсутствии вибрации. Со стальной пружиной можно добиться работы датчика в любом положении.

Подавлять дребезг контактов датчика можно как программно, так и аппаратно. Второе позволяет упростить программу, при этом электрическая схема усложняется незначительно. Одна из схем для аппаратного подавления дребезга показана на рисунке:



Такая схема также удлиняет импульс при очень коротком соприкосновении пружины с выводом резистора. Это помогает программе обнаружить срабатывание, даже если она написана с использованием тяжёлых библиотек и «тормозит». В прошивку вышеупомянутых псевдодеревянных часов лазить не придётся, с самодельным датчиком режимы будут переключаться по кольцу точно так же, как с готовым.

У разработчика вибродатчик подключён к аналоговому входу Arduino, что позволяет считывать его состояние как командой digitalRead, так и командой analogRead. Во втором случае можно отключить конденсатор, тогда аппаратного подавления дребезга не будет, и программа сможет оценивать интенсивность вибрации. Ниже приведены два скетча-примера использования соответствующих команд. Первый:

int sensor = A5; // sensor pin
int led = 13; // default led on arduino

void setup() {

pinMode (sensor, INPUT);

pinMode (led, OUTPUT);

Serial.begin(9600);

}

void loop() {

int voltage = digitalRead(sensor); // read sensor here

Serial.println (voltage); // print voltage to serial monitor on pc

delay (1000);

if (voltage >= 1) { // if spring contacts on shaking

digitalWrite (led, HIGH); // turn on led to show that vibration is sensed

delay (2000);

digitalWrite (led, LOW); // turn off led now

} // end if voltage

} // end loop


И второй:

int sensor = A5;
int led = A0;

void loop() {

int sensorValue = analogRead(sensor);

float voltage = sensorValue * (5.0 / 1023.0);

Serial.println (voltage); delay (200);

if (voltage >= 0.5) { // set sensitivity here, increase voltage 0.5 for less sensitive , decrease for more sensitive

digitalWrite (led, HIGH);

delay (2000);

digitalWrite (led, LOW); }

}


Преимущество вибрационного датчика перед сенсорным состоит в возможности переключать режимы не прикосновением к определённой точке корпуса, а постукиванием по нему в любом месте. При втором способе считывания можно добиться различной реакции в зависимости от интенсивности постукивания. Например, сделать переключение режимов по кольцу реверсивным: при слабом постукивании в одну сторону, при сильном - в другую.

Источник
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Клон Arduboy

Устройство копирования электронных ключей типа Touch Memory или Ibuttom

9.5
Идея
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
9
Описание
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
9.5
Исполнение
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Итоговая оценка: 9.33 из 10 (голосов: 4 / История оценок)

Добавить комментарий

    • smilesmilesxaxaokdontknowyahoonea
      bossscratchfoolyesyes-yesaggressivesecret
      sorrydancedance2dance3pardonhelpdrinks
      stopfriendsgoodgoodgoodwhistleswoontongue
      smokeclappingcraydeclarederisivedon-t_mentiondownload
      heatirefullaugh1mdameetingmoskingnegative
      not_ipopcornpunishreadscarescaressearch
      tauntthank_youthisto_clueumnikacuteagree
      badbeeeblack_eyeblum3blushboastboredom
      censoredpleasantrysecret2threatenvictoryyusun_bespectacled
      shokrespektlolprevedwelcomekrutoyya_za
      ya_dobryihelperne_huliganne_othodifludbanclose
1 комментарий
  1. Гость Алексей
    Б@я. У меня в китайской плите это реализовано года 3 назад (как купил). И гораздо круче.Чтоб не замыкало при наклоне оно навито конусом. Причем без МК...

Привет, Гость!


Зарегистрируйтесь

Или войдите на сайт, если уже зарегистрированы...

Войти

Добавьте самоделку

Добавьте тему

Онлайн чат

Опрос
А Вы знаете, что на сайте оплачиваются отчеты о создании самоделок?

Последние комментарии

Все комментарии
Новые самоделки на почту

Введите электронную почту и получайте письма с новыми самоделками. Не более одного письма в день.