roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 00:11

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 20 апр 2010, 16:33 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
to enzimscd: а вообще программатор сам у тебя какой? STK200?

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 20 апр 2010, 17:27 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
у него масеркитовская поделка


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Задержка времени
СообщениеДобавлено: 21 апр 2010, 21:26 
Не в сети
Аватара пользователя

Зарегистрирован: 22 авг 2009, 17:47
Сообщения: 25
Откуда: ладыжин
Подскажите как в bascom сделать такую программу: запускаем двигатель с одной скоростью, через 5 секунд его скорость уменьшается. Мы ведь speed определили до DO. Я имею ввиду:
Код:
Dim Speed As Byte
Speed =70
Do
Drl =0
Drr =0
Pwb1b =Speed;Pwm1a =Speed
Loop


А потом как занести в него другое значение?Я написал так(но там все не так):

Код:
$regfile = "m32def.dat"                                     ' файл спецификации Меги32
$crystal = 7372800                                          ' указываем на какой частоте будем работать

'----------------------------------------------------------------------------
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Pinc.2 = Output : Drl Alias Portc.2                  'ногу сконфигурировали как выход и обозвали Drl
Config Pinc.3 = Output : Drr Alias Portc.3                  'ногу сконфигурировали как выход и обозвали Drr
Config Pind.4 = Output                                      'ногу ШИМа левого  движка сконфигурировали как выход
Config Pind.5 = Output                                      'ногу ШИМа правого движка сконфигурировали как выход
'----------------------------------------------------------------------------
Dim Speed As Byte
Speed = 90                                                  'Возможно задание скорости в пределах от 70 до 255

Do
  Drl = 1                                                   'направление движения левого движка, в моём случае это прямо
  Drr = 1                                                   'направление движения правого движка, в моём случае это прямо
  Pwm1b = Speed : Pwm1a = Speed

Loop
                                                        'Возможно задание скорости в пределах от 70 до 255
     Waitms 5000
          Speed = 150
Do
  Drl = 1                                                   'направление движения левого движка, в моём случае это прямо
  Drr = 1                                                   'направление движения правого движка, в моём случае это прямо
  Pwm1b = Speed : Pwm1a = Speed
Loop


Добавлено спустя 47 минут 56 секунд:
Re: Мой minibot
У меня программатор вот такой: http://www.masterkit.ru/main/set.php?code_id=216002


Последний раз редактировалось EdGull 21 апр 2010, 22:04, всего редактировалось 2 раз(а).
!!! Не забываем тэг Code !!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 21 апр 2010, 21:52 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
У тебя пример неверный - из 1го бесконечного цикла программа никогда не выйдет, соответственно во второй цикл никогда не попадешь. Проще всего сделать так: объявляешь переменную Speed глобально, то есть в начале программы, создаешь прерывание по таймеру, им отсчитываешь 5 секунд, по истечении этого времени переменной Speed присваиваешь новое значение

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 21 апр 2010, 22:23 
Не в сети
Аватара пользователя

Зарегистрирован: 22 авг 2009, 17:47
Сообщения: 25
Откуда: ладыжин
А как именно указать чтобы прерывание происходило через 5 сек?


Код:
$regfile = "m32def.dat"                                     ' файл спецификации Меги32
$crystal = 7372800                                          ' указываем на какой частоте будем работать

'----------------------------------------------------------------------------
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Pinc.2 = Output : Drl Alias Portc.2                  'ногу сконфигурировали как выход и обозвали Drl
Config Pinc.3 = Output : Drr Alias Portc.3                  'ногу сконфигурировали как выход и обозвали Drr
Config Pind.4 = Output                                      'ногу ШИМа левого  движка сконфигурировали как выход
Config Pind.5 = Output                                      'ногу ШИМа правого движка сконфигурировали как выход
'----------------------------------------------------------------------------
Dim Speed As Byte
Speed = 90                                                  'Возможно задание скорости в пределах от 70 до 255
Enable Timer0
Enable Interrupts
  Config Timer0 = Timer , Prescale = 1024
Do
  Drl = 1                                                   'направление движения левого движка, в моём случае это прямо
  Drr = 1                                                   'направление движения правого движка, в моём случае это прямо
  Pwm1b = Speed : Pwm1a = Speed

Loop
                                                        'Возможно задание скорости в пределах от 70 до 255
Timer0:
   Speed = 150


Последний раз редактировалось enzimscd 21 апр 2010, 23:27, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 21 апр 2010, 22:37 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Что именно непонятно? Как прерывание по переполнению таймера делать - можно в обучалке по баскому найти, там же написано как вычислить период по которому происходит переполнение по таймеру. То есть завести переменную, инкременируемую при каждом переполнении таймера, потом пересчитать, по какому ее значению проходит 5 секунд, и при сравнении ее с этим значением менять скорость, обнуляя ее потом. В общем весь алгоритм рассказал, осталось тебе только запрограммировать его. Обучалка по баскому: http://avr.easycoding.org/bascom_lessons/index.htm

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 22 апр 2010, 22:36 
Не в сети
Аватара пользователя

Зарегистрирован: 22 авг 2009, 17:47
Сообщения: 25
Откуда: ладыжин
Подскажите пожалуйста на каком порту находится приемник инфракрасного излучения...PD6?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 23 апр 2010, 08:54 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
В версии 2.1 минибота на порту PD.3. А вообще на любой порт повесить можно

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 23 апр 2010, 13:48 
Не в сети
Аватара пользователя

Зарегистрирован: 22 авг 2009, 17:47
Сообщения: 25
Откуда: ладыжин
А в версии 2.1 как мне подключить дальномер? На какой разъем? Не могу сам разобраться...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 23 апр 2010, 13:53 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
на любой АЦП (ADC) только не забудь что шарпу нужно 5В


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 23 апр 2010, 14:03 
Не в сети
Аватара пользователя

Зарегистрирован: 22 авг 2009, 17:47
Сообщения: 25
Откуда: ладыжин
На плате АЦП - это Х10,Х11,Х12. Я не ошибся?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 23 апр 2010, 14:22 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
да, ты не ошибся.
Но на сколько я помню у тебя не полная комплектация, а значит у тебя нет Меги88
прийдется тебе перемычку кидать на один из свободных портов АЦП меги32


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 23 апр 2010, 18:51 
Не в сети
Аватара пользователя

Зарегистрирован: 22 авг 2009, 17:47
Сообщения: 25
Откуда: ладыжин
Как мне ее найти? Вы на счет перемычки можете подробнее рассказать? Или подпаиваться самому искать АЦП на 32-ой?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 23 апр 2010, 18:58 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
кого ее?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой minibot
СообщениеДобавлено: 23 апр 2010, 19:01 
Не в сети
Аватара пользователя

Зарегистрирован: 22 авг 2009, 17:47
Сообщения: 25
Откуда: ладыжин
У меня еще такой вопрос: я программирую на ассемблере и теперь не знаю как мне обработать PD.3,чтобы контроллер понял информацию, приходящую с TSOP. Если бы я использовл BASCOM,то взял бы за шаблон предложенную на форуме программу. Но кнопка пульта присылает код ,например, 63...Если бы эта цифра пришла на порт, я бы разобрался, но PD.3 это один бит,т.е. 1 или 0...Или посмотреть дополнительные возможности вывода PD.3? Может там через передатчик или как?

Добавлено спустя 1 минуту 38 секунд:
Цитата:
кого ее?
Цитата:

Перемычку.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO