Делаем автоподелку

Схема алкотестера на Ардуино Уно своими руками

Для этого проекта нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • датчик паров спирта MQ-3;
  • LCD дисплей 1602;
  • провода «папа-мама», «папа-папа».


Схема сборки детектора алкоголя на Ардуино своими руками

Соберите схему, как на картинке выше. Порты SDA и SCL у дисплея Ардуино подключаются к пинам A4 и A5 на Arduino Uno. Датчик необходимо подключить к 5V и GND, а аналоговый выход к пину A1. При первом включении датчика возможны посторонние запахи от MQ3 при его нагреве — это нормально. После сборки алкотестера на Ардуино, загрузите следующую простую программу для устройства.

Скетч алкотестера на Ардуино Уно с дисплеем

#include <Wire.h>                             // библиотека для протокола I2C
#include <LiquidCrystal_I2C.h>       // библиотека для LCD 1602 
LiquidCrystal_I2C LCD(0x27,20,2);  // присваиваем имя дисплею

int mq3;

void setup() {
   pinMode(A1, INPUT);    // пин для подключения сенсора
   analogWrite(A1, LOW);

   Serial.begin(9600);        // запускаем монитор порта
   LCD.init();                        // инициализация дисплея
   LCD.backlight();              // включение подсветки
 }

void loop() {
   mq3 = analogRead(A1);   // считываем данные с порта A1

   Serial.print("Alcohol: ");
   Serial.println(mq3);          // выводим значение на монитор

   LCD.setCursor(0,0);          // ставим курсор на 1 символ первой строки
   LCD.print("Alcohol: ");
   LCD.print(mq3);                // выводим значение на дисплей

   delay(500);
   LCD.clear();  // очищаем экран дисплея
}

Пояснения к коду:

  1. схема подключения дисплея к Arduino Mega будет отличаться, так как на этом микроконтроллере есть отдельные пины SDA, SCL;
  2. на дисплее будут отображаться значения с MQ3, обработанные АЦП (Аналогово Цифровым Преобразователем) микроконтроллера.

Характеристики

Характеристики у обоих устройств KY-037 и KY-038 достаточно скромные, и отличающихся, как было сказано ранее, между собой только размером микрофона.

  • питание — 3,5–5В;
  • цифровой выход — есть, однобитный, работающий в режиме индикации наличия звука или тишины;
  • аналоговый — присутствует, с градацией получаемого сигнала в 1024 уровня;
  • вес — в среднем 12..13 грамм;
  • предел чувствительности — до 5 метров;

Принципиальная схема и выводы устройства:

Сразу хочется заметить, что названые детекторы, регистрируют только достаточно громкие звуки и не очень чувствительны к их переходным состояниям, к примеру, используемым в словах или фразах. То есть, сделать выключатель или активатор реагирующий на хлопок и свист гораздо проще, чем запрограммировать систему распознавания голосовых команд с применением KY-037 или KY-038. Некоторые идеи по осуществлению требуемой функциональности будут представлены далее.

Обратите внимание на «регулятор чувствительности» отмеченный на фото платы. С его помощью можно варьировать значение характеристики, улучшая «слух» детектора, в установленных пределах

Общий вид плоскошлифовального станка 3Б722

Личный опыт использования.

Мне встречались зуммеры различных конструкций и характеристик. Пищали они всегда очень стабильно, и не требуя практически никаких дорогостоящих усилителей звуковых частот. Многие разработчики их очень любят, но я выявил ряд сложностей при работе с ними:

1) Крайне противный звук при отработке. Конечно, если у вас частота работы данной части раз в несколько дней, то ещё ничего, но во время тестов пищать он будет постоянно, что неминуемо отразится на вашей восприимчивости и желании работать.

2) Достаточное энергопотребление для носимой электроники. Ставить в то, что вы будете носить с собой такую штуку определённо не стоит.

3) Достаточная инерционность. В своё время я потратил кучу времени, чтобы сделать на основе дешёвого зуммера midi-клавиатуру. После всех моих стараний, хорошей звукопередачи не получилось, но музыку из старой SEGA восстановить получилось, чему мой заказчик был крайне рад.

Тимеркаев Борис — 68-летний доктор физико-математических наук, профессор из России. Он является заведующим кафедрой общей физики в Казанском национальном исследовательском техническом университете имени А. Н. ТУПОЛЕВА — КАИ

Доброго времени суток уважаемые читатели данной статьи. Сегодня хочу поделиться с вами простой схемкой зуммера. Для начало немного теории. В связи с последними ужесточением закона ППД на территории Казахстана нужно ездить с включенным ближним светом, дед часто забывал его включать. Решил сделать для него простую напоминалку. Купленный в магазине зуммер имеет раздражительный постоянный писк. Решено было сделать периодическое пищание. Вообще довольно часто нужно заставить мигать электрическую лампочку или собрать звуковую пищалку, но вот только навыки сборки транзисторных схем такого рода есть не у всех, и частенько детали для них не бывает под рукой. Предлагаю вам на обозрение простейшую схему такого устройства, часто называемого прерывателем, на основе электромагнитного реле.

Простые схемы использования

Чтобы продемонстрировать работу датчиков звука с Arduino можно собрать простую схему:

Резистор используемый в ней, берется номиналом в 220 Ом. Основная функциональность выражается в зажигании светодиода при обнаружении громких звуков и гашения его в случае тишины. Скетч:
Изменяя время задержки, между включением и гашением светодиода, а также пробным путем выведя значения «тишины» SilenceMax и SilenceMin, можно добиться работы приведенной схемы в роли детектора движения по звуку. Конечно, качество определения у него будет низкое, но вполне позволяющее применять конструкцию в цепях управления освещением темных мест. Достаточно добавить фоторезистор для определения текущего уровня видимости, в роли которого можно использовать специальную плату Arduino или обычный радиоэлектронный компонент, подключаемый через делитель.

Как видно по схеме, в ней используются два резистора – R1 на 10 кОм и R2 220 Ом. Светодиод LED в финальном варианте можно заменить на релейную группу, для подачи питания на «взрослые» лампы 220В. Скетч, управляющий всем перечисленным хозяйством:

Задержка подбирается экспериментально, в зависимости от конкретной чувствительности KY-037 или KY-038, а также их настроек, производимых регулятором на плате устройства.

Зуммер

В данной статье расскажем что такое зуммер, его области применения, и как его подключать.

Бузер, Зуммер, Пьезоэлектрический излучатель, Пищалка или как нибудь ещё? — существует большое количество названий этой маленькой пищащей заразы, которая говорит о том, что случилось что-то не очень хорошее. Как часто я просто ненавидел этот звуковой зуммер с противным писком.

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

Зуммер – устройство позволяющее генерировать звук определённой частоты. Обычно диапазон частот находиться в диапазоне от 1 – 10 кгц и если вам попался звуковой зуммер, то идёт характерный звук: «пиииииип».

Он является самым простым способом сделать писк, который хорошо и далеко слышно. Последнее зуммер делает особенно хорошо, так как стандартные зуммеры создают звуковые волны, с коэффициентом затухания 85-90дб на 30 см. В результате маленького зуммера хватает на небольшой ангар.

Мне лично попал вот такой экземпляр (модель sl1i-12fsp):

С ним я и проводил все свои пробы зуммеров. Оказалось, что его хорошо слышно даже в толпе орущих детей, так как сигнал содержит высокую частоту, которой мало в человеческом голосе. Это позволяет практически всегда сказать, работает он или нет. В случае, если у вас нет толпы детей, а есть работающий вентилятор/двигатель/что-то похожее, то не сомневайтесь, слышно его будет очень хорошо.

Подключение Зуммера

Подключение к схеме проводиться как у батарейки или диода. На устройстве есть обозначения «+» и «-». Подключаем их к питающему напряжению от 3 до 20 вольт, и радуемся получаемому звуку.

У зуммера есть небольшая инерционность, и после отключения питания он ещё некоторое время будет звучать.

Поэтому на нём моделировать звук не получиться, а вот как тревожная сигнализация получиться что надо.

Но при этом надо учитывать то, что есть зумеры с встроенным генератором. Они пищат прерывисто, с определённой частотой. Это позволяет используя разные зумеры, которые говорят о разных событиях.

Стоят они дороже, но если вы собираете что-то без микроконтроллера, то это отличный финт ушами.

Области применения Зуммера

  • Я предлагаю применить данную схему в следующих направлениях:
  • 1)охранные системы
  • 2)датчики, сигнализирующие о воздействиях любого рода.
  • 3)бытовая техника (например в микроволновках, где сигнал о окончании работы подаётся именно зуммером).
  • 4)игрушках.
  • 5)в любых устройствах, где требуется звуковое оповещение.

Личный опыт использования

Мне встречались зуммеры различных конструкций и характеристик. Пищали они всегда очень стабильно, и не требуя практически никаких дорогостоящих усилителей звуковых частот. Многие разработчики их очень любят, но я выявил ряд сложностей при работе с ними:

1) Крайне противный звук при отработке. Конечно, если у вас частота работы данной части раз в несколько дней, то ещё ничего, но во время тестов пищать он будет постоянно, что неминуемо отразится на вашей восприимчивости и желании работать.

2) Достаточное энергопотребление для носимой электроники. Ставить в то, что вы будете носить с собой такую штуку определённо не стоит.

Датчик паров спирта MQ-3 Ардуино


Сенсор паров спирта MQ-3 Ардуино

Сенсор MQ-3 — недорогой полупроводниковый прибор для измерения наличия паров спирта в воздухе при концентрации от 0,05 мг/л до 10 мг/л. Алкотестер на основе чувствительного элемента SnO2 использует химическую реакцию для определения уровня алкоголя. У этого сенсора в чистом низкая воздухе электропроводность, которая повышается линейно при росте концентрации паров алкоголя.

MQ-3 обладает высокой чувствительностью и защищен от помех, например, дыма и паров углеводородных газов. Аналоговый датчик имеет 4 вывода: питание VCC и земля Gnd, а также цифровой и аналоговый вывод. Для точных измерений необходимо достичь рабочей температуры при помощи встроенного нагревателя (около 40 градусов), подержав MQ-3 Arduino во включенном состоянии в течение 10 минут.

Как подключить датчик движения к Ардуино

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • PIR датчик движения HC-SR501;
  • беспаечная макетная плата;
  • 1 светодиод и резистор 220 Ом;
  • провода «папа-папа», «папа-мама».

Схема подключения PIR датчика к Ардуино Уно

Распиновка датчиков движения Ардуино у разных производителей может отличаться, но рядом с контактами есть надписи (см. фото выше). Поэтому, перед подключением внимательно изучите модуль. Один выход идет к GND, второй к питанию 5 Вольт (VCC), а третий выход (OUT) выдает цифровой сигнал с PIR сенсора. Соберите схему, как на фото выше, подключите светодиод к пину 12 на Ардуино и загрузите следующий скетч.

Скетч для датчика движения Ардуино

#define PIR 2
#define LED 12

void setup() {
  pinMode(PIR, INPUT);
  pinMode(LED,OUTPUT);
}

void loop() {
   int pirVal = digitalRead(PIR);

   if (pirVal == HIGH) {
      digitalWrite(LED, HIGH);
      delay(2000);
   }

   else {
      digitalWrite(LED,LOW);
      delay(2000);
   }

}

Пояснения к коду:

  1. с помощью директивы для портов 2 и 12 мы назначили соответствующие имена PIR и LED. Это сделано лишь для нашего удобства;
  2. в условном операторе if использовано двойное равенство: . Согласно языку программирования Ардуино, двойное равенство является оператором сравнения.

Скетч для светильника с PIR датчиком движения

#define LED  3 // назначаем порт для светодиода
#define PIR  2 // назначаем порт для PIR sensor

unsigned long counttime; // выделение памяти для счетчика

void setup() {
   pinMode(LED, OUTPUT);
   pinMode(PIR, INPUT);
}

void loop() {
   // если есть движение включаем светодиод
   if (digitalRead(PIR) == HIGH) {
      digitalWrite(LED, HIGH);
   }

   // включаем счетчик на 1 минуту
   counttime = millis();

   // если нет движения и прошла 1 минута
   if (digitalRead(PIR) == LOW && millis() - counttime > 60000) {

   // если нет движения в течении 1 минуты выключаем светодиод
   digitalWrite(LED, LOW);
   }
}

Пояснения к коду:

  1. с помощью функции мы начинаем отсчет времени. При этом, в отличие от функции , которая полностью прерывает программу, микроконтроллер может продолжать остальные вычисления в скетче.
  2. мы изменили время выключения светильника. Если в первом скетче светодиод выключался сразу после сигнала LOW с датчика. То сейчас мы даем 1 минуту до выключения светильника, на случай если человек не вышел из комнаты.

Исправление проблем

Если датчик звука работает неправильно, попробуйте выполнить следующие действия.

  1. Дважды проверьте, что источник питания обеспечивает чистое напряжение питания. Поскольку звуковой датчик – это аналоговая схема, он более чувствителен к шуму, создаваемому блоком питания.
  2. Электретный микрофон в звуковом датчике также чувствителен к механическим вибрациям и шуму ветра. Установка с помощью эластичных/упругих материалов может помочь поглотить вибрацию.
  3. Диапазон чувствительности этого звукового датчика очень мал, возможно, всего 10 дюймов (примерно 25 см), поэтому, чтобы получить хорошую реакцию, вам нужно создавать шум намного ближе.

Переключение режимов с помощью кнопки

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

Факт нажатия мы определяем с помощью функции digitalRead(). В результате мы получим HIGH (1, TRUE) или LOW(0, FALSE), в зависимости от того, как подключили кнопку. Если мы подключаем кнопку с помощью внутреннего подтягивающего резистора, то нажатие кнопки приведет к появлению на входе уровня 0 (FALSE).

Для хранения информации о нажатии на кнопку можно использовать переменную типа boolean:

boolean keyPressed = digitalRead(PIN_BUTTON)==LOW;

Почему мы используем такую конструкцию, а не сделали так:

boolean keyPressed = digitalRead(PIN_BUTTON);

Все дело в том, что digitalRead() может вернуть HIGH, но оно не будет означать нажатие кнопки. В случае использования схемы с подтягивающим резистором HIGH будет означать, что кнопка, наоборот, не нажата. В первом варианте (digitalRead(PIN_BUTTON)==LOW ) мы сразу сравнили вход с нужным нам значением и определили, что кнопка нажата, хотя и на входе сейчас низкий уровень сигнала. И сохранили в переменную статус кнопки. Старайтесь явно указывать все выполняемые вами логические операции, чтобы делать свой код более прозрачным и избежать лишних глупых ошибок.

Как переключать режимы работы после нажатия кнопки?

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

Логика работы программы очень проста:

  • Запоминаем факт нажатия в служебной переменной.
  • Ожидаем, пока не пройдут явления, связанные с дребезгом.
  • Ожидаем факта отпускания кнопки.
  • Запоминаем факт отпускания и устанавливаем в отдельной переменной признак того, что кнопка была полноценно нажата.
  • Очищаем служебную переменную.

Как определить нажатие нескольких кнопок?

Нужно просто запомнить состояние каждой из кнопок в соответствующей переменной или в массиве ардуино. Здесь главное понимать, что каждая новая кнопка – это занятый пин. Поэтому если количество кнопок у вас будет большим, то возможно возникновение дефицита свободных контактов. Альтернативным вариантом является использование подключения кнопок на один аналоговый пин по схеме с резистивным делителем. Об этом мы поговорим в следующих статьях.

Предназначение звукового повторителя поворотов

В машинах, как правило, стали устанавливать переключатели поворотников, которые после завершения маневра автоматически возвращаются в нейтральное положение. Это имеет свои преимущества: нет необходимости отвлекаться на выключение поворотников, когда поворот завершен, не нужно тратить время на проверку, отключен ли сигнал. Со временем автовозврат переключателя может отказать (автор видео — Александр Баранов).

звуковой повторитель поворотов, калина 2 компл. норма. (41-012)звуковой повторитель поворотов, калина 2 компл. норма. (41-012)

В некоторых автомобилях переключатель не возвращается автоматически в исходное положение. В этом случае необходимо самостоятельно следить за его отключением после завершения поворота. При раздаются щелчки, но порой из-за громко включенной музыки или шума их не слышно.

Если вовремя не выключить поворотники, это может стать причиной аварийной ситуации на дороге, так как путает других участников дорожного движения.

Смотрите видео, как включить светодиод через кнопку в Arduino UNO

Включение светодиода через кнопку в Arduino UNOВключение светодиода через кнопку в Arduino UNO

В следующих статьях мы вернёмся снова к этой схеме, сделаем так чтобы при нажатии на кнопку светодиод продолжал гореть, а при повторном нажатии выключался.

