Резистор должен оставаться в цепи для ограничения тока и защиты светодиода.
ПРОВОДКА 03 / ЗВУК
Подключите зуммер
Короткий сигнал оповещает о новом приближении, а не о каждом показании датчика.
+−
Зуммер внутри / рядом с входом
+Положительный контакт зуммера (+)D8
−Отрицательный контакт зуммера (−)GND
Одно приближение = один короткий сигнал
Переменная памяти предотвращает повторные сигналы, пока кто-то находится рядом.
ПРЕДПОЛЕТНАЯ ПРОВЕРКА
Проверьте всю цепь
Проследите весь путь перед подключением питания USB.
UNO
✓Питание датчика проверено
✓Пины датчика проверены
✓Полярность светодиода проверена
✓Резистор светодиода установлен
✓Полярность зуммера проверена
✓Все заземления подключены
ВЫКЛЮЧИТЕ ПИТАНИЕ ПРИ МОНТАЖЕОтключите питание USB перед изменением соединений.
ПРОГРАММНАЯ ЛАБОРАТОРИЯ
Входите в лабораторию PictoBlox
Сначала визуальные блоки: учащиеся создают логику, не печатая программу.
PictoBlox • Stage Mode
BLOCKS
РЕЖИМ СЦЕНЫ
when green flag clicked
forever
read distance
01Откройте PictoBlox.
02Выберите Block Coding и Arduino Uno.
03Подключите соответствующий COM-порт.
04Выберите Stage Mode (Режим сцены).
05Загрузите необходимую прошивку, если появится запрос.
06Держите Arduino подключенным во время работы в режиме Stage Mode.
Интерфейс показан в качестве иллюстрации. Названия блоков PictoBlox могут отличаться в зависимости от версии и расширения.
ПАЛИТРА БЛОКОВ
Найдите необходимые блоки PictoBlox
Ищите функцию, затем подберите наиболее подходящее название в вашей версии.
СОБЫТИЯ
when green flag clicked
УПРАВЛЕНИЕ
forever
if then
if then else
wait
ОПЕРАТОРЫ
< less than
= equals
ПЕРЕМЕННЫЕ
create someoneNear
set someoneNear to 0
ARDUINO / РАСШИРЕНИЕ
ultrasonic distance in cm
digital pin HIGH / LOW
play tone, if available
ПРОВЕРКА ВЕРСИИНазвания блоков могут отличаться. Не выдумывайте блоки: если блок тона недоступен, используйте совместимый резервный код Arduino или задокументированную поддерживаемую альтернативу.
ПЕРЕКЛЮЧАТЕЛЬ ПАМЯТИ
Создайте переменную someoneNear
Этот крошечный переключатель памяти делает оповещение «умным».
someoneNear0
READY FOR A NEW APPROACH
0Ни одно из текущих приближений не вызвало звукового сигнала. Новый посетитель может активировать зуммер.
1Этот подход уже подал сигнал. Оставьте светодиод включенным, но больше не шумите.
0→1→0приходит посетитель → посетитель остается → посетитель уходит
БЛОЧНАЯ ПРОГРАММА / ОСНОВНОЙ МЕТОД
Создайте программу в PictoBlox
Расположите визуальную логику в таком порядке. Это целевые функции; точные названия могут отличаться.
when green flag clicked
set someoneNear to 0
set digital pin 13 output to LOW
forever
read ultrasonic distance: TRIG 9 / ECHO 10
if distance < 50 then
set digital pin 13 output to HIGH
if someoneNear = 0 then
set someoneNear to 1
play tone on pin 8: 1000 Hz / 0.3 s
else
set digital pin 13 output to LOW
set someoneNear to 0
wait 0.1 seconds
МЕНЬШЕ 50 СМСветодиод горит.
ПЕРВОЕ ОБНАРУЖЕНИЕОдин короткий сигнал, затем someoneNear становится равным 1.
ОТДАЛЯЕТСЯСветодиод выключен; сброс в 0 для следующего приближения.
СОВЕТ ПО НАДЕЖНОСТИРассматривайте некорректное или отсутствующее показание как отсутствие обнаружения, если ваши блоки предусматривают такое условие.
ДУМАЙТЕ КАК ПРОГРАММИСТ
Разберитесь в логике программы
Следуйте по светящемуся пути: цикл никогда не прекращает проверку.
СТАРТ
↓
СЧИТАТЬ РАССТОЯНИЕ
↓
Расстояние меньше 50 см?
YES
ВКЛЮЧИТЬ СВЕТОДИОД
↓
Уже прозвучал сигнал?
NOОДИН СИГНАЛ
УСТАНОВИТЬ 1
YESМОЛЧАТЬ
NO
СВЕТОДИОД ВЫКЛ
УСТАНОВИТЬ 0
↻ ПОВТОРЯТЬ БЕСКОНЕЧНО
ТЕСТ МИССИИ
Загрузка и тестирование в PictoBlox
Анимация показывает ожидаемые результаты; она не считывает данные с реальной платы Arduino.
МОНИТОР СИМУЛЯЦИИ
> distance = 72 cmСВЕТОДИОД ВЫКЛ • БЕЗ ЗВУКА
> distance = 38 cmСВЕТОДИОД ВКЛ • ОДИН СИГНАЛ
> distance = 91 cmСВЕТОДИОД ВЫКЛ • СБРОС
01Подтвердите плату Arduino.
02Подтвердите COM-порт и прошивку.
03Проверьте подключения датчика и исполнительного механизма.
04Запустите программу PictoBlox.
05Протестируйте, поднеся руку или объект на разном расстоянии.
ОЖИДАЕМЫЕ РЕЗУЛЬТАТЫДальше 50 см: выключено и тихо. В пределах 50 см: светодиод включен и один звуковой сигнал. Удаление: выключено и снова готово.
РЕЗЕРВНЫЙ РАБОЧИЙ ПРОЦЕСС
Блоки отсутствуют? Не проблема.
Этот скетч на Arduino C++ является резервным вариантом для совместимого процесса программирования Arduino, а не для визуальных блоков PictoBlox.
arduino_backup.ino
СООТВЕТСТВИЕ ПИНОВTRIG 9, ECHO 10, LED 13, зуммер 8.
РАСЧЕТ РАССТОЯНИЯpulseIn считывает время эха; формула переводит его в сантиметры.
ПАМЯТЬsomeoneNear предотвращает повторные сигналы, пока объект находится рядом.
КАК ИСПОЛЬЗОВАТЬПереключитесь на совместимый рабочий процесс, например Arduino IDE, загрузите скетч, затем протестируйте.
ОТЛАДОЧНЫЙ ОТСЕК ИНЖЕНЕРА
Поиск и устранение неисправностей для инженеров
Найдите симптом, проверьте самую простую причину и протестируйте снова.
?
Отсутствует блок датчика
Подтвердите использование Arduino Uno и правильного расширения. Проверьте поддержку в вашей версии PictoBlox; при необходимости используйте резервный вариант.
?
Отсутствует блок зуммера
Проверьте блоки тона или актуатора. Цифровые значения HIGH/LOW не автоматически создают правильный тон.
!
Светодиод не горит
Проверьте полярность, резистор, D13 и GND.
!
Зуммер не пищит
Проверьте полярность, D8, GND и выбранный метод программирования.
↺
Показания расстояния недостоверны
Проверьте TRIG, ECHO, направление датчика, питание и надежность соединений.
↺
Программа не запускается
Проверьте выбор платы, COM-порт, USB-кабель и прошивку Stage Mode.
МИССИЯ ВЫПОЛНЕНА
Вы спроектировали его. Вы построили его. Вы его запрограммировали.
Теперь объясните, как ваш умный дом обнаруживает приближающегося посетителя.