Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Робототехника

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.02.2016, 11:02   #241
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Создаем робота своими руками

Тогда Вам нужно почитать про кватернионы
Admin вне форума   Ответить с цитированием
Старый 18.05.2016, 12:39   #242
yarvi
Junior Member
 
Регистрация: 12.05.2016
Сообщений: 1
Вес репутации: 0
yarvi is an unknown quantity at this point
По умолчанию Re: Создаем робота своими руками

Добрый день!
В первую очередь хочу поблагодарить участников и Админа этого форума за огромную работу и кучу полезной информации.

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

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

0.1мкФ X7R 20% 250В 2220, GA255DR7E2104M
0.1мкФ X7R 10% 1kВ 2220, GRM55DR73A104K

С электролитами и резисторами все намного сложнее.
Где-то на фото один электролит, где-то два, кто-то говорит о трех электролитах. Перелопатил все темы и окончательно запутался.
Так и не нашел куда впаивать резистор 150 ом, о котором говорится в сообщении #92. В топике #162 человек говорит о двух 100 мкФ электролитах и одном 470 мкФ электролите, а на его фото стоят вроде два 47 мкФ электролита и один 100 мкФ. А куда ставить резистор 150 ом так и не нашел.
Еще есть вопрос по резистору 240 ом для подключения оптопар tcst2103.
Как его подключить на материнской плате?
Сразу прошу прощения за возможно банальные вопросы. Помогите чайнику.

Последний раз редактировалось yarvi; 18.05.2016 в 12:41.
yarvi вне форума   Ответить с цитированием
Старый 19.05.2016, 22:56   #243
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Создаем робота своими руками

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

Цитата:
А куда ставить резистор 150 ом так и не нашел.
А где про него идет речь? Может я его для оптопары имел ввиду?
Миниатюры
Нажмите на изображение для увеличения
Название: cyberbot.jpg
Просмотров: 215
Размер:	290.9 Кб
ID:	3903  
Admin вне форума   Ответить с цитированием
Старый 06.12.2016, 01:54   #244
Paul_B
Member
 
Регистрация: 06.12.2016
Сообщений: 35
Вес репутации: 0
Paul_B is an unknown quantity at this point
По умолчанию Re: Создаем робота своими руками

Хочу помимо УЗ датчика на перед поставить 4 ИК датчика расстояния на углы. На сколько это оправдано и необходимо?
Соответственно опрашивать их состояние по прерыванию Timer2 где-то каждые 250 миллисек.

И ее вопрос - по системе поворотов, вернее ее логике. У Хейзермана в его книге было 16 возможных движений всего, включая 3 скорости (стоп, средняя и быстрая) и 2 поворота (крутой и плавный). Вот думаю - эелать такую же логику или повороты задавать по ситуации в градусах, опираясь на показания энкодеров (их разности на правом и левом колесах) и управляющей скорости на моторы?

Я думаю, у вас в программе надо исправить - прерывания должны сниматься с экнодеров и в поворотах, только в поворотах не надо выравнивать движение.

Последний раз редактировалось Paul_B; 06.12.2016 в 02:02.
Paul_B вне форума   Ответить с цитированием
Старый 06.12.2016, 08:55   #245
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Создаем робота своими руками

Цитата:
Хочу помимо УЗ датчика на перед поставить 4 ИК датчика расстояния на углы. На сколько это оправдано и необходимо?
достаточно будет 2-х датчиков слева и справа

Цитата:
И ее вопрос - по системе поворотов, вернее ее логике. У Хейзермана в его книге было 16 возможных движений всего, включая 3 скорости (стоп, средняя и быстрая) и 2 поворота (крутой и плавный). Вот думаю - эелать такую же логику или повороты задавать по ситуации в градусах, опираясь на показания энкодеров (их разности на правом и левом колесах) и управляющей скорости на моторы?
Что бы робот мог выбраться из любой ловушки, лучше использовать рандомный поворот в заданных пределах
Admin вне форума   Ответить с цитированием
Старый 06.12.2016, 10:22   #246
Paul_B
Member
 
Регистрация: 06.12.2016
Сообщений: 35
Вес репутации: 0
Paul_B is an unknown quantity at this point
По умолчанию Re: Создаем робота своими руками

Цитата:
Сообщение от Admin Посмотреть сообщение
достаточно будет 2-х датчиков слева и справа


Что бы робот мог выбраться из любой ловушки, лучше использовать рандомный поворот в заданных пределах
Заказал 2 типа ИК-датчиков, на одном из них есть аналоговый выход - своего рода измеритель расстояния, надо будет экспериментировать.
УЗ-датчик будет мерить длинные расстояния и робот будет замедлять ход, а уж решения о поворотах будут приниматься на основании ИК-датчиков. Поэтому их хочу 4 штуки на углы. Еще сть вопрос про логику поворотов, но о ней спрошу в теме синхронизации оборотов.
Единственный вопрос - можно как-то управлять питанием этих ИК-датчиков, чтобы они не все время были включены (для экономии заряда), а включались при определенных ситуациях?
Как вариант, повесить их на цифровой выход, но хватит ли его питания, чтобы тянуть 4 датчика? Есть ли блоки с большим КПД, позволяющие управлять питанием периферийных блоков?

Последний раз редактировалось Paul_B; 06.12.2016 в 10:35.
Paul_B вне форума   Ответить с цитированием
Старый 06.12.2016, 12:54   #247
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Создаем робота своими руками

Цитата:
Заказал 2 типа ИК-датчиков, на одном из них есть аналоговый выход - своего рода измеритель расстояния, надо будет экспериментировать.
не получится измерять им расстояние, так как при разных материалах и разных углах, величина отраженного светового потока будет разной

Цитата:
Единственный вопрос - можно как-то управлять питанием этих ИК-датчиков, чтобы они не все время были включены (для экономии заряда), а включались при определенных ситуациях?
какими? Если такими http://duino.ru/Datchik-prepyatstvii.html то можно
Admin вне форума   Ответить с цитированием
Старый 06.12.2016, 14:22   #248
Paul_B
Member
 
Регистрация: 06.12.2016
Сообщений: 35
Вес репутации: 0
Paul_B is an unknown quantity at this point
По умолчанию Re: Создаем робота своими руками

Цитата:
Сообщение от Admin Посмотреть сообщение
не получится измерять им расстояние, так как при разных материалах и разных углах, величина отраженного светового потока будет разной


какими? Если такими http://duino.ru/Datchik-prepyatstvii.html то можно
Не, не поняли меня - именно питанием, который зажигает светодиод на ИК датчике. Или он загорается только тогда, когда опрашиватся порт, к которому он подключен?
Купил такой, какой вы указали и еще такой:
https://ru.aliexpress.com/item/5-pcs...608.0.0.o3n7O1
Paul_B вне форума   Ответить с цитированием
Старый 23.01.2017, 22:10   #249
avolon
Junior Member
 
Регистрация: 14.09.2016
Сообщений: 3
Вес репутации: 0
avolon is an unknown quantity at this point
По умолчанию Re: Создаем робота своими руками

Привет всем
Пришло вот такое чудо робот
так вот все собрал
И запустил чтоб по датчику hc-04 ездил
Так вот скетч
Код:
//www.elegoo.com
//2016.09.12

#include <Servo.h> //servo library
Servo myservo; // create servo object to control servo
int Echo = A4;  
int Trig = A5; 
int in1 = 9;
int in2 = 8;
int in3 = 7;
int in4 = 6;
int ENA = 11;
int ENB = 5;
int ABS = 130;
int rightDistance = 0,leftDistance = 0,middleDistance = 0 ;
void _mForward()
{
 analogWrite(ENA,ABS);
 analogWrite(ENB,ABS);
 digitalWrite(in1,LOW);
 digitalWrite(in2,HIGH);
 digitalWrite(in3,LOW);
 digitalWrite(in4,HIGH);
 Serial.println("go forward!");
}

void _mBack()
{
 analogWrite(ENA,ABS);
 analogWrite(ENB,ABS);
 digitalWrite(in1,HIGH);
 digitalWrite(in2,LOW);
 digitalWrite(in3,HIGH);
 digitalWrite(in4,LOW);
 Serial.println("go back!");
}

void _mleft()
{
 analogWrite(ENA,ABS);
 analogWrite(ENB,ABS);
 digitalWrite(in1,LOW);
 digitalWrite(in2,HIGH);
 digitalWrite(in3,HIGH);
 digitalWrite(in4,LOW);
 Serial.println("go left!");
}

void _mright()
{
 analogWrite(ENA,ABS);
 analogWrite(ENB,ABS);
 digitalWrite(in1,HIGH);
 digitalWrite(in2,LOW);
 digitalWrite(in3,LOW);
 digitalWrite(in4,HIGH);
 Serial.println("go right!");
} 
void _mStop()
{
  digitalWrite(ENA,LOW);
  digitalWrite(ENB,LOW);
  Serial.println("Stop!");
} 
 /*Ultrasonic distance measurement Sub function*/
int Distance_test()   
{
  digitalWrite(Trig, LOW);   
  delayMicroseconds(2);
  digitalWrite(Trig, HIGH);  
  delayMicroseconds(20);
  digitalWrite(Trig, LOW);   
  float Fdistance = pulseIn(Echo, HIGH);  
  Fdistance= Fdistance/58;       
  return (int)Fdistance;
}  

void setup() 
{ 
  myservo.attach(3);// attach servo on pin 3 to servo object
  Serial.begin(9600);     
  pinMode(Echo, INPUT);    
  pinMode(Trig, OUTPUT);  
  pinMode(in1,OUTPUT);
  pinMode(in2,OUTPUT);
  pinMode(in3,OUTPUT);
  pinMode(in4,OUTPUT);
  pinMode(ENA,OUTPUT);
  pinMode(ENB,OUTPUT);
  _mStop();
} 

void loop() 
{ 
    myservo.write(90);//setservo position according to scaled value
    delay(500); 
    middleDistance = Distance_test();
    #ifdef send
    Serial.print("middleDistance=");
    Serial.println(middleDistance);
    #endif

    if(middleDistance<=20)
    {     
      _mStop();
      delay(500);                         
      myservo.write(5);          
      delay(1000);      
      rightDistance = Distance_test();

      #ifdef send
      Serial.print("rightDistance=");
      Serial.println(rightDistance);
      #endif

      delay(500);
       myservo.write(90);              
      delay(1000);                                                  
      myservo.write(180);              
      delay(1000); 
      leftDistance = Distance_test();

      #ifdef send
      Serial.print("leftDistance=");
      Serial.println(leftDistance);
      #endif

      delay(500);
      myservo.write(90);              
      delay(1000);
      if(rightDistance>leftDistance)  
      {
        _mright();
        delay(180);
       }
       else if(rightDistance<leftDistance)
       {
        _mleft();
        delay(180);
       }
       else if((rightDistance<=20)||(leftDistance<=20))
       {
        _mBack();
        delay(180);
       }
       else
       {
        _mForward();
       }
    }  
    else
        _mForward();                     
}
Вопрос когда он пытается повернуть то моторы просто пищат типа не могут повернуть хотя все выполняется правильно я и мею ввиду крутятся колеса в правильном направлении.
Может есть код для 4 моторов ?? ибо хочется чтоб нормально катался
avolon вне форума   Ответить с цитированием
Старый 24.01.2017, 12:33   #250
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Создаем робота своими руками

Измени переменную ABS на 255
Admin вне форума   Ответить с цитированием
Ответ

Метки
сделать робота дома, робот, робота свими руками, robot, как сделать робота, платформа для робота


Здесь присутствуют: 9 (пользователей: 0 , гостей: 9)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:05. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика