Делаем робота «сумо» (Датчики)

Датчики

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

Плюс втыкается в 5V на Arduino, минус в землю. А сигнал идет на цифровой пин 11 (это если у вас датчик цифровой, если аналоговый, то сигнал должен идти на аналоговый пин и программа будет немного другой). После того как подключили этот датчик, подключим Ультрасоник, который нужен для того что бы видеть врагов, я установил также на термоклей. Вот так:

Теперь, после того как вы его прикрепили, разберемся с пинами. С землей и питанием делаем тоже самое, что и в случае с датчиком черной линии. А вот два остальных пина: Echo и Trig, которые нужны для того, что бы издавать и принимать ультразвук, подключаюсь на шим пины 4 и 3 соответственно. Теперь насчет тестовой программы. Я написал кое какой скетч, но он делает совсем не то, что будет делать робот в конце его сборки. В программе сделал пояснения, для тех кто захочет в ней разобраться. Она редактируется в среде разработки Arduino IDE. Которую можно скачать на официальном сайте бесплатно. Так же для того, что бы Ультрасоник работал, понадобиться скачать и установить библиотеку: Ultrasonic.h . Если кто не знает как, пишите в комментариях, я отвечу (просто это долго объяснять и тянет на отдельную статью). Если же вам лень писать коммент, можно просто загуглить. В интернете точно есть информация на эту тему. Ну на этом наверное все, до встречи.

Скетч

#include <Ultrasonic.h>
Ultrasonic ultrasonic(3, 4);
#define BUTTON 13
#define enA 10
#define in1 9
#define in2 8#define enB 5
#define in3 7
#define in4 6
#define blackLineSensor 11

int goalSearchSpeed = 150; //скорость поворота при поиске цели
int speedForward = 200; //Скорость вперед
int speedBack = 200; //Скорость назад
int enemyDistance = 27; //Максимальное расстояние до врага в саниметрах

void rightForwardSearch()
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, goalSearchSpeed);
}
void rightBackSearch()
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, goalSearchSpeed);
}
void leftBackSearch()
{
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, goalSearchSpeed);
}
void leftForwardSearch()
{
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enB, goalSearchSpeed);
}

//сверху подпрограммы для движения при поиске, снизу для прсото движения

void rightForward()
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, speedForward);
}
void rightBack()
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, speedBack);
}
void leftBack()
{
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, speedBack);
}
void leftForward()
{
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enB, speedForward);
}
void goalSearch()
{
rightForwardSearch();
leftBackSearch();
delay(500);
rightBackSearch();
leftBackSearch();
delay(500);
}

void setup() {
// put your setup code here, to run once:
pinMode (BUTTON, INPUT);
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(blackLineSensor, INPUT);

int button = digitalRead(BUTTON);
while (button == 0)
{
button = digitalRead(BUTTON);
delay(10);
}

}
void loop() {

int lineSensor = digitalRead(blackLineSensor);
while (lineSensor > 0)
{

int sonic = ultrasonic.Ranging(CM);
while (sonic > enemyDistance)
{
rightForward();
leftBack();
sonic = ultrasonic.Ranging(CM);
delay(10);
}

rightForward();
leftForward();
delay(2000);
lineSensor = digitalRead(blackLineSensor);
delay(10);
if (lineSensor==0)
break;

}
leftBack();
rightBack();
delay(1500);
}

Делаем робота «сумо» (Подключение)

Подключение

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

Далее я отпилил ось, которая всовывалась из заднего колеса, так как была слишком длинная. Как это получилось можно видеть на фото выше. Ну а теперь можно переходить статье. Снизу я скину схему подключения мотор-шилда. Я буду соединять все проводами также как на ней. Вот она:

Я подключил все как на схеме. Вот как у меня получилось:

Насчет питания. Все провода проведены под платой. На фото выше видно где +, а где -. Я так же как на схеме объединил землю с ардуино. И еще один момент, питание мы будем использовать до 12 В. Т.е. питание нужно будет подключить не как на схеме (там подключено к +12 В), а к +5 В. Так как выходная мощность наших аккумуляторов 11,1 В. Ну пока что на этом все. Чуть позже подключим датчики (черной линии и ультрасоник). Здесь я не написал как их подключать потому что еще не сделал ковш. Я еще не знаю точно как они будут стоять. Если что-то было не понятно, задавайте вопросы в Комментариях. До встречи.

Делаем робота «сумо» (Задние колеса)

Задние колеса

Всем привет, сегодня мы сделаем задние колеса. Я буду делать их по той же технологии, что и передние колеса. Только не буду добавлять пену. Итак я выточил вот такие вот маленькие колесики из текстолита:

Далее я сделал крепления и припаял их к колесам. Вот так:

После этого с помощью винтика, закрепил колеса на оси, получилось вот так:

Ну вот и все, задние колеса готовы. Кстати к слову ось должна быть такого размера, что бы втулки упирались в держатели оси. Тем самым не давали оси ездить вправо и влево. Выглядит прикрепленная ось с колесами на роботе вот так:

На этом на сегодня все, продолжим в следующей статье.

P.s. ость которая на фотографии высовываться снизу я не успел отпилить 🙂

Делаем робота «сумо» (Передние колеса)

Передние колеса

Итак, всем привет. Сегодня мы продолжаем делать робота «сумо». Я решил сам сделать ведущие (передние) колеса. Для этого мне понадобилась пена:

Она нужна для того, что бы расширить наши колеса, т.к. у робота должно быть хорошее сцепление. Для начала из бумаги я сделал прямоугольник. Его длина будет равна длине нашего колеса (формула C=πd, где C длина окр). Желательно еще взять миллиметров 5-10, т.к мы будем шкурить поверхность. Ширина прямоугольника может быть любая. Чем он шире, тем больше колес такого диаметра можно будет нарезать. Вот этот прямоугольник:

После этого как бы сворачиваем его в «трубочку». Далее нужно аккуратно заполнить его пеной и подождать пока она расшириться, а также засохнет. Когда вы дождались, нужно отрезать от нее 2 одинаковой ширины куска. Вот таких:

После я приклеил их супер-клеем к нашим старым колесам. Рекомендую обезжирить поверхности ацетоном перед склейкой. Поверьте что это повлияет на качество (старайтесь приклеить как можно ровнее, что бы было удобнее обтачивать). Вот эти наши колеса:

Получилось вот так:

После этого осторожно обтачиваем их наждачной бумагой, зажав в дрели (колеса). Осторожно, потому что у меня крепление сода + супер клей. Наверное, потому что я слишком сильно давил и мы не обезжирили поверхность, когда склевали содой и клеем. Поэтому я решил припаять колесо ко втулке. Но описывать как я это делал не буду. Просто скорее всего, если вы не будете слишком сильно давить, у вас ничего не отвалиться (если вам реально интересно как припаять, напишите в Комментарии и я сделаю отдельную статью). Как я припаял вы сможете увидеть на фото. После того как я обшкурил получилось вот так:

Ну вот и все. Что-то типо шины сделаем попозже. А на первое время пойдет и ленточка из резины от воздушного шарика. До встречи в следующем посте.

Делаем робота «сумо» (Делаем держатели для оси и шины)

Держатели для оси и шины

Всем привет. Сегодня мы сделаем держатели для оси. Для этого вам понадобятся уголки. Я вырежу их из железяки которая выглядит вот так:

Из нее я вырезал две вот таких вот штучки:

ВНИМАНИЕ: Что бы вдруг, у вас не перекосилась ось, из-за того, что вы не ровно просверлили дырочки на основании (для крепления этих уголков). отмеряйте от конца основания например 1 см. И отмечайте место для отверстия. После всего этого, я прикрутил винтиками эти уголки. Вот так:

Отлично, теперь наша ось стоит ровно (по крайней мере у меня). После можно крепить на нее колеса, вот так:

Далее нам нужно сделать на них шины, для более хорошего сцепления с поверхностью. Так как у нас робот Сумо, нам это очень важно. Для этого вам нужно сходить в магазин за воздушными шариками. И нарезать из них вот такие полосочки:

После чего ровно натягиваем их на колесо. Вот так:

Ну вот и все на сегодня. Шины готовы. Ах да, я думаю, что передние колеса будут такие же как и задние, только у них будет чуть-чуть другой радиус. Конкретных размеров не могу сказать, так как у каждого скорее всего получиться по своему. Радиус будет отличаться потому что двигатель ставиться на основание. Из за этого центр колеса становиться выше, а задние колеса крепятся на уголки, которые, вообще, смотрят вниз. Поэтому будет разный размер. До встречи 🙂

 

