Каталог
Управление сервоприводом при помощи датчика звука на Arduino

Управление сервоприводом при помощи датчика звука на Arduino

В современных системах умного дома часто требуется интеграция различных сенсоров и исполнительных механизмов. В данной статье мы рассмотрим пример использования платформы Arduino для управления сервоприводом при помощи датчика звука. Эта система может реагировать на громкие звуки, поворачивая сервопривод в определенное положение на заданное время.

Необходимые компоненты

Для создания данной системы потребуются следующие компоненты:

  • Arduino Uno
  • Датчик звука
  • Сервопривод
  • Соединительные провода

Подключение компонентов

  1. Датчик звука:

    • VCC подключаем к 5V на Arduino.
    • GND подключаем к GND на Arduino.
    • Аналоговый выход (A0) подключаем к аналоговому пину A0 на Arduino.
  2. Сервопривод:

    • Сигнальный провод сервопривода подключаем к цифровому пину 9 на Arduino.
    • Питание (VCC) подключаем к 5V на Arduino.
    • GND сервопривода подключаем к GND на Arduino.

Код программы

Ниже приведен код, который нужно загрузить в Arduino для работы системы:

Код программы

Ниже приведен код, который нужно загрузить в Arduino для работы системы:

#include <Servo.h>
#define SENSOR_PIN A0     // Пин Arduino, подключенный к пину датчика звука
#define SERVO_PIN 9       // Пин Arduino, подключенный к пину серво
#define TIME_PERIOD 5000  // в миллисекундах
Servo servo;  // создаем объект servo для управления серво
// переменные будут изменяться:
int lastSoundState;      // предыдущее состояние датчика звука
int currentSoundState;   // текущее состояние датчика звука
unsigned long lastTime;  // текущее состояние датчика звука
int angle = 0;
void setup() {
  Serial.begin(9600);          // инициализируем сериализацию
  pinMode(SENSOR_PIN, INPUT);  // устанавливаем пин Arduino в режим ввода
  servo.attach(SERVO_PIN);     // присоединяем сервомотор к пину 9 с объектом servo
  servo.write(angle);
  currentSoundState = digitalRead(SENSOR_PIN);
}
void loop() {
  lastSoundState = currentSoundState;           // сохраняем предыдущее состояние
  currentSoundState = digitalRead(SENSOR_PIN);  // читаем новое состояние
  if (lastSoundState == HIGH && currentSoundState == LOW) {  // изменение состояния: HIGH -> LOW
    Serial.println("Обнаружен звук")
    angle = 90;
    servo.write(angle);  // управляем сервоприводом, поворачиваем на 90 градусов
    lastTime = millis();
  }
  if (angle == 90 && (millis() - lastTime) > TIME_PERIOD) {
    angle = 0;
    servo.write(angle);  // управляем сервоприводом, поворачиваем на 0 градусов
  }
}

Заключение

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

Создание таких проектов помогает лучше понять основы электроники и программирования, а также развивает навыки интеграции различных компонентов в одну систему. Надеемся, что данное руководство вдохновит вас на создание собственных проектов и экспериментов с платформой Arduino.

Комментарии
Отзывов еще никто не оставлял
Товары упомянутые в статье
В наличии
Предзаказ
арт. 173
Датчик звука KY-037 предназначен для обнаружения звука и определения его...
450 тг 300 тг
В наличии
Предзаказ
арт. 250
Серводвигатель MG90S отлично подходит для небольших и средних электрических моделей....
2 200 тг 1 450 тг
Предзаказ
Предзаказ успешно отправлен!
Имя *
Телефон *
Добавить в корзину
Название товара
100 тг
1 шт.
Перейти в корзину
Обратный звонок
Запрос успешно отправлен!
Имя *
Телефон *
Заказ в один клик
С помощью уведомлений о заказе можно не только получать актуальную информацию по заказу, но и иметь быстрый канал связи с магазином