В данной статье мы создадим управляемый голосом светильник, используя звуковой датчик и плату Raspberry Pi Pico. Датчик звука с помощью платы Raspberry Pi Pico будет определять изменение уровня звука. Когда громкость звука превышает пороговое значение, датчик срабатывает, а затем загорается светодиод RGB. Затем светодиод автоматически выключается через 3 секунды.
Ранее на нашем сайте мы рассматривали принцип работы датчика звука и его подключение к ESP32.
Необходимые компоненты
- Плата Raspberry Pi Pico (купить на AliExpress).
- Датчик звука KY-038 (или аналогичный) (купить на AliExpress).
- Трехцветный светодиод с общим катодом (Common cathode RGB LED) (купить на AliExpress).
- USB-кабель.
- Макетная плата.
- Соединительные провода/перемычки.
Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158
Звуковой датчик
Звуковой датчик действует как микрофон, который используется для приема звуковых волн. Датчик имеет встроенный конденсаторный электретный микрофон, который чувствителен к звуку. Звуковые волны заставляют электретную пленку в микрофоне вибрировать, что приводит к изменению емкости и небольшому напряжению, соответствующему изменению. Затем это напряжение преобразуется в напряжение 0-5 В, которое принимается сборщиком данных после аналого-цифрового преобразования и передается на микроконтроллер.
Модуль датчика звука имеет 4 контакта VCC, GND, цифровой выход и аналоговый выход. Мы можем использовать контакт AO как выход для аналогового считывания или контакт DO как выход для цифрового считывания. В этом модуле у нас есть только контакт D0, который является цифровым выходным контактом.
Схема проекта
Схема для голосового управления светом с использованием звукового датчика и платы Raspberry Pi Pico представлена на следующем рисунке.
Подключите контакты VCC, GND и Out звукового датчика к контактам 5V (VBUS), GND и GP0 на Raspberry Pi Pico.
Аналогично подключите контакты R, G и B светодиода RGB к контактам Raspberry Pi Pico GP2, GP3 и GP4 соответственно. Подключите контакт GND светодиода RGB к контакту GND Pico.
Код программы на MicroPython
Скопируйте следующий код и вставьте его в редактор Thonny.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
from machine import Pin,PWM from utime import sleep_ms sound = Pin(0, Pin.IN, Pin.PULL_DOWN) # Port internal pull-down Led_R = PWM(Pin(2)) Led_G = PWM(Pin(3)) Led_B = PWM(Pin(4)) Led_R.freq(2000) Led_G.freq(2000) Led_B.freq(2000) if __name__ == '__main__': while True: print(sound.value()) if sound.value() == 1: Led_R.duty_u16(65535) Led_G.duty_u16(65535) Led_B.duty_u16(65535) sleep_ms(2000) else: Led_R.duty_u16(0) Led_G.duty_u16(0) Led_B.duty_u16(0) |
Запустите скрипт и начните тестирование подключенной выше схемы.
Когда вы будете хлопать около датчика, светодиод будет загораться на 2 секунды. Затем он будет выключаться. Вы можете повторить это несколько раз.
15 просмотров