Курт Lestrat Amadeus

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Курт Lestrat Amadeus » ☠☽☠☾☠☽☠& » firefox


firefox

Сообщений 1 страница 8 из 8

1

Несколько приложений в ответах

+1

2

СХЕМЫ НА ARDUINO
Объезжающий препятствия робот на ArduinoОбъезжающий препятствия робот является “умным” устройством, способным автоматически обнаруживать препятствия впереди себя и избегать столкновения с ними, поворачиваясь в противоположное направление от них. Это свойство позволяет роботу работать в незнакомой обстановке и является одним из ключевых требований при создании автономных роботов. Подобные работы находят широкое применение в вооруженных силах и чрезвычайных ситуациях, а также во многих других случаях, где желательно не подвергать опасности жизнь и здоровье людей.сВ этой статье мы рассмотрим создание робота на основе платы Arduino и ультразвукового датчика, способного объезжать препятствия. Ультразвуковой датчик используется для обнаружения препятствий на пути робота и расчета расстояния до них. При расстоянии до препятствия, меньшего заданной границы, робот изменяет направление и продолжает движение.

+1

3

Необходимые компоненты
Плата Arduino Uno (купить на AliExpress) или Nano (купить на AliExpress).
Ультразвуковой датчик HC-SR04 (купить на AliExpress).
Модуль драйвера двигателя LM298N (купить на AliExpress).
Электродвигатели постоянного тока, работающие от напряжения 5V.
Литий-ионная батарея 7.4V (купить на AliExpress).
Колеса.
Шасси робота.
Соединительные провода.

0

4

Принцип работы ультразвукового датчика HC-SR04
Ультразвуковой датчик HC-SR04 используется для измерения расстояний в диапазоне 2-400 см с точностью 3 мм. Датчик состоит из ультразвукового передатчика, ультразвукового приемника и схемы управления.

Ультразвуковой датчик HC-SR04 обеспечивает на своем выходе сигнал, пропорциональный дистанции до препятствия. Датчик генерирует звуковые колебания в ультразвуковом диапазоне (после получения управляющего импульса) и после этого ждет когда они вернутся к нему (эхо), отразившись от какого-нибудь препятствия. Затем, основываясь на скорости звука (340 м/с) и времени, необходимом для того чтобы эхо достигло источника (нашего датчика), датчик обеспечивает на своем выходе сигнал, пропорциональный расстоянию до препятствия.сначала нам нужно инициировать датчик для измерения расстояний, для этого на его триггерный контакт (trigger pin) необходимо подать логический сигнал высокого уровня длительностью не менее 10 мкс, после этого датчик генерирует серию звуковых колебаний и после получения отраженного сигнала (эхо) датчик обеспечивает на своем выходе сигнал, пропорциональный расстоянию между ним и препятствием.

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

Distance= (Time x Speed of Sound in Air (343 m/s))/2

http://imtranslator.net/translator.asp
переводчик
http://imtranslator.net/translation/

0

5

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

0

6

http://forumstatic.ru/files/000a/ed/d3/91671.png

0

7

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

Первым делом в программе необходимо инициализировать контакты, через которые происходит взаимодействие с ультразвуковым датчиком: trig pin датчика подключен к контакту 9 платы Arduino, а echo pin — к контакту 10 платы Arduino.

Arduino
int trigPin = 9;      // trig pin of HC-SR04
int echoPin = 10;     // Echo pin of HC-SR04
Далее инициализируем контакты для взаимодействия с модулем драйвера двигателей LM298N – 4 контакта.
Объяснение программы для Arduino
Полный код программы приведен в конце статьи, здесь же мы рассмотрим его основные фрагменты. В программе нам необходимо взаимодействовать с датчиком HC-SR04 и подавать управляющие сигналы на контакты, с которых осуществляется управление двигателями. В этом проекте не будет использовано никаких подключаемых библиотек.

Первым делом в программе необходимо инициализировать контакты, через которые происходит взаимодействие с ультразвуковым датчиком: trig pin датчика подключен к контакту 9 платы Arduino, а echo pin — к контакту 10 платы Arduino.

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

Первым делом в программе необходимо инициализировать контакты, через которые происходит взаимодействие с ультразвуковым датчиком: trig pin датчика подключен к контакту 9 платы Arduino, а echo pin — к контакту 10 платы Arduino.

