Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Динамик работает, активируя электромагнит, который находится рядом с «обычным» магнитом. Это вызывает вибрацию, в результате чего возникает звук. Итак, если вместо подачи тока на динамик, мы можем производить ток (если он очень слабый), перемещая динамик самостоятельно. Затем этот ток может быть обнаружен и интерпретирован микроконтроллером, таким как Arduino.
Шаг 1. Найдите спикера
Вам нужно будет найти спикера, которым вы готовы пожертвовать ради этого проекта. Вы можете купить его в SparkFun менее чем за доллар, но, вероятно, он у вас уже есть. Я использовал небольшой динамик от старой пары наушников, но вы можете найти его практически где угодно - например, в музыкальной открытке или в старом будильнике. Следующий:
- Разрежьте перемычку пополам
- Снимите концы с него
- Припаиваем к динамику (там, наверное, уже были какие-то провода - просто отрежьте их)
В качестве альтернативы вы можете использовать зажимы из крокодиловой кожи, если они у вас есть.
Шаг 2: Постройте схему
Необходимые материалы:
- Arduino UNO
- Макетная плата
- Провода перемычки
- Светодиод (любого цвета)
- Два резистора 220 Ом (красно-красно-коричневый)
- Спикер
Следуйте приведенной выше схеме, чтобы подключить все это к Arduino.
Шаг 3. Загрузите этот код
Загрузите этот код в IDE Arduino. Вам, вероятно, потребуется откалибровать его, поскольку вы не используете тот же динамик, что и я, поэтому я объясню, как это сделать, в несколько шагов.
int shockMin = 996; // вам может потребоваться изменить эти
int shockMax = 1010; // вам может потребоваться изменить эти пустые настройки () {pinMode (11, OUTPUT); // Serial.begin (9600); // раскомментируйте это, чтобы облегчить калибровку} void loop () {int shock = analogRead (A0); int lightval = map (shock, shockMin, shockMax, 0, 255); если (lightval> 0) {analogWrite (11, lightval); } else {analogWrite (11, 0); } // Serial.println (shock); // раскомментируйте это, чтобы помочь с калибровкой}
Шаг 4: как его использовать
Нажмите пальцем на центр динамика, и индикатор должен мигать. Если нет, вам нужно будет откалибровать его на следующем шаге. В противном случае вы можете попробовать прикрепить динамик к чему-нибудь. Может быть, вы могли бы сделать барабан, приклеив его к бумажной тарелке? - Попробуйте использовать карандаши в качестве голеней.
Шаг 5: откалибровать
Если ваш светодиод уже удовлетворительно мигает, вы можете пропустить этот шаг. В противном случае выполните следующие действия:
- Удалите "//" в строках "// раскомментируйте это, чтобы помочь с калибровкой".
- Загрузите код и откройте серийный монитор
- Нажмите на центр динамика и наблюдайте, как меняются значения
- Измените переменные shockMin и shockMax на низкие и высокие значения в последовательном мониторе.
int shockMin = 996;
int shockMax = 1010;
Например, если последовательный монитор считывает 700 как состояние вашего датчика без нажатия (когда он просто сидит там), и когда вы нажимаете его, он увеличивается до 860, измените shockMax примерно на 900 (чуть выше показаний датчика) и shockMin примерно на 680. Далее:
- Закройте последовательный монитор
- Загрузите новый код
- Нажмите на центр динамика еще немного
Если все в порядке, светодиод должен включаться только при нажатии на сенсор.