Воскресенье, 19.05.2024, 23:24
| RSS
[SEARCH_TITLE]
[SEARCH_FORM]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Архив - только для чтения
Форум » Мастерская » Идеи, предложения и их реализация. » Четырех ногий робот (Хочу сделать робота на четырех ногах)
Четырех ногий робот
SpaceДата: Воскресенье, 06.04.2008, 22:24 | Сообщение # 46








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Что правдо всё работает? Так как надо? surprised
А видео будет(демонстрационное)?
Поздравляю, если всё действительно работает clapping clapping clapping clapping clapping
 
LesДата: Воскресенье, 06.04.2008, 22:43 | Сообщение # 47








Группа: Удаленные
Молодца! Так держать! clapping
А как добился та? Где ошибка была?
 
AsonDДата: Воскресенье, 06.04.2008, 23:13 | Сообщение # 48








Язык программированя: C, Pascal
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 259
Город: Череповец
Статус: Offline
Первая ошибка, это неверные цифирки были, вторая ошибка - я такие значения вставлял, но перед сохранением каждый раз забывал компилировать проект, поэтому тогда у меня этого не удалось, а щас работаит)

Тока вопрос следующий, как подконнект следующую серву так, чтобы все это дело работало одновременно и работало?


A.S.A.Robotics.com
 
AsonDДата: Воскресенье, 06.04.2008, 23:20 | Сообщение # 49








Язык программированя: C, Pascal
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 259
Город: Череповец
Статус: Offline
Вот конечный вариант проги для одной сервы, для изменения угла поворота нужно менять значение задержки (delay_us), которое относитсо к PortC.?(ну порт С любой - 0, 1, 2 и т.д.? не суть) = 1; тоесть менять надо значение, которое тут являетсо 480

Code
#include <mega16.h>
#include <delay.h>

void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0xFF;

while (1)
       {
PORTC.1 = 0;
delay_us(20000);
PORTC.1 = 1;
delay_us(480);  
};   
}


A.S.A.Robotics.com
 
SpaceДата: Воскресенье, 06.04.2008, 23:45 | Сообщение # 50








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
По идеи они должны работать по очереди, если без датчиков, то есть так как указал ниже. Отработала 1 серва, начинает работать 2, а потом 3, а дальше заново. Вообщем похожа на маю прогу для проверки моторов
Если не ошибаюсь, то так:
Code
#include <mega16.h>
#include <delay.h>

void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0xFF;

while (1)
        {
PORTC.1 = 0;
delay_us(20000);
PORTC.1 = 1;
delay_us(480);   
};  
{
PORTC.2 = 0;
delay_us(20000);
PORTC.2 = 1;
delay_us(480);   
};  
{
PORTC.3 = 0;
delay_us(20000);
PORTC.3 = 1;
delay_us(480);   
};  
}
 
AsonDДата: Воскресенье, 06.04.2008, 23:47 | Сообщение # 51








Язык программированя: C, Pascal
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 259
Город: Череповец
Статус: Offline
А как сделать так чтобы одновременно?

A.S.A.Robotics.com
 
SpaceДата: Понедельник, 07.04.2008, 07:50 | Сообщение # 52








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Попробуй так:
Code
#include <mega16.h>
#include <delay.h>

void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0xFF;

while (1)
         {
PORTC.1 = 0;
PORTC.2 = 0;
delay_us(20000);
PORTC.1 = 1;
PORTC.2 = 1;
delay_us(480);    
};   
}
 
AsonDДата: Понедельник, 07.04.2008, 15:51 | Сообщение # 53








Язык программированя: C, Pascal
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 259
Город: Череповец
Статус: Offline
Ну так и я мог сделать)) А как сделать так чтобы под разным углом все поворачивались?

A.S.A.Robotics.com
 
SpaceДата: Понедельник, 07.04.2008, 19:56 | Сообщение # 54








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Тебе нужна была одновременная работа серв вот я тебе и показал как прога должна выглядить. А чтоб под разным углом это тебе с задержкой надо эксперементировать
 
AsonDДата: Понедельник, 07.04.2008, 21:18 | Сообщение # 55








Язык программированя: C, Pascal
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 259
Город: Череповец
Статус: Offline
Нет, если делать так, то ничего не выйдет, по твоей версии порт С1 и С2 будут поворачивать на одинаковый угол, вне зависимости от того, какое значение мы введем в задержку

A.S.A.Robotics.com

Сообщение отредактировал AsonD - Понедельник, 07.04.2008, 21:21
 
SpaceДата: Понедельник, 07.04.2008, 21:39 | Сообщение # 56








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Были бы у меня нормальные не переделанные сервы я б сейчас сам попробовал бы. Нет там полюбому с задержкой надо эксперементировать. А иначе как он у тебя поворачивает на определённый угол. Сам что ли команды с выше берёт lol
 
AsonDДата: Понедельник, 07.04.2008, 22:39 | Сообщение # 57








Язык программированя: C, Pascal
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 259
Город: Череповец
Статус: Offline
я не о том, я про то, что сервы будут поворачивать одинаково, мне надо БЫЛО узнать как сделать так, чтобы они одновременно поворачивались, но на разные углы

A.S.A.Robotics.com
 
AsonDДата: Понедельник, 07.04.2008, 23:16 | Сообщение # 58








Язык программированя: C, Pascal
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 259
Город: Череповец
Статус: Offline
Но! Мне подсказали как это сделать!!! =)) смотрите:

Code

#include <mega16.h>
#include <delay.h>

void main(void)
{  
char i;
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0xFF;

i = 0;
while(1)
{
PORTC.1 = 0;
PORTC.0 = 0;
delay_us(10000);

if (i == 0)
{
PORTC.1 = 1;  
delay_us(400);
i = 1;}
else
{
PORTC.0 = 1;
delay_us(420);
i = 0;
};
}  
}


A.S.A.Robotics.com
 
SpaceДата: Вторник, 08.04.2008, 07:27 | Сообщение # 59








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Ну и как работает?
 
DoniakДата: Вторник, 08.04.2008, 14:16 | Сообщение # 60








Язык программированя: CodeVisionAVR Си
Зарегистрирован 19.03.2008
Группа: Модераторы
Сообщений: 584
Город: Кривой Рог (Днепропетровск)
Статус: Offline
фото робота самого незя показать? интересно acute
 
Форум » Мастерская » Идеи, предложения и их реализация. » Четырех ногий робот (Хочу сделать робота на четырех ногах)
Поиск: