Как да направя робот за почистване на пода, използвайки ултразвуков сензор?

Автоматичният робот за почистване на пода не е нова концепция. Но тези роботи имат основен проблем. Много са скъпи. Ами ако можем да направим евтин робот за почистване на пода, който да е толкова ефективен, колкото робота, който се предлага на пазара. Този робот ще използва ултразвуков сензор и ще избягва всякакви препятствия по пътя си. По този начин ще почисти цялата стая.



(Тази снимка е взета от Circuit Digest)

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

Както вече знаем резюмето на нашия проект. Нека съберем още малко информация, за да започнем да работим.



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

Най-добрият подход за стартиране на всеки проект е да се направи списък с пълни компоненти в началото и да се премине през кратко проучване на всеки компонент. Това ни помага да избегнем неудобствата в средата на проекта. Пълен списък на всички компоненти, използвани в този проект, е даден по-долу.



  • Шаси за автомобилни колела
  • Батерия
  • Покажи четка

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

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



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

Arduino Nano

L298N е интегрална схема с висок ток и високо напрежение. Това е двоен пълен мост, проектиран да приема стандартна TTL логика. Той има два активиращи входа, които позволяват на устройството да работи независимо. Два двигателя могат да бъдат свързани и експлоатирани едновременно. Скоростта на двигателите се променя чрез ШИМ щифтовете.



L298N Двигател на двигателя

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

Ултразвуков сензор

Стъпка 3: Сглобяване на компонентите

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

Вземете шаси на автомобилно колело и монтирайте четка за показване пред шаситата. Монтирайте Scotch Brite под робота. Уверете се, че е точно зад четката за обувки. Сега прикрепете малка макетна плоча в горната част на шаситата и зад нея, прикрепете драйвера на двигателя. Направете правилни връзки на двигателите към драйвера на двигателя и внимателно свържете щифтовете f на драйвера на двигателя към Arduino. Монтирайте батерия зад шасито. Батерията ще задейства драйвера на двигателя, който ще задвижва двигателите. Arduino ще поеме захранването и от моторния драйвер. Vcc щифт и земята на ултразвуковия сензор ще бъдат свързани към 5V и земя на Arduino.

Електрическа схема

Стъпка 4: Първи стъпки с Arduino

Ако все още не сте запознати с Arduino IDE, не се притеснявайте, защото по-долу е обяснена поетапна процедура за настройка и използване на Arduino IDE с микроконтролер.

  1. Изтеглете най-новата версия на Arduino IDE от Arduino.
  2. Свържете вашата платка Arduino Nano към вашия лаптоп и отворете контролния панел. в контролния панел щракнете върху Хардуер и звук . Сега кликнете върху Устройства и принтери. Тук намерете порта, към който е свързана вашата платка за микроконтролер. В моя случай е така COM14 но при различните компютри е различно.

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

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

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

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

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

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

    Процесор

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

    Качване

Щракнете тук за да изтеглите кода.

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

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

1. В началото всички пинове на Arduino, които ще използваме, се инициализират.

int enable1pin = 8; // щифтове за първи мотор int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // щифтове за втори двигател int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // щифтове за ултразвуков сензор const int echoPin = 10; const int buzzPin = 6; голяма продължителност; // Променливи за плаващо разстояние на ултразвуков сензор;

2. настройка за празнота () е функция, при която задаваме всички щифтове да се използват като INPUT или OUTPUT. Скорост на предаване също е зададена в тази функция. Скорост на предаване е скоростта, с която платката на микроконтролера комуникира с прикрепените сензори.

void setup () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (мотор1pin1, ИЗХОД); pinMode (мотор1pin2, ИЗХОД); pinMode (motor2pin1, OUTPUT); pinMode (motor2pin2, OUTPUT); }

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

void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); продължителност = pulseIn (echoPin, HIGH); разстояние = 0,034 * (продължителност / 2); if (разстояние> 50) // Придвижване напред, ако не е намерено препятствие {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } else if (разстояние<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

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