Как сделать умную корзину с помощью Arduino?

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



Умная корзина

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



Как автоматически открывать и закрывать крышку мусорного бака с помощью Arduino?

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



Шаг 1: Сбор компонентов

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



  • [Amazon Link = ”B07QTQ72GJ” title = “Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” title = “Ультразвуковой датчик” /]
  • [Amazon Link = 'B07D3L25H3 ″ title =' Серводвигатель '/]
  • [Amazon Link = 'B07PPP185M' title = 'Макетная плата' /]
  • [Amazon Link = ”B01D9ZM6LS” title = “Провода перемычки макетной платы” /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =« Адаптер питания 5 В для Arduino »/]

Шаг 2: Изучение компонентов

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

Ардуино Нано представляет собой удобную для макетирования плату микроконтроллера, которая используется для управления или выполнения различных задач в схеме. Мы сжигаем Код C на Arduino Nano, чтобы сообщить плате микроконтроллера, как и какие операции выполнять. Arduino Nano имеет ту же функциональность, что и Arduino Uno, но при довольно небольшом размере. Микроконтроллер на плате Arduino Nano ATmega328p. если у вас нет Arduino Nano, вы также можете использовать Arduino Uno или Arduino Maga.

Ардуино Нано



Плата HC-SR04 - это ультразвуковой датчик, который используется для определения расстояния между двумя объектами. Он состоит из передатчика и приемника. Передатчик преобразует электрический сигнал в ультразвуковой сигнал, а приемник преобразует ультразвуковой сигнал обратно в электрический сигнал. Когда передатчик посылает ультразвуковую волну, она отражается после столкновения с определенным объектом. Расстояние рассчитывается с использованием времени, которое требуется ультразвуковому сигналу, чтобы пройти от передатчика и вернуться к приемнику.

Ультразвуковой датчик.

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

Серводвигатель

Шаг 3: понимание работы

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

Шаг 4: Сборка компонентов

  1. Прикрепите макет сбоку к корзине. Вставьте в него плату Arduino Nano.
  2. Прикрепите ультразвуковой датчик перед бункером. датчик должен быть направлен немного вверх с небольшим углом возвышения.
  3. Возьмите серводвигатель и закрепите в нем рычаг сервопривода. Прикрепите серводвигатель к стыку контейнера и крышки с помощью горячего клея.
  4. Теперь выполните все соединения через соединительные провода. Подключите Vin и землю двигателя и ультразвукового датчика к 5V и заземлению Arduino. Подключите триггерный штифт датчика к контакту 2, а контакт эхо-сигнала - к контакту 3 Arduino. Подключите вывод PWM серводвигателя к выводу 5 Arduino.
  5. Теперь, когда все соединения схемы выполнены, она должна выглядеть так:

    Принципиальная электрическая схема

Шаг 5: Начало работы с Arduino

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

  1. Загрузите последнюю версию Arduino IDE из Ардуино.
  2. Подключите плату Arduino Nano к ноутбуку и откройте панель управления. в панели управления нажмите на Оборудование и звук . Теперь нажмите на Устройства и принтеры. Здесь найдите порт, к которому подключена ваша плата микроконтроллера. В моем случае это COM14 но на разных компьютерах по-разному.

    Поиск порта

  3. Щелкните меню инструментов. и установите доску на Ардуино Нано из раскрывающегося меню.

    Доска настроек

  4. В том же меню инструментов установите порт на номер порта, который вы наблюдали ранее в Устройства и принтеры .

    Настройка порта

  5. В том же меню инструментов установите для процессора значение ATmega328P (старый загрузчик).

    Процессор

  6. Чтобы написать код для управления серводвигателями, нам нужна специальная библиотека, которая поможет нам написать несколько функций для серводвигателей. Эта библиотека прилагается вместе с кодом по ссылке ниже. Чтобы включить библиотеку, нажмите Эскиз> Включить библиотеку> Добавить ZIP. Библиотека.

    Включить библиотеку

  7. Загрузите приведенный ниже код и вставьте его в свою Arduino IDE. Нажми на загрузить кнопку, чтобы записать код на плату микроконтроллера.

    Загрузить

Чтобы скачать код, кликните сюда.

Шаг 6: понимание кода

Код довольно хорошо прокомментирован, но все же кратко объяснен ниже.

1. Вначале включена библиотека, чтобы мы могли использовать встроенные функции для управления серводвигателем. Два контакта платы Arduino Nano также инициализируются, чтобы их можно было использовать для триггера и вывода эхо-сигнала ультразвукового датчика. Также сделан объект, который можно использовать для установки значений для серводвигателей. Также объявлены две переменные, поэтому значение расстояния и времени ультразвукового сигнала можно сохранить и затем использовать в формуле.

#include // Включить библиотеку для серводвигателя Servo servo; // Объявление объекта для серводвигателя int const trigPin = 2; // Соединяем контакт 2 Arduino с триггером ультразвукового датчика int const echoPin = 3; // Соединяем вывод 3 Arduino с эхом ультразвукового датчика int duration, distance; // Объявить переменные для хранения расстояния и типа ультразвукового сигнала

2. установка void () это функция, в которой мы инициализируем контакты платы Arduino, которые будут использоваться как ВХОД или ВЫХОД. Триггерный вывод будет использоваться как выход, а вывод эха - как вход. Мы использовали объект сервопривод , чтобы подключить двигатель к контакту 5 Arduino nano. Контакт 5 может использоваться для отправки сигнала ШИМ. В этой функции также устанавливается скорость передачи данных. Скорость передачи - это скорость в битах в секунду, с которой микроконтроллер обменивается данными с внешними устройствами.

void setup () {Serial.begin (9600); // установка скорости передачи микроконтроллера pinMode (trigPin, OUTPUT); // вывод триггера будет использоваться как вывод pinMode (echoPin, INPUT); // вывод эха будет использоваться как input servo.attach (5); // Подключаем серводвигатель к выводу 5 Arduino}

3. пустой цикл () это функция, которая запускается снова и снова в цикле. В этой петле ультразвуковая волна отправляется в окружающую среду и принимается обратно. Пройденное расстояние измеряется с использованием времени, которое требуется сигналу, чтобы покинуть датчик и вернуться к нему. Затем условие применяется к расстоянию соответственно.

void loop () {digitalWrite (trigPin, HIGH); // отправка ультразвукового сигнала в окружающее delay (1); digitalWrite (trigPin, LOW); // Измерение входного импульса в длительности вывода эхо = pulseIn (echoPin, HIGH); // Расстояние равно половине длительности, разделенной на 29,1 (из таблицы) distance = (duration / 2) / 29.1; // если расстояние меньше 0,5 метра и больше 0 (0 или меньше означает превышение диапазона) if (distance = 0) {servo.write (50); задержка (3000); } else {servo.write (160); }}

Теперь, когда мы знаем все шаги, которые нужно пройти, чтобы сделать этот удивительный проект, поторопитесь и наслаждайтесь созданием своей умной мусорной корзины.