роботы
робототехника
микроконтроллеры
Главная
Как сделать робота
Новости
Спорт
Статьи
Wiki
Форум
Downloads
Ссылки
Контакты  


 Страниц (1): [1]   

> Описание: робот веник
Зеля
Отправлено: 04 Октября, 2013 - 23:48:41
Post Id


Рядовой


Сообщений всего: 8
Дата рег-ции: Сент. 2013  





тестовая модель только каркас и правый бампер иногда заедает плюс щётка на быструю руку


http://www.fayloobmennik.net/3242819
 
 Top
Зеля
Отправлено: 05 Октября, 2013 - 09:08:48
Post Id


Рядовой


Сообщений всего: 8
Дата рег-ции: Сент. 2013  





фото
Прикреплено изображение
0110201310012.jpg

 
 Top
Роботов
Отправлено: 05 Октября, 2013 - 09:30:16
Post Id



Гуру


Сообщений всего: 1348
Дата рег-ции: Июнь 2011  





А что это такое?
 
 Top
Predator Супермодератор
Отправлено: 05 Октября, 2013 - 10:11:50
Post Id


Супермодератор


Сообщений всего: 1160
Дата рег-ции: Июль 2012  





это аналог i-робота, с несколько урезаной функциональностью...
мне понравился.
 
 Top
Зеля
Отправлено: 05 Октября, 2013 - 10:32:57
Post Id


Рядовой


Сообщений всего: 8
Дата рег-ции: Сент. 2013  





на видео продемонстрировано: http://www.fayloobmennik.net/3242819, я делал и вакуум на центробежном вентиляторе, но к сожалению аккумулятор слишком слаб Грустный
 
 Top
Зеля
Отправлено: 08 Октября, 2013 - 17:47:04
Post Id


Рядовой


Сообщений всего: 8
Дата рег-ции: Сент. 2013  





код на Си





#define F_CPU 1000000UL // указываем частоту в герцах

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h> //Библиотека прерываний

int i, a;
a = 0;


void left() //реверсивный разворот влево
{
PORTC &= ~_BV(PC1); // установить "1" на линии 1 порта C
PORTC |= _BV(PC2); // установить "0" на линии 2 порта C
PORTC |= _BV(PC3); // установить "1" на линии 3 порта C
PORTC &= ~_BV(PC4); // установить "0" на линии 4 порта C
}

void right() //реверсивный разворот вправо
{
PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
PORTC &= ~_BV(PC3); // установить "1" на линии 3 порта C
PORTC |= _BV(PC4); // установить "0" на линии 4 порта C
}

void back() //назад
{
PORTC &= ~_BV(PC1); // установить "0" на линии 1 порта C
PORTC |= _BV(PC2); // установить "1" на линии 2 порта C
PORTC &= ~_BV(PC3); // установить "0" на линии 3 порта C
PORTC |= _BV(PC4); // установить "1" на линии 4 порта C
}

void forward() //движение прямо
{
PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
PORTC |= _BV(PC3); // установить "1" на линии 3 порта C
PORTC &= ~_BV(PC4); // установить "0" на линии 4 порта C
}

void conor() // //разворот при застревании в углу
{
if (a > 3)
{
back();
_delay_ms(2000);
right();
_delay_ms(1000);
a = 0;
}
}

void randomclean() //хаотичный режим уборки
{
forward();

if (!(PIND & (1<<PIND1))) // проверка левый бампер
{
a = a + 1; //проверка углов
back();
_delay_ms(500);
right();
_delay_ms(600);
}

conor();

if (!(PIND & (1<<PIND2))) // проверка правый бампер
{
a = a + 1; //проверка углов
back();
_delay_ms(500);
left();
_delay_ms(600);
}

_delay_ms(100);
}



int main(void) // начало основной программы
{
DDRC = 0xff; // все выводы порта C сконфигурировать как выходы
DDRD = 0x00; // все выводы порта D сконфигурировать как входы

PORTD = 0xff; // установить "1" на всех выводах порта D,

while (1)
{
for (i = 1; i <= 30; i++) // обнуление проверок на углы
{
randomclean();
}
a = 0;
}
}
 
 Top
Vladimir72
Отправлено: 08 Октября, 2013 - 22:47:22
Post Id