Делаем робота «сумо» (Делаем ось)

Ось

Всем привет. Сегодня мы продолжим делать робота Сумо. Как я и писал, будем делать ось для задних колес. Для этого я взял электрод от сварки, так как он подходит мне по диаметру (втулок). Вот как он выглядит:

Итак, мне нужно его обчистить. Для этого я обстучал его молотком на твердой поверхности. Стучите не сильно что бы не погнуть ось. После этого я решил обчистить его от заусенцев и т.п. Для этого я зажал его в дрель. Вот так:

И намотав вокруг него наждачку, включил дрель, наждачку нужно чуть-чуть придерживать пальцами. Когда будете чистить не забудьте перевернуть его, т.к. то, что в дрели, не почиститься. После того как я почистил его, он выглядел вот так:

Теперь остается обрезать лишнее, я думаю оптимальная длина для оси — 15 см. Все, наша ось готова, теперь можно надевать на нее колеса, которые мы делали в прошлых записях. Вот как это выглядит:

Вот и все, в следующий раз постараюсь написать побольше. До встречи!

Делаем робота «сумо» (Делаем крепления для колес)

Крепления для колес

Итак всем привет. Сегодня мы продолжим делать робота «сумо». В этой записи мы сделаем крепления для колес. Для этого вам понадобиться сода, супер клей и втулки (диаметр 10 мм.) для крепления плат. Начнем.

Для начала вам нужно просверлить отверстие с боку у втулки. Я использую диаметр сверла 2,7 мм. После этого в этом отверстии нужно нарезать резьбу под винтик. У меня получилось вот так:

Далее я рассверлю втулку внутри, так как она у меня с резьбой. Плюс диаметр отверстия меньше диаметра оси двигателя (диаметр оси моего движка 3 мм.). Для этого я использовал сверло того же диаметра, что и ось двигателя. У меня получилось вот так:

После этого мы приклеим эту втулку к нашему колесу, с помощью супер клея и соды. Для этого сначала возьмем 2 гайки и длинный винт. Накручиваем сначала гайку, потом насаживаем колесо, за ним втулку чуть намазанную клеем и прижимаем другой гайкой. Ждем пока клей схватиться. После этого для прочности нужно опять нанести слой клея, посыпать его содой, стряхнуть лишнюю. Так раза 2-3, пока вам не покажется, что все крепко. У меня получилось вот так:

Вот колесо, после того как я его снял:

Вот в принципе и все, вам остается только сделать тоже самое со вторым колесом. Ось двигателя вставляется во втулку и зажимается винтиком. На этом пока что все, до новых встреч 🙂

Делаем робота «сумо» (Делаем колеса)

Колеса

Всем привет, сегодня мы продолжим делать робота «сумо». В этой записи мы сделаем колеса, не ведущие. Потому что я еще не придумал как. Робот должен быть перевешен на них (на ведущие), для того что бы сцепление было выше, и его было сложнее приподнять. Ведущими колесами будут передние, потому что робот будет толкать именно лбом. Сейчас мы будем делать задние, они у меня будут без двигателей. Вы можете поставить их туда по желанию. Итак начнем.

Для того что бы сделать колеса как я, вам потребуется текстолитовая пластина. Я купил размером 10 х 10, причем у меня она с медным покрытием (это не играет ни какой роли, просто опр. цвет). Вот она:

 

Далее вам потребуется какая нибудь ось. Чуть длиннее нашего основания (11 см. — длина основания). Я пока что не подобрал таковую, поэтому фотки не будет 🙁  (в следующей записи будет точно, поэтому не волнуйтесь). Итак для начала вам нужно будет определиться с радиусом колес, я померил и решил что у меня радиус будет 15 мм. Я думаю что ось будет лежать прямо на основании, ну или чуть выше, поэтому измеряйте радиус от него. После этого на нашей пластине откладываем размеры и чертим там циркулем наши колеса, желательно чтобы диаметр был на 1 мм. больше, чем вы решили. Это нужно для того, что бы когда мы будем обтачивать колеса, мы не ошиблись. Я начертил вот так:

Делаем еще один такой чертеж, и после вырезаем или выпиливаем эти колеса. Я использовал ножницы по металлу. Получилось вот так:

 

Теперь нам нужно собрать интересную конструкцию, что бы обточить колеса. Она нужна для того, что бы при обточке колес они получились полностью одинаковые. Для начала нужно просверлить по центру колес дырочки. После нам потребуется длинный винтик, он должен быть такого же диаметра, как и просверленные отверстия. Далее накручиваем на винт втулку (у кого нет, подойдут и гайки). После насаживаем два колеса и зажимаем с другой стороны такой же втулкой (ну или гайкой). У меня получилось вот так:

После зажимаем это в дрель. Вот так:

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

Ну я думаю в этот раз все. За сегодня я успел только выточить эти колеса. На ось мы прикрепим их в следующий раз. До новых встреч.  🙂

Делаем робота «сумо» (Прикрепляем плату и т.д.)

Всем привет. Сегодня мы продолжим делать робота «сумо». На этот раз, как вы могли прочесть из заголовка мы будем прикреплять плату (Arduino), мотор-шилд и боксы для батареек. Для начала прикрепим плату, я закреплю ее на пластиковые стойки, которые есть в матрешке (набор Arduino).Для этого я разделил основание на 3 части — две по 3 см. (по бокам) и одна примерно 5 см. (размер платы Arduino). Далее параллельно низу нашего основания прикладываем плату и сверлим отверстия в тех местах, где вы собираетесь установить стойки. Снизу их прижимаем гайками по размеру, а плату пластиковыми винтиками, из того же набора. У меня получилось вот так:

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

 Конечно немного криво:) ,но я думаю ничего страшного (это из за того что у меня бокс можно прикрепить только одним винтиком). Далее соединяем наши боксы последовательно. ВНИМАНИЕ: боксы должны стоять точно как на картинке иначе последовательно соединить не получиться. Я сделал так:

После этого можно крепить мотор-шилд, который позволит нам управлять двигателями. Я буду использовать мотор-шилд, который называется — hw-95 (сама плата называется  L298N), вы можете использовать любой другой. Для этого я в крутил в стойки, на которые крепилась плата, еще одни такие же стойки в двух местах и закрепил мотор-шилд. ВНИМАНИЕ: если у вас контакты с мотор-шилда, прикасаются к каким либо пинам на Arduino, это плохо обязательно изолируйте их. Я прикрепил вот так:

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

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

 

Делаем робота «сумо» (Основание)

Основание.

Дарова;) В связи с последними обстоятельствами я не мог писать статьи на сайт. Ну я думаю это особо не на что и не повлияло, так как посещаемости все равно нет). Ладно, сегодня я решил сделать робота  «сумо», причем на ардуино. Начнем наверное с самого простого вопроса. Как сделать основание? Я предложу вам самый наверное универсальный и удобный по мне способ. Причем компоненты не будут стоить миллион рублей, все достаточно легко и бюджетно. Начнем с того, что нам понадобятся прямые руки, так как без них ничего не сделаешь. Далее вам придется встать и сходить в ближайший магазин с Хоз. товарами или товарами для дачи. Там вы должны купить эпоксидную смолу (с отвердителем обязательно),(еще смола с отвердителем может клеем эпоксидным называться) и рулон стекловолокна (подчеркиваю не стекловаты).

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

Далее по инструкции смешиваем отвердитель и смолу (обычно там 1/10) и на какой нибудь ровной поверхности поочередно кладем слой стекловаты, мажем его раствором. Так пока не кончаться слои (ну или раствор если вы неправильно рассчитали количество:) ).

После кладем это на батарею (желательно с какой нибудь прокладкой) и ждем пока это превратиться в очень твердый кусок «пластмассы».  Ну или просто кладем сверху что нибудь ровное и тяжелое.

В общем то и все. Вам останется только обшкурить то что получилось наждачной бумагой, чтобы оно стал ровным (тк могут быть не ровности с боков). Этот способ очень универсален и в принципе подходит для создания любого основания, под любого робота. Я по крайней мере делаю так почти все, только если не требуется разводить плату. На этом пока что все:) Пишите коменты. В следующей части продолжим.