Новые статьи

  • Управление погружным насосом на Arduino — 18/06/2019 17:07
  • Arduino и датчик ультразвука. Определение расстояния до объекта. — 12/04/2019 14:52
  • Arduino в роли вольтметра. Вывод напряжения на LCD дисплей — 10/04/2019 15:32
  • Подключаем терморезистор к arduino, получим температуру в градусах по Цельсию и по Фаренгейту — 23/02/2019 20:51
  • Как подключить дисплей LCD1602 к Arduino — 23/02/2019 19:35
  • Как подключить сервомотор к Arduino — 23/02/2019 19:12
  • Подключение RGB светодиода к Arduino — 12/01/2019 15:25
  • Фоторезистор и светодиоды на Arduino — 12/01/2019 11:38
  • Играем ноты на пищалке с Arduino — 12/01/2019 10:34
  • Вынос мозга!!! АЦКИЙ BUZZER — омерзительная пищалка на Arduino Uno — 12/01/2019 09:55
  • Новогодняя мини гирлянда в Arduino UNO. Как сделать мини гирлянду в Arduino UNO на светодиодах. — 12/01/2019 08:40
  • Скетч — выключатель, светодиод и кнопка в Arduino UNO — 12/01/2019 08:15

Предыдущие статьи

  • Управление светодиодом в Arduino UNO — 14/12/2018 18:24
  • Установка среды разработки для Arduino UNO и пример программы — 14/12/2018 17:49

Arduino define описание директивы

Константы, которые определены через директиву #define, не занимают места в памяти микроконтроллера, так как Arduino IDE подставит значения вместо имен при компиляции скетча. Работу директивы можно сравнить с операцией НАЙТИ и ЗАМЕНИТЬ в текстовом редакторе. При компиляции скетча Arduino IDE находит в программе часть кода <что меняем> и заменяет ее на кусок кода <на что меняем>.

Синтаксис директивы:

#define <что меняем> <на что меняем>

При использовании директивы дефайн следует избегать использования имени другой переменной, константы или команды Ардуино, иначе оно оно будет заменено при компиляции

И обратите внимание, что в строчке не ставится точка с запятой и знак равенства, как это происходит при объявлении переменной, иначе компилятор выдаст ошибку. Рассмотрим использование #define на примере с подробным описанием

Пример директивы: Arduino define pin

#define RED 11  // присваиваем имя RED для пина 11
#define GRN 12 // присваиваем имя GRN для пина 12
#define BLU 13  // присваиваем имя BLU для пина 13
 
void setup() {
   pinMode(RED, OUTPUT);  // используем Pin11 для вывода
   pinMode(GRN, OUTPUT); // используем Pin12 для вывода
   pinMode(BLU, OUTPUT);  // используем Pin13 для вывода
}

Это часть кода, от примера с мигающим трехцветным светодиодом. В данном примере мы присвоили имена для пинов 11, 12 и 13, к которым подключен светодиод. При написании кода нам удобнее использовать имена вместо номеров, чтобы каждый раз не вспоминать какой цвет к какому пину подключен. А программа автоматически будет заменять имена RED, GRN, BLU на соответствующие значения при компиляции.

Команды #ifdef, #ifndef и #endif в скетче

Инструкция #ifdef Arduino IDE проверят, было ли встречено в программе данное определение ранее, если было, то ставится блок кода с последующей строки и до #endif. В примере проверяется был ли ранее в #define определен признак отладки, если да, то код (вывод сообщения на монитор порта Arduino IDE) будет выполнен, если признак не определен, то сообщение на мониторе выводиться не будет.

#ifdef OTLADKA
   Serial.println ("Message");
#endif

Инструкции #ifndef проверят, было ли встречено в программе данное определение ранее и, если не было, то ставится блок кода с последующей строки и до #endif. В следующем простом примере мы объявляем новую константу, если только не объявляли ее в скетче ранее. Если дефайн с таким именем уже использовался, то программа проигнорирует строчки внутри конструкции #ifndef … #endif.

#ifndef RED
   #define RED 11
#endif

Замена функций с помощью define Arduino

Кроме использования дефайн в программе для объявления констант, можно заменять целые фрагменты кода с помощью директивы #define. Это более сложный, но интересный вариант использования define, который позволяет создать много разных упрощающих инструкций в скетче. Например, мы можем в первом примере заменить функцию pinMode() на конструкцию с дефайн с заданными параметрами.


