цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Самодельный датчик удара на основе динамика - проект для Arduino



Самодельный датчик удара на основе динамика - проект для Arduino

Автор: Mike(admin) от 25-05-2022, 03:55

Динамик работает, активируя электромагнит, который находится рядом с «обычным» магнитом. Это вызывает вибрацию, в результате чего возникает звук. Логика подсказывает, что вместо подачи тока на динамик, мы можем генерировать ток (даже если он очень слабый), оказывая на его мембрану физическое воздействие. Затем этот ток может быть обнаружен и интерпретирован в сигналы микроконтроллером, таким как Arduino.


Самодельный датчик удара на основе динамика - проект для Arduino

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


динамик

После получения динамика подключите провода к его двум выводам.


Самодельный датчик удара на основе динамика - проект для Arduino

Далее подключите все компоненты в соответствии с приведенной далее схемой.


Самодельный датчик удара на основе динамика - проект для Arduino

Загрузите следующий код в Arduino IDE. Вам, вероятно, потребуется откалибровать его, поскольку вы можете не использовать тот же динамик, что и в нашем случае, поэтому мы объясним, как это сделать, далее.



int shockMin = 996;  // вам может потребоваться изменить это
int shockMax = 1010;  // вам может потребоваться изменить это
void setup() {
  pinMode(11, OUTPUT);
  // Serial.begin(9600); // раскомментируйте это для организации калибровки
}
void loop() {
  int shock = analogRead(A0);
  int lightval = map(shock, shockMin, shockMax, 0, 255);
  if (lightval > 0) {
    analogWrite(11, lightval);
  }
  else {
    analogWrite(11, 0);
  }
  // Serial.println(shock); // раскомментируйте это для организации калибровки
}

Нажмите пальцем на центр динамика, и светодиод должен замигать. Если нет, вам нужно будет откалибровать его на следующем шаге.


Если ваш светодиод уже удовлетворительно мигает, вы можете пропустить этот шаг. В противном случае выполните следующие действия:


  • Удалите «//» в строках «// Serial.begin(9600);».
  • Загрузите код и откройте последовательный монитор.
  • Нажмите на центр динамика и наблюдайте, как меняются значения.
  • Измените переменные shockMin и shockMax на оптимальные значения.

Например, если последовательный монитор считывает 700 как состояние вашего датчика без нажатия, а когда вы нажимаете на него, значение может подниматься до 860, измените shockMax примерно на 900 (чуть выше показания датчика) и shockMin примерно до 680. После этого снова загрузите код в Arduino, и все должно теперь работать как надо.




© digitrode.ru


Теги: Arduino, динамик, датчик удара




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий