Как да направите интелигентно кошче с помощта на Arduino?

Светът се движи бързо и технологиите също се движат с него в областта на електрониката. Всичко в тази модерна ера става умно. Защо не направим кошчетата умни? Често срещан проблем, който се наблюдава в нашата околност, е, че повечето от кошчетата са покрити отгоре. Хората се чувстват неудобно да докоснат капака и да го отворят, за да хвърлят обривите си в него. Можем да разрешим този проблем на някои хора, като автоматизираме капака на кошчето.



Интелигентен кош за боклук

Arduino и ултразвуков сензор заедно със серво мотора могат да бъдат интегрирани, за да направят интелигентно кошче за боклук. Ако кошчето открие някакъв боклук пред него, той автоматично ще отвори капака си и капакът ще бъде затворен след закъснение от няколко секунди.



Как да отворите и затворите автоматично капака на боклука с помощта на Arduino?

Сега, след като знаем резюмето на проекта, нека продължим напред и да започнем да събираме повече информация за компонентите, работата и електрическата схема, за да започнем незабавно да работим по проекта.



Стъпка 1: Събиране на компонентите

Ако искате да избегнете неудобства в средата на който и да е проект, най-добрият подход е да направите пълен списък на всички компоненти, които ще използваме. Втората стъпка, преди да започнете да правите веригата, е да преминете през кратко проучване на всички тези компоненти. Списък на всички компоненти, от които се нуждаем в този проект, е даден по-долу.



  • [Amazon Link = ”B07QTQ72GJ” title = ”Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” title = ”Ултразвуков сензор” /]
  • [Amazon Link = ”B07D3L25H3 ″ title =” Серво мотор ”/]
  • [Amazon Link = ”B07PPP185M” title = ”Breadboard” /]
  • [Amazon Link = ”B01D9ZM6LS” title = ”Джимпърни кабели за макет” /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =” 5V адаптер за захранване за Arduino ”/]

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

Сега, тъй като имаме пълен списък на всички компоненти, нека преминем една крачка напред и да преминем през кратко проучване на работата на всеки компонент.

Arduino Nano е удобна за макет борда на микроконтролер, която се използва за управление или изпълнение на различни задачи във верига. Изгаряме a C код на Arduino Nano, за да каже на борда на микроконтролера как и какви операции да се изпълняват. Arduino Nano има точно същата функционалност като Arduino Uno, но в доста малък размер. Микроконтролерът на платката Arduino Nano е ATmega328p. ако нямате Arduino Nano, можете също да използвате Arduino Uno или Arduino Maga.

Arduino Nano



Платката 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 от Arduino.
  2. Свържете вашата платка Arduino Nano към вашия лаптоп и отворете контролния панел. в контролния панел щракнете върху Хардуер и звук . Сега кликнете върху Устройства и принтери. Тук намерете порта, към който е свързана вашата платка за микроконтролер. В моя случай е така COM14 но при различните компютри е различно.

    Намиране на порт

  3. Щракнете върху менюто Инструмент. и настройте дъската на Arduino Nano от падащото меню.

    Съвет за настройка

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

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

  5. В същото меню на инструмента задайте процесора на ATmega328P (стар буутлоудър).

    Процесор

  6. За да напишем код за експлоатация на серво мотори, се нуждаем от специална библиотека, която ще ни помогне да напишем няколко функции за серво мотори. Тази библиотека е приложена заедно с кода в линка по-долу. За да включите библиотеката, щракнете върху Скица> Включване на библиотека> Добавяне на ZIP. Библиотека.

    Включете библиотека

  7. Изтеглете кода, приложен по-долу, и го поставете във вашия ID на Arduino. Щракнете върху качване бутон, за да запишете кода на дъската на вашия микроконтролер.

    Качване

За да изтеглите кода, Натисни тук.

Стъпка 6: Разбиране на кодекса

Кодът е доста добре коментиран, но все пак е обяснен накратко по-долу.

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

#include // Включва библиотека за серво мотор Серво серво; // Деклариране на обект за серво мотор int const trigPin = 2; // Свързване на pin2 на arduino с триъгълник на ултразвуков сензор int const echoPin = 3; // Свързване на pin3 на arduino с ехо на ултразвуков сензор int продължителност, разстояние; // Деклариране на променливи за съхраняване на разстоянието и вида на ултразвуковия сигнал

2. настройка за празнота () е функция, при която инициализираме щифтовете на платката Arduino, за да се използват като INPUT или OUTPUT. Задействащият щифт ще се използва като изход, а ехо-щифтът ще се използва като вход. Използвали сме обекта серво , за да свържете мотора към щифт 5 на Arduino nano. Pin5 може да се използва за изпращане на PWM сигнал. Скоростта на предаване също е зададена в тази функция. Скоростта на предаване е бита в секунда скорост, с която микроконтролерът комуникира с външните устройства.

void setup () {Serial.begin (9600); // задаване на скоростта на предаване на микроконтролера pinMode (trigPin, OUTPUT); // триг пин ще се използва като изход pinMode (echoPin, INPUT); // echo pin ще се използва като входен servo.attach (5); // Свържете сервомотора към pin5 на arduino}

3. цикъл void () е функция, която се изпълнява отново и отново в цикъл. В този цикъл ултразвукова вълна се изпраща в околната среда и се връща обратно. Изминатото разстояние се измерва, като се използва времето, необходимо на сигнала, за да напусне сензора и да се върне към него. Тогава условието се прилага към разстоянието съответно.

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

Сега, тъй като знаем всички стъпки, през които трябва да преминем, за да направим този невероятен проект, побързайте и се насладете да направите своето интелигентно кошче.