Arduino
int trigPin = 9;      // trig pin of HC-SR04
int echoPin = 10;     // Echo pin of HC-SR04
Далее инициализируем контакты для взаимодействия с модулем драйвера двигателей LM298N – 4 контакта.
и код

Arduino
int trigPin = 9;      // trig pin of HC-SR04
int echoPin = 10;     // Echo pin of HC-SR04
Далее инициализируем контакты для взаимодействия с модулем драйвера двигателей LM298N – 4 контакта.
Объяснение программы для Arduino
Полный код программы приведен в конце статьи, здесь же мы рассмотрим его основные фрагменты. В программе нам необходимо взаимодействовать с датчиком HC-SR04 и подавать управляющие сигналы на контакты, с которых осуществляется управление двигателями. В этом проекте не будет использовано никаких подключаемых библиотек.

Первым делом в программе необходимо инициализировать контакты, через которые происходит взаимодействие с ультразвуковым датчиком: trig pin датчика подключен к контакту 9 платы Arduino, а echo pin — к контакту 10 платы Arduino.

Arduino
int trigPin = 9;      // trig pin of HC-SR04
int echoPin = 10;     // Echo pin of HC-SR04
Далее инициализируем контакты для взаимодействия с модулем драйвера двигателей LM298N – 4 контакта.

0

8

/* Obstacle Avoiding Robot Using Ultrasonic Sensor and Arduino NANO
*  Circuit Digest(wwwcircuitdigest.com)
*/
int trigPin = 9;      // trig pin датчика HC-SR04
int echoPin = 10;     // Echo pin датчика HC-SR04
int revleft4 = 4;       //REVerse motion (движение назад) для левого двигателя
int fwdleft5 = 5;       //ForWarD motion (движение вперед) для левого двигателя
int revright6 = 6;      //REVerse motion (движение назад) для правого двигателя
int fwdright7 = 7;      //ForWarD motion движение вперед) для правого двигателя
long duration, distance;
void setup() {
 
  delay(random(500,2000));   // задержка на случайное время
  Serial.begin(9600); //для целей отладки, потом можно закомментировать
  pinMode(revleft4, OUTPUT);      // set Motor pins as output
  pinMode(fwdleft5, OUTPUT);
  pinMode(revright6, OUTPUT);
  pinMode(fwdright7, OUTPUT);
 
  pinMode(trigPin, OUTPUT);         // set trig pin as output
  pinMode(echoPin, INPUT);          //echo pin в режим ввода данных
}
void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);   
  digitalWrite(trigPin, HIGH);     // передаем серию импульсов длительностью 10 мкс
  delayMicroseconds(10);
  duration = pulseIn(echoPin, HIGH); // принимаем отраженные импульсы
  distance = duration / 58.2;   // рассчитываем расстояние в см
  delay(10);
    // If you dont get proper movements of your robot then alter the pin numbers (если что то работает не так, попробуйте сменить используемые контакты)
  if (distance > 19)           
  {
    digitalWrite(fwdright7, HIGH);                    // движение вперед
    digitalWrite(revright6, LOW);
    digitalWrite(fwdleft5, HIGH);                               
    digitalWrite(revleft4, LOW);                                                       
  }
  if (distance < 18)
  {
    digitalWrite(fwdright7, LOW);  //Stop (остановка)               
    digitalWrite(revright6, LOW);
    digitalWrite(fwdleft5, LOW);                               
    digitalWrite(revleft4, LOW);
    delay(500);
    digitalWrite(fwdright7, LOW);      //движение назад         
    digitalWrite(revright6, HIGH);
    digitalWrite(fwdleft5, LOW);                               
    digitalWrite(revleft4, HIGH);
    delay(500);
    digitalWrite(fwdright7, LOW);  //Stop (остановка)               
    digitalWrite(revright6, LOW);
    digitalWrite(fwdleft5, LOW);                               
    digitalWrite(revleft4, LOW); 
    delay(100); 
    digitalWrite(fwdright7, HIGH);       
    digitalWrite(revright6, LOW);   
    digitalWrite(revleft4, LOW);                                 
    digitalWrite(fwdleft5, LOW); 
    delay(500);
  }
}

0

Похожие темы


Вы здесь » Курт Lestrat Amadeus » ☠☽☠☾☠☽☠& » firefox