#define out(pin) pinMode(pin, OUTPUT) // обратите внимание, что точка-запятая не ставится

void setup() {
out(11);
out(12);
out(13);
}

В примере мы закодировали команду pinMode() одним словом «out». Теперь, где в скетче встретится слово «out», компилятор подставит строку pinMode(pin, OUTPUT) с заданным параметром pin. Таким же образом можно заменить команды digitalWrite() и delay(). Используя RGB светодиод или три обычных светодиода с Ардуино вы можете проверить работу следующего примера скетча с директивой дефайн.

#define out(pin) pinMode(pin, OUTPUT)
#define on(pin, del) digitalWrite(pin, HIGH); delay(del)
#define off(pin, del) digitalWrite(pin, LOW); delay(del)
 
void setup() {
   out(11);
   out(12);
   out(13);
}

void loop() {
   on(11, 500);
   off(11, 500);
   on(12, 500);
   off(12, 500);
   on(13, 500);
   off(13, 500);
}

Обратите внимание, что on(11, 500) и другие строчки не являются функциями, конструкция просто подставляет в код нужный текст. В более сложных программах есть риск создать самому ошибки, так как в скетче могут быть десятки подключаемых библиотек, где дефайн может что-то незаметно поменять

При этом будут возникать ошибки компиляции или ошибки во время исполнения программы.

Обратите внимание

  • В данной схеме мы используем резистор нового номинала, посмотрите , чтобы найти резистор на 10 кОм или воспользуйтесь мультиметром
  • Полярность фоторезистора, как и обычного резистора, не играет роли. Его можно устанавливать любой стороной
  • В данном упражнении мы собираем простой вариант схемы включения пьезодинамика

  • Полярность пьезопищалки роли не играет: вы можете подключать любую из ее ножек к земле, любую к порту микроконтроллера
  • На Arduino Uno использование функции мешает использованию ШИМ на 3-м и 11-м портах. Зато можно подключить ее к одному из них
  • Вспомните как устроен делитель напряжения: фоторезистор помещается в позицию R2 — между аналоговым входом и землей. Так мы получаем резистивный фотосенсор.

Заголовочный файл pitches.h

Теперь мы знаем как генерировать звуки с помощью функции tone(). Но как узнать какой вид тона будет генерироваться на каждой частоте? Для этой цели в Arduino есть специальная таблица нот, которая приравнивает каждую частоту к определенному типу музыкальной ноты. Эта таблица нот первоначально была написана Бреттом Хангманом (Brett Hagman), на чьих трудах и была основана работа функции tone(). Мы будем использовать эту таблицу нот чтобы проигрывать наши мелодии.

Приведенный участок кода записан в заголовочном файле pitches.h в форме zip файла. Вы должны скачать его и включить его в свой код программы как сделано в конце данной статьи. Либо этот код вы можете взять непосредственно из скачанного zip файла.

Скетч

Последняя часть проекта — загрузка кода ультразвукового датчика в Arduino. Подключите Arduino к настольному компьютеру или ноутбуку с помощью USB-кабеля. В Arduino IDE, введите код, представленный ниже. Вы также можете загрузить код на жесткий диск вашего настольного компьютера или ноутбука. В IDE, вы можете загрузить код, нажав на горизонтальную стрелку.

Этот эскиз считывает ультразвуковой дальномер PING))) и возвращает расстояние до ближайшего объекта, находящегося в радиусе действия. Для этого он посылает импульс на датчик, чтобы инициировать считывание, а затем прослушивает, чтобы импульс вернулся. Длина возвращаемого импульса пропорциональна расстоянию до объекта от датчика.

Схема:

  • +V подключение PING))) подключено к +5V
  • GND-соединение PING))) подключено к заземлению.
  • SIG-соединение PING))) подключено к цифровому контакту 7

Код проекта:

В IDE сразу видно изменение данных о расстоянии. На рисунке показаны данные примера сессии измерения расстояния.

Поместите небольшую линейку между ультразвуковым датчиком и объектом, от которого вы измеряете расстояние. Насколько точны ваши показания по сравнению с фактическим измеренным расстоянием?

Измерения должны быть очень близки к идентичным, что означает, что вы успешно создали электронную рулетку. С помощью электронной рулетки вы можете замерять расстояние до различных объектов.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий