Возобновил работы над роботом


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

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

Редукторы перебрал, теперь там по 2 вращающихся колеса, вместо одного опорного и 1 работающего на тягу.
Запаял все детали, так как на тестах после сборки конструкции, некоторые скрутки решили отвалиться…
Питание было заменено на 1 батарейку формата 18650, это осусловлено тем, что появилась свободная батарейка, аймакс, и нормальные NiMH у меня торчат во вспышке. Литий ион так же предпочтительнее, так как не боится недоразряда и так далее, в общем много могу перечислять.
В итоге пока в сборе все не тестил, нет нормальной

прошивки и я забыл о питании ардуины. Заказал в китае блок преобразователь…
Но двигатели с новым питанием работают гораздо лучше, после полной сборки редукторы будут смазаны, так как во время переборки, вся смазка была удалена…

Наверное, когда все будет готово, сделаю видео по проекту, где если будут запросы, все подробно опишу.

Напоминаю, что проект делался максимально дешевым, и сейчас он до сих пор не переваливает за пределы 1000 рублей.

Подключаем дисплей к ардуино


Приветствую, подписчики и гости itist.ru
Сегодня я расскажу, и покажу как подключить обычный дисплей размером 16 на 2 строки к ардуино, без использования каких либо дополнительных устройств, типа драйвера дисплея и так далее…

Драйвер дисплея у меня есть, и урок вместе с ним тоже вскоре будет, но он есть не у всех…

И так, как же это выглядит. А выглядит это так:

Как подключить дисплей к ардуино уно (arduino uno)

Для наглядности вот еще одно фото. Переменный резистор в данном случае подстроечный. Можно обойтись и без него вовсе, только в этом случае будет затратно по времени подбирать резистор. Дело в том, что для отображения на дисплее текста, без переменного резистора, текст то будет не виден, то видны одни квадраты.

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

Как подключить дисплей к ардуино уно (arduino uno)

Как это выглядит:

Как подключить дисплей к ардуино уно (arduino uno)
Да, можно обойтись без макетной платы вообще, однако с ней удобнее…

Скетч

#include <Wire.h>
#include <LiquidCrystal.h>
 
/*
Создаём объект LCD-дисплея, используя конструктор класса LiquidCrystal и
указываем, к каким пинам Arduino подключены выводы дисплея:
12 - RS (белый), 11 - E (белый), 5 - DB4, 4 - DB5, 3 - DB6, 2 - DB7 (желтые)
*/
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
 
void setup()
{
 /* Инициализируем дисплей */
 lcd.begin(16, 2);
 lcd.print("www.itist.ru");
}
 
void loop()
{
 /* Устанавливаем курсор в 1 столбец 2й строки. Нумерация идёт с нуля, первым аргументом идёт номер столбца. */
 lcd.setCursor(0, 1);
 /* Выводим на дисплей число секунд, прошедших с момента старта Arduino */
 lcd.print(millis() / 1000);
}

Как подключить RFID-RC522 к Arduino UNO часть 1


Привет всем подписчикам itist.ru
Сегодня я покажу как подключить RFID модуль для ардуино, все достаточно просто

Вот так это выглядит
Как подключить rfid-RC522 к ардуино уно (arduino uno)

А теперь распишу про провода и их обозначения на плате

белый
SDA pin10

синий
SCK pin13

оранжевый
MOSI pin11

зеленый
MISO pin12

IRQ не подключен

черный (GND -) (со стороны аналоговых пинов, ближе к 3.3в)

желтый
RST pin9

3.3v подключаем к 3.3 вольта на ардуино (+)

На сегодня все, скоро я расскажу (во второй части) как с ним работать, и конечно предоставлю скетч! =)

Реанимация старых Li-ion аккумуляторов от телефонов


Здравствуйте, подписчики itist.ru и те, кто случайно (или не случайно) сюда забрел…
В этой статье я расскажу как либо реанимировать либо подарить вторую жизнь телефонным аккумуляторам…

К примеру, есть у вас аккумулятор, у меня это аккумулятор от старой Motorolla c650
Аккумулятор MOTOROLLA С650

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

вывод о неисправности телефона а не аккумулятора.

Померяв мультиметром выводы аккумулятора обнаружил 0… (лежал он года 3, полностью бездействуя)
ОТ других телефонов были аккумуляторы так же на нуле, к ним припаялся к плюсу и минусу, и зарядил их от небольшой микросхемки, о которой напишу чуть позже…

В общем этот аккумулятор не заряжался вообще ни как, и я решил разобрать его, чтобы посмотреть его начинку…
Полуразобранный телефонный аккумулятор

Я увидел там 2 контакта, плюс и минус, а выводы на телефон идут через какую то плату на смд компонентах…
Предположив что умерла плата, померял выводы самого аккумулятора, обнаружил там 1,67 вольта, значит аккум скорее жив, и умерла плата…

Отковырял плату от аккумулятора
Плата у телефонного аккумулятора на одном контакте

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

Собственно сама плата выглядит так:
Плата для реанимации аккумуляторов TP4056

Стоит такое чудо в Китае около 50 — 70 рублей.
С помощью нее можно зарядить аккумуляторы от mini — USB, когда аккумулятор заряжен, горит правый светодиод (синим) когда аккумулятор заряжается, горит красный (слева) светодиод…

Так же на ней есть входные контакты для + и — соответственно, но об этом я расскажу позже, когда мне придут кое какие запчасти из китая для робота. По нему не пишу, так как не особо есть время им заниматься, он полностью спаян, сейчас хочу поставить пару светодиодов, и одну штуку, чтобы сделать его… А это уже другая история =)

Робот — часть 3. Драйвер двигателя L293D или как рулить моторами на ардуино


Всем привет.
Давно не обновлял так сказать лог работы…
В общем если быть кратким — оно работает =)
Тем кого интересовало только это, вы получили ответ на свой вопрос…

Как и обещал, выкладываю схему подключения моторов к ардуино через эту микросхему…


Схема подключения драйвера двигателей l293d с питанием через ардуино

А вот сейчас я буду перепаивать его на новую схему, изменения в схеме на самом деле минимальные, добавился внешний источник питания.
У меня при тестировании от USB при включении 2х двигателей сильно «проседает» питание, и с учетом новых изменений в конструкции, он едет очень медленно…

Схема подключения драйвера двигателей l293d с питанием от внешнего источника

Схему эту пока не опробовал, но если этот текст еще тут, значит просто поленился или забыл его удалить =)
Но как я понимаю схему, работать оно должно так…

И теперь двигатели можно запитать от батареи до 36 вольт. Главное не забывать и про амперы, то есть от автомобильного аккумулятора питать ни чего не следует. Сгорит…

Да, а из нового — потеря в скорости, теперь на каждый из двигателей приходится по редуктору, и новое шасси… Фотки будут позже…

Амортизированное шасси робота или как я сделал свой «эпик фэйл»


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

Мозги робота находятся на вот такой макетке…
Делаем шасси для робота ардуино своими руками 1

Шасси я планировал делать с амортизаторами, которые тоже сделал сам…
За основу были вырезаны 2 вот такие детальки.
Вырезал из стенки системника…
Делаем шасси для робота ардуино своими руками 2

О них чуть позже…

Колеса для большей плавности решил соединить металлической проволокой (мягкой) и затянуть сверху термоусадкой. Это позволило бы на большой скорости преодалевать любые (конечно разумные) неровности. В перспективе планировалось, чтобы и по обычному асфальту и по траве, робот себя уверенно чувствовал, а не только дома на ровном полу…

Делаем шасси для робота ардуино своими руками 3
Как то так…

А вот что получилось
Делаем шасси для робота ардуино своими руками 4

Ну и собственно в сборе с амортизатором. В нем используется строительный крепеж и запчасти от ВАЗа =)

Делаем шасси для робота ардуино своими руками 5

Вот еще одна фотка, как выглядит мой вариант грубо говоря подвески робота на ардуино, да и любой другой платформе (компактной), который мог бы передвигаться по разным типам местности…
Делаем шасси для робота ардуино своими руками 6

И все это должно куда то крепиться, скажете Вы и будете правы!
Я решил это сделать с помощью листа фанеры.
Разметил, выпилил, высверлил отверстия под крепление элементов и получилось вот это…
Делаем шасси для робота ардуино своими руками 7

После этого, покрасил в черный цвет данную фанерку, и собрал…
Получилось вот это… На этом фото шасси робота показано как раз 3 колесо устойчивости.
Куплено в строительном магазине, в мебельной фурнитуре =)
Делаем шасси для робота ардуино своими руками 8

И вот еще одно фото, результата подвески для робота, с другого ракурса:
Делаем шасси для робота ардуино своими руками 9

В заголовке статьи присутствует «эпик фэйл» и всем Вам наверное интересно, что же тут не так…
Тут все в полном порядке, косяк мой был в выборе моторов, потому что когда я написал тестовый скетч под двигатели, когда я проверял их работу и прочее, я не учел вес конструкции.
То есть мой робот просто ни куда не поехал… =(
Ставишь его на пол, включаешь и ничего, лишь в тишине слышно как напряглись моторы, но ничего не происходит… После того как я его поднял, колеса начали крутиться и достаточно резво. Все дело в том, что я взял высокооборотистые моторы, которые подошли бы больше для разных коптеров. Выбирал я их из-за их дешевизны в первую очередь. Ну видимо моторы будут отправлены в долгий ящик. Их конечно можно использовать, только нужно увеличить крутящий момент, понизив их скорость с помощью редуктора.
Этим мне заниматься лень, и вместо моторов за 20 рублей, скоро будут приобретены моторы за 200 рублей, что сильно увеличивает цену конструкции. А я в первую очередь хотел сделать бюджетную модель, чтобы показать что это каждому по карману, и можно уложиться в построении робота если не в 500 рублей, так в 1000 точно! Сейчас это находится под вопросом.
В общем этот косяк с моторами несколько демотивировал меня по поводу строительства бюджетного робота на ардуино, но сейчас меня вроде поотпустило, да и нужно доделать проект, так как уже пришли «ништяки» для следующего робота.
Этот вариант будет упрощен, скорее всего аммортизаторы будут убраны для использовании в последующих версиях, например в том же коптере =)

Ардуино — работа с SD флешками


Всем привет!
Давненько я не писал ни чего в блог, все какие то дела и заботы… Материала накопилось много, поэтому до НГ будет несколько статей по работе с ардуино и робототехникой…
И так, для работы нам потребуется собственно ардуинка, ридер и собственно флешка…
Кстати, пока сам учился пользоваться, нашел как из сломаного флеш ридера можно сделать не хуже…

Вот картинки:
Работа с ардуино и SD кард ридером флешкой
Работа с ардуино и SD кард ридером флешкой

Пример кода писать не буду, в самое IDE есть несколько отличных примеров, как на получение информации по флешке, так и по работе с файлами… А трудности обычно только в подключении.
По фоткам видно куда что нужно подключить для работы.

Робот на ардуино — Основы — часть вторая (основы синтаксиса)


Здравствуйте, подписчики itist.ru
В этой статье, я как и обещал ранее опишу основы синтаксиса работы с ардуино.
Ниже представлен скетч (программный код) который нужно залить в ардуино.
С подробными коментариями… А прежде, подключите светодиод в порты GND(-) и 13

//Инициализируем порт (13)
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
// инициализируем его как выход (будем осуществлять вывод информации)
pinMode(led, OUTPUT);
}

// В цикле включаем и выключаем светодиод, в итоге мы «проморгаем» СОС на азбуке Морзе.
void loop() {
//Буква С (три коротких)
digitalWrite(led, HIGH); //Зажигаем светодиод
delay(100); //Ожидаем 100 миллисекунд
digitalWrite(led, LOW); //Отключаем светодиод
delay(100);
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(1000); //ждем 1 секунду

//Буква О
digitalWrite(led, HIGH);
delay(500);
digitalWrite(led, LOW);
delay(100);
digitalWrite(led, HIGH);
delay(500);
digitalWrite(led, LOW);
delay(100);
digitalWrite(led, HIGH);
delay(500);
digitalWrite(led, LOW);
delay(1000);

//Буква С
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);

delay(3000);
}

RoBOT — робототехника на ардуино — часть 1 [первый выпуск]


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



Как подключать:
Датчик — HC — SR04
У него 4 контакта.
К макетной плате мы воткнули его, и 4 провода.
VCC — синий
Trig — желтый
Echo — белый
GND — черный

Они подключаются к ардуино следующим образом:
Черный идет к GND на плате со стороны аналоговых входов.
Синий рядом, к 5V

Желтый идет к 6 цифровому пину, и белый к 7 цифровому пину.

Светодиоды:
Цифровой GND идет черным проводом на макетную плату, на «-»
И с него идут разветвления на 3 светодиода.
+ красными проводами
Зеленый — 11 pin
Желтый — 12 pin
красный — 13 pin

Скетч

const int Trig = 6; 
const int Echo = 7; 
const int ledCrit = 13;
const int ledNorm = 12;
const int ledGood = 11;
 
void setup() 
{ 
pinMode(Trig, OUTPUT); 
pinMode(Echo, INPUT); 
pinMode(ledCrit, OUTPUT); 
pinMode(ledNorm, OUTPUT);
pinMode(ledGood, OUTPUT);
 
Serial.begin(9600); 
}
 
unsigned int time_us=0;
 
unsigned int distance_sm=0;
 
void loop() 
{ 
digitalWrite(Trig, HIGH); // Подаем сигнал на выход микроконтроллера 
delayMicroseconds(10); // Удерживаем 10 микросекунд 
digitalWrite(Trig, LOW); // Затем убираем 
time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса 
distance_sm=time_us/58; // Пересчитываем в сантиметры 
Serial.println(distance_sm); // Выводим на порт
 
// Если расстояние менее 50 сантиметром
if (distance_sm<50)  
{ 
  digitalWrite(ledCrit, 1); // Зажигаем светодиод 
} 
else 
{ 
  digitalWrite(ledCrit, 0);  
} 
 
//Меньше 100 см
if (distance_sm<100)
{
  digitalWrite(ledNorm, 1);
}
else
{
  digitalWrite(ledNorm, 0);
}
 
//Меньше 200 см
if (distance_sm<200)
{
  digitalWrite(ledGood, 1);
}
else
{
  digitalWrite(ledGood, 0);
} 
 
delay(100); 
}

Послесловие:
Если Вы дошли до этого момента, значит Вы заинтересованный посетитель.
Следующие видео по сенсорам планируются примерно через 2-3 месяца. тогда же и работу с сервоприводами.
Через месяц — два, планируется показать работу с двигателями, драйвером двигателей, так как оно должно придти побыстрее.

Фото будут чуть позже.