МБОУ "Сухо - Чемровская СОШ" Целинного района Алтайского края
  • "Робот - уборщик"

    Автор: Анисимов В.В.
    Творческая работа Добычина Никиты, учащегося 5-го класса МБОУ "Сухо - Чемровская сош" Целинного района на XV Региональную олимпиаду по робототехнике.
    "Робот - уборщик".

    Аннотация к работе:

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

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

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

                   Робота можно запрограммировать в различных режимах:

    а) автономном, когда он движется, обходя препятствия и собирая мусор;

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

    Перечень оборудования и материалов, используемых в работе:

    1. Микроконтроллер Arduino Uno.
    2. Модуль управления двигателями L298N.
    3. Ультразвуковой датчик HC – SR04.
    4. Макетная плата.
    5. Два больших ведущих колеса и одно малое рулевое.
    6. Два аккумулятора на 4,5 В и один на 9 В.
    7. Вентилятор.
    8. Пластиковые и металлические элементы.
    9. Соединительные провода.
    10. Кнопки для вкючения/выключения.

    Принципиальная схема робота:

    Программа, по которой работает робот:

    #define Trig 8
    #define Echo 9


    const int in21 = 4;    // L298N-2 pin 4
    const int in22 = 5;    // L298N-2 pin 5
    const int in23 = 6;    // L298N-2 pin 6
    const int in24 = 7;    // L298N-2 pin 7
    const int enA = 10;    // L298N-2 pin 10
    const int enB = 11;    // L298N-2 pin 11

    void setup() 
    {  
      pinMode(Trig, OUTPUT); // выход 
      pinMode(Echo, INPUT); // вход 

        
      pinMode(in21, OUTPUT);      // выход на L298n
      pinMode(in22, OUTPUT);      // выход на L298n
      pinMode(in23, OUTPUT);      // выход на L298n
      pinMode(in24, OUTPUT);      // выход на L298n


    unsigned int impulseTime=0; 
    unsigned int distance_sm=0; 

    void loop() 
    {  
      digitalWrite(Trig, HIGH); 
      delayMicroseconds(10); // 10 микросекунд 
      digitalWrite(Trig, LOW);
      impulseTime=pulseIn(Echo, HIGH); // замеряем длину импульса 
      distance_sm=impulseTime/58; // переводим в сантиметры 

      if (distance_sm>25) // если расстояние более 25 сантиметров 
      {     

          digitalWrite(in21, LOW);
          digitalWrite(in22, HIGH);
          analogWrite(enA, 60);

          analogWrite(enB, 60);
          digitalWrite(in23, HIGH);
          digitalWrite(in24, LOW);
      }  
      else 
      {   

          digitalWrite(in21, HIGH);
          digitalWrite(in22, LOW);

          analogWrite(enA, 100);

          analogWrite(enB, 100);
          
          digitalWrite(in23, HIGH);
          digitalWrite(in24, LOW); 
        delay(1100); // если застряет или не выезжает из угла  - измените время поворота. сейчас там стоит 1,1 с.

      }   

      delay(50); 
      
    }

    Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie», чтобы пользоваться сайтом было удобнее. Вы можете запретить обработку cookies в настройках браузера. Подробнее в Политике