Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Это руководство проведет учащегося через создание датчика парковки с помощью Arduino. В частности, у меня будет ультразвуковой датчик, который постоянно опрашивает расстояние, а также небольшой код, который измеряет это расстояние и пропускает его через некоторые циклы if else, чтобы определить, какие звуки воспроизводятся на каком расстоянии.
Эта задача охватывает стандарты 17 и 18 в части информационных технологий и транспортных технологий.
К концу этого задания студенты должны иметь базовые знания схемотехники и программирования.
Шаг 1. Необходимые детали
Начиная с Arduino, ультразвукового датчика дальности и пассивного зуммера, вы можете создать датчик парковки для своего брата. Набор arudino, который я использую для этого инструктажа, на Amazon стоит 30 долларов.
Шаг 2: все соединяем
После сбора материалов их следует соединить, как показано на рисунке. Для удобства разные полосы трассы имеют цветовую маркировку. Красный цвет обозначает провод под напряжением, а коричневый - землю. Синий и желтый провода представляют собой два цифровых контакта, к которым должен быть подключен ультразвуковой датчик. А зеленый - это цифровой вывод, к которому должен быть подключен пассивный зуммер.
От них не требуется, чтобы они имели форму, показанную на чертеже, поскольку компоненты должны быть размещены таким образом, чтобы зуммер мог слышать водитель, а ультразвуковой датчик должен быть подключен к задней части автомобиля.
Шаг 3: Код
Идея этого кода состоит в том, чтобы использовать библиотеку, предоставленную Elegoo, когда вы покупаете у них комплект arduino. В частности, SR04 библиотеки, который предназначен для ультразвукового датчика, и питчей библиотеки, которая представляет собой библиотеку нот, которые можно воспроизводить на ваших зуммера. Вы можете изменить, какие контакты вы используете для соединения частей, изменив триггерные и эхо-контакты для SR04 и изменив первое число в функции тона в вашем коде, вы можете изменить, к какому контакту подключен ваш зуммер. Пины, которые я установил в настоящее время, являются выводами по умолчанию, установленными Elegoo.
#include "SR04.h" #define TRIG_PIN 12
# определить ECHO_PIN 11 SR04 sr04 = SR04 (ECHO_PIN, TRIG_PIN);
int a;
#include "pitches.h"
int melody = {NOTE_C5, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_G5, NOTE_A5, NOTE_B5, NOTE_C6};
int duration = 500;
void setup () {Serial.begin (9600); задержка (1000); }
void loop () {a = sr04. Distance (); Serial.println (а); задержка (500);
if (sr04. Distance () <50) {тон (8, мелодия [7], 250); задержка (250); } еще
if (sr04. Distance () <100) {тон (8, мелодия [3], 500); задержка (500); } еще
если (sr04. Distance () <150) {тон (8, мелодия [0], 500); задержка (500); }еще
если (sr04. Distance ()> 150) {задержка (500); }}
Шаг 4. Измените код в соответствии с вашими целями
При необходимости вам может потребоваться изменить код для ваших целей. Потому что приведенный код предназначен для того, чтобы пользователь мог получать через монитор последовательного порта множество отзывов о том, что он делает. Когда он отключен от компьютера, он может выйти из строя и перестать правильно работать. в таком случае вам нужно будет изменить код таким образом, чтобы он не полагался на работу последовательного монитора. В этом случае я прекратил печать монитора последовательного порта из переменной и вместо этого распечатал его напрямую. Это может привести к снижению точности последовательного монитора, так как расстояние между считыванием и звуковым сигналом может немного измениться, однако это устраняет необходимость в цикле.
# включить "SR04.h" # определить TRIG_PIN 12 # определить ECHO_PIN 11 SR04 sr04 = SR04 (ECHO_PIN, TRIG_PIN);
int a;
#include "pitches.h"
int melody = {NOTE_C5, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_G5, NOTE_A5, NOTE_B5, NOTE_C6};
int duration = 500;
void setup () {Serial.begin (9600); задержка (1000); }
void loop () {Serial.println (sr04. Distance ());
if (sr04. Distance () <50) {тон (8, мелодия [7], 250); задержка (250); } еще
if (sr04. Distance () <100) {тон (8, мелодия [3], 500); задержка (500); } еще
если (sr04. Distance () <150) {тон (8, мелодия [0], 500); задержка (500); }еще
если (sr04. Distance ()> 150) {задержка (500); }}
Шаг 5. Найдите вариант использования
Будьте изобретательны в своем творении. Вы можете использовать это устройство не только с автомобилем. Вы можете использовать его как датчик приближения к своей спальне или как инструмент для Хэллоуина. Как только вы освоите кодирование и подключение, вы сможете расширить это устройство. Если вы хотите, вы можете добавить к Arduino ЖК-дисплей, который отображает показания расстояния в реальном времени. Как только вы освоите его, использование arduino станет забавным и простым способом освоить процесс сборки и кодирования с его помощью.