Великий стратег


Сообщений всего: 193
Дата рег-ции: Май 2012  





#include <avr/interrupt.h> //Библиотека прерываний она не используется,
это что на будущее?
for (i = 1; i <= 30; i++) // обнуление проверок на углы?
(Добавление)
void right() //реверсивный разворот вправо
{
PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
PORTC &= ~_BV(PC3); // установить "1" на линии 3 порта C
PORTC |= _BV(PC4); // установить "0" на линии 4 порта C
}

void forward() //движение прямо
{
PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
PORTC |= _BV(PC3); // установить "1" на линии 3 порта C
PORTC &= ~_BV(PC4); // установить "0" на линии 4 порта C
}
здесь не понятно куда он едет прямо или направо ??
 
 Top
Зеля
Отправлено: 09 Октября, 2013 - 09:37:14
Post Id


Рядовой


Сообщений всего: 8
Дата рег-ции: Сент. 2013  





for (i = 1; i <= 30; i++) // обнуление проверок на углы? - после повторения цикла 30раз (3сек так как задержка 100мс) переменная А приобретает значения 0 ф вот тут a = a + 1; //проверка углов она приобретает еденицу тоесть если в течении 3х сек зажимаются бампера больше 3х раз то отъезд назад и разворот (это сделано чтоб не долбилась в углах)


void right() //реверсивный разворот вправо - правое колесо вперёд а левое назад (разворачивается на месте) использован L293D под радиатором


void forward() //движение прямо - едет вперёд


позапутывал функциями чтобы в дальнейшем добавлять другие функции уборки и как приобрету кнопочки сделаю менюшку выбора программ
 
 Top
Зеля
Отправлено: 09 Октября, 2013 - 09:59:08
Post Id


Рядовой


Сообщений всего: 8
Дата рег-ции: Сент. 2013  





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

 
 Top
Vladimir72
Отправлено: 09 Октября, 2013 - 12:50:36
Post Id



Великий стратег


Сообщений всего: 193
Дата рег-ции: Май 2012  





a=a+1; можно записать так a=a++;
a=a-1; a=a--;

(Отредактировано автором: 09 Октября, 2013 - 13:05:10)

 
 Top
Зеля
Отправлено: 12 Октября, 2013 - 19:20:28
Post Id


Рядовой


Сообщений всего: 8
Дата рег-ции: Сент. 2013  





так же заметил что перфорированная монтажная лента из которой сделан каркас является очень хорошим и крепким вариантом для построения различных форм и крепежа всяких модулей (так и называется ПЕРФОРИРОВАННАЯ МОНТАЖНАЯ ЛЕНТА обычно продавцы слышат это названия и тычут скотч махая гривой и плечами) стоимость таковой у нас 50гривен за 20метров в рублях это где то 170
 
 Top
Петр Киселев
Отправлено: 12 Октября, 2013 - 20:00:10
Post Id



Гуру


Сообщений всего: 2395
Дата рег-ции: Окт. 2012  





Зеля, посмотри по этой ссылке:

http://myrobot.ru/forum/topic.ph...opic=452&p=7

Типа твоей монтажной ленты только попрочнее.
 
 Top
Predator Супермодератор
Отправлено: 12 Октября, 2013 - 20:10:17
Post Id


Супермодератор


Сообщений всего: 1160
Дата рег-ции: Июль 2012  





не штукатурные маячки они для жестких прямых "балок", монтажная лента она гибкая из нее гнуть можно и уголки и кольца...
специфический холивар образуется: штукатурка (с маячками) VS гипсокартон (с монтажной лентой).
 
 Top
Петр Киселев
Отправлено: 12 Октября, 2013 - 21:53:09
Post Id



Гуру


Сообщений всего: 2395
Дата рег-ции: Окт. 2012  





Согласен! Просто материала для построения роботов сейчас стало немеряно! Это хорошо.
Только строй!
 
 Top
Зеля
Отправлено: 12 Октября, 2013 - 21:53:54
Post Id


Рядовой


Сообщений всего: 8
Дата рег-ции: Сент. 2013  





.

(Отредактировано автором: 04 Ноября, 2013 - 19:46:50)

 
 Top
Страниц (1): [1]
« Делимся опытом »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown