roboforum.ru

Технический форум по робототехнике.

Уроки программирования робота для чайников

Re: Уроки программирования робота для чайников

Qzen » 15 июн 2009, 17:52

А я не подключал терминал, зачем? Прога же на управление миниботом =) На терминал вроде ничего не выводится =)

Re: Уроки программирования робота для чайников

Ven-Tures » 15 июн 2009, 18:32

C подключенным терминалом дальше надписи Старт Минибот не идет.

Добавлено спустя 2 минуты 28 секунд:
Может батарейка в пульте нерабочая была?

Добавлено спустя 19 минут 55 секунд:
Я сделал это ура! Заработало! Всем спасибо!

Re: Уроки программирования робота для чайников

Qzen » 15 июн 2009, 18:33

Да не ,погоди ,ты какой код шьёшь? Если мой, то там и не должно быть ничего в терминале, потому как перед строчками print adress и пр. стоят ' и получается, что это не код, а комментарий. Главный итог этой проги - езда минибота. Он у тебя ездит?

Добавлено спустя 23 секунды:
Поздравляю! :))

Re: Уроки программирования робота для чайников

Ven-Tures » 15 июн 2009, 18:46

Только ещё вопрос, у тебя он сразу понимает, что надо ехать влево или вправо. И ещё, назад что-то не едет у меня.

Добавлено спустя 6 минут 29 секунд:
Вообще создалось такое чувство, что он моторы во все стороны одинаково крутит...

Re: Уроки программирования робота для чайников

Qzen » 15 июн 2009, 19:47

Ну да ,сразу =)
Да нет же, я же объяснял в теме для новичков, что к чему =) Там в зависимости от значений Drl и Drr мотор крутится либо назад, либо вперёд. У меня ,скажем, при 1 и 1 едет вперёд, соответственно при 0 и 0 должен ехать назад =) Тут уже надо самому подправлять код =)
Попробуй на примере этого кода поиграть со значениями и направлением движения:
Код: Выделить всёРазвернуть
'$prog &HFF , &HBD , &HC9 , &H00
$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 = 100

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

Только осторожнее, после прошивки робот сразу поедет или вперёд или назад :)) В зависимости от полярности напряжения. =) Ну и потом попробуй выставить
Код: Выделить всёРазвернуть
Drl = 0 и Drr = 0

Re: Уроки программирования робота для чайников

Ven-Tures » 15 июн 2009, 20:40

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

Добавлено спустя 4 минуты 2 секунды:
Моторы стоят, сервы переделаны на полное вращение, электроника снята, просто 2 проводка к мотору и к миниботу.

Re: Уроки программирования робота для чайников

Qzen » 16 июн 2009, 10:18

Решил подключить экранчик, возник вопрос. Я взял за исходник код с вики:
Код: Выделить всёРазвернуть
$hwstack = 128
$swstack = 128
$framesize = 128

$regfile = "m32def.Dat"
$crystal = 7372800
$baud = 1200

$include "LCD_Siemens_S65.cfg"

Config Adc = Single , Prescaler = Auto , Reference = Internal
Dim W As Word , J As Single

Cls
Box(0 , 0) ,(176 , 131) , White

Do
   Lcdat 1 , 0 , "MiniBot" , Blue , White
   Lcdat 8 , 0 , "Roboforum.ru" , Blue , White

   Start Adc : W = Getadc(7) : Stop Adc : J = W / 400 : J = J * 2

   Lcdat 16 , 0 , "Akb=" ; J , 0 , 255
   Lcdat 24 , 0 , "4" , Blue , White
   Lcdat 32 , 0 , "5" , Blue , White
   Lcdat 40 , 0 , "6" , Blue , White
   Lcdat 48 , 0 , "7" , Blue , White
   Lcdat 56 , 0 , "8" , Blue , White
   Lcdat 64 , 0 , "9" , Blue , White
   Lcdat 72 , 0 , "10" , Blue , White
   Lcdat 80 , 0 , "11" , Blue , White
   Lcdat 88 , 0 , "12" , Blue , White
   Lcdat 96 , 0 , "13" , Blue , White
   Lcdat 104 , 0 , "14" , Blue , White
   Lcdat 112 , 0 , "15" , Blue , White
   Lcdat 120 , 0 , "16" , Blue , White
   Lcdat 128 , 0 , "17" , Blue , White
   Lcdat 136 , 0 , "18" , Blue , White
   Lcdat 142 , 0 , "19" , Blue , White
   Lcdat 150 , 0 , "20" , Blue , White
   Lcdat 158 , 0 , "21" , Blue , White
   Lcdat 166 , 0 , "22" , Blue , White

   Wait 1
Loop

Тут возникла пара вопросов, например, по поводу файла "LCD_Siemens_S65.cfg" - где его взять?
Там же в аттаче есть архивчик, в котором есть файл примерно с таким названием, но при его подключении ошибок меньше не становится.
Что делать? :) Или где-то можно взять рабочий код? :)

Re: Уроки программирования робота для чайников

EdGull » 16 июн 2009, 10:42

рабочие коды находятся у меня в магазине.
соответсвенно код на ЖКИ находится на страничке ЖКИ
http://shop.minibot.ru/product_95.html

Re: Уроки программирования робота для чайников

galex1981 » 16 июн 2009, 10:42

Рабочий код возьми у меня, где подключение Шарпа к миниботу

Re: Уроки программирования робота для чайников

Габбасов Руслан » 16 июн 2009, 14:19

А как можно программировать инфракрасные датчики?

Re: Уроки программирования робота для чайников

SkyStorm » 16 июн 2009, 14:31

Руслан, когда спрашиваеш будь конкретнее. Инфрокрасных датчиков как минимум 3 вида
1. ИК пара
2. TSOP + излучатель
3. Дальномеры Sharp
Их не програмируют, их подключают к разным портам МК. А сам МК уже програмируют.

Re: Уроки программирования робота для чайников

Габбасов Руслан » 16 июн 2009, 14:34

ик пара.как именно программировать контроллер(код)?

Re: Уроки программирования робота для чайников

SkyStorm » 16 июн 2009, 14:40

Приемник подключаеш на АЦП. И считываеш данные. Пример для АЦП 0.
Код: Выделить всёРазвернуть
Config Adc = Single , Prescaler = Auto , Reference = Internal
Dim V As Word

Print "IR Test"

Do
   Start Adc : V = Getadc(0)                                'connected to PA=0(ADC0)
   Stop Adc
   Print "ADC chenel= 0, V= "; V
   Wait 1
Loop


Re: Уроки программирования робота для чайников

Габбасов Руслан » 16 июн 2009, 14:44

А можно для нубера поподробнее?что,где и почем.

Re: Уроки программирования робота для чайников

SkyStorm » 16 июн 2009, 14:46

SkyStorm писал(а):Руслан, когда спрашиваеш будь конкретнее.


Rambler\'s Top100 Mail.ru counter