roboforum.ru

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


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

Готовая электроника для самодельного робота. Уровень от начинающих до опытных конструкторов.

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

Сообщение Ven-Tures » 14 июн 2009, 21:27

тут
Изображение
Ven-Tures
 
Сообщения: 53
Зарегистрирован: 03 мар 2009, 16:24
Откуда: Пермь

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

Сообщение Qzen » 15 июн 2009, 06:39

Поменял, тут творится интересная штука, адреса он все равно не выдает =)
Он выдает нечто вроде: 36А-00001111, 35А-00001111 и т.д. используя эти два значения =) - это на скорости 115200.
На скорости 2400 он пишет подряд: КККККК и т.д. до бесконечности.
А интересного тут то, что при прошивке тестовой прошивки происходит вышеописанное для скорости 115200. Значит, определённая закономерность есть =)
И вообще, попробуйте кто-нибудь, у кого-нибудь такая прога пашет как надо? Может, косяк в коде? :)
Аватара пользователя
Qzen
 
Сообщения: 60
Зарегистрирован: 22 мар 2009, 00:26
Откуда: Москва
Skype: qzen666
прог. языки: C++
ФИО: Михайлов Дмитрий

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

Сообщение galex1981 » 15 июн 2009, 10:15

В коде никакого косяка нет, уже много раз пробовал.
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

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

Сообщение Qzen » 15 июн 2009, 16:30

Короче, не знаю, что за шлак он печатает помимо адресов и кодов, но тем не менее он их печатает. На скорости 2400 ещё можно это проследить .а вот на 115200 уже практически невозможно.
За что отвечает строчка Print Chr(12)??
А в целом фиг бы с ним, с терминалом, главное, что от пульта бот работает. Всем спасибо за помощь =)
Аватара пользователя
Qzen
 
Сообщения: 60
Зарегистрирован: 22 мар 2009, 00:26
Откуда: Москва
Skype: qzen666
прог. языки: C++
ФИО: Михайлов Дмитрий

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

Сообщение galex1981 » 15 июн 2009, 16:41

Строчка Print Chr(12) означает перевод на другую строку в терминале
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

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

Сообщение Qzen » 15 июн 2009, 16:42

Найден косяк - надо было Выключить минибота и снова включить, тогда всё будет шикарно! :))
Аватара пользователя
Qzen
 
Сообщения: 60
Зарегистрирован: 22 мар 2009, 00:26
Откуда: Москва
Skype: qzen666
прог. языки: C++
ФИО: Михайлов Дмитрий

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

Сообщение blindman » 15 июн 2009, 16:47

galex1981 писал(а):Строчка Print Chr(12) означает перевод на другую строку в терминале
Это символ Form Feed - в принтерах означал перемотку бумаги до следующей страницы. Для перехода на новую строку надо 0x0A [chr(10), Line Feed], 0x0D [chr(13), Carridge Return] или 0x0A 0x0D - зависит от настроек терминала
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

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

Сообщение Ven-Tures » 15 июн 2009, 17:14

А в целом фиг бы с ним, с терминалом, главное, что от пульта бот работает. Всем спасибо за помощь =)


Ты какую прогу прошил, что робот стал работать?
Ven-Tures
 
Сообщения: 53
Зарегистрирован: 03 мар 2009, 16:24
Откуда: Пермь

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

Сообщение galex1981 » 15 июн 2009, 17:16

Да любая из прог с кодом RC5 будет работать
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

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

Сообщение Ven-Tures » 15 июн 2009, 17:22

ну вот это прошил и ничего.
Код: Выделить всёРазвернуть
$prog &HFF , &HE4 , &HD9 , &H00       'указываем какие фусибиты надо прошить
$regfile = "m32def.dat"       ' файл спецификации Меги32
$crystal = 8000000       ' указываем на какой частоте будем работать
$baud = 9600       ' указываем частоту дла usart (теперь нужно только для отладки программы)

'----------------------------------------------------------------------------
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 = 200       ' указываем скорость робота

Config Rc5 = Pind.3
Enable Interrupts
Dim Address As Byte , Command As Byte

Print "Start MiniBot"       ' выводим в терминал отладочное сообщение

Do
   Gosub Прием_rc5
   If Command = 255 Then
      Gosub Стоп
   Elseif Command = 32 Then
      Gosub Прямо
      Waitms 100
   Elseif Command = 33 Then
      Gosub Назад
      Waitms 100
   Elseif Command = 17 Then
      Gosub Влево
      Waitms 100
   Elseif Command = 16 Then
      Gosub Вправо
      Waitms 100
   End If
Loop

Прием_rc5:
   Getrc5(address , Command)
   If Address <> 255 And Command <> 255 Then
      Command = Command And &B01111111
      'Print Chr(12);       ' выводим в терминал символ
      'Print "Address - " ; Address;       ' выводим в терминал адрес
      'Print "Command - " ; Command;       ' выводим в терминал номер команды
   End If
Return

Влево:
   Gosub Стоп : Waitms 10
   Drl = 1 : Drr = 0 : Pwm1b = Speed : Pwm1a = Speed:
Return

Вправо:
   Gosub Стоп : Waitms 10
   Drl = 0 : Drr = 1 : Pwm1b = Speed : Pwm1a = Speed:
Return

Прямо:
   Gosub Стоп : Waitms 10
   Drl = 0 : Drr = 0 : Pwm1b = Speed : Pwm1a = Speed:
Return

Назад:
   Gosub Стоп : Waitms 10
   Drl = 1 : Drr = 1 : Pwm1b = Speed : Pwm1a = Speed:
Return

Стоп:
   Drl = 0 : Drr = 0 : Pwm1b = 0 : Pwm1a = 0:
Return
Ven-Tures
 
Сообщения: 53
Зарегистрирован: 03 мар 2009, 16:24
Откуда: Пермь

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

Сообщение EdGull » 15 июн 2009, 17:25

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

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

Сообщение Ven-Tures » 15 июн 2009, 17:27

2.0
Ven-Tures
 
Сообщения: 53
Зарегистрирован: 03 мар 2009, 16:24
Откуда: Пермь

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

Сообщение Qzen » 15 июн 2009, 17:37

Код: Выделить всёРазвернуть
'$prog &HFF , &HE4 , &HD9 , &H00       'указываем какие фусибиты надо прошить
$regfile = "m32def.dat"                                     ' файл спецификации Меги32
$crystal = 7372800                                          ' указываем на какой частоте будем работать
$baud = 115200                                              ' указываем частоту дла usart (теперь нужно только для отладки программы)

'----------------------------------------------------------------------------
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                                                 ' указываем скорость робота

Config Rc5 = Pind.3
Enable Interrupts
Dim Address As Byte , Command As Byte

Print "Start MiniBot"                                       ' выводим в терминал отладочное сообщение

Do
   Gosub Прием_rc5
   If Command = 255 Then
      Gosub Стоп
   Elseif Command = 32 Then
      Gosub Прямо
      Waitms 100
   Elseif Command = 33 Then
      Gosub Назад
      Waitms 100
   Elseif Command = 17 Then
      Gosub Влево
      Waitms 100
   Elseif Command = 16 Then
      Gosub Вправо
      Waitms 100
   End If
Loop

Прием_rc5:
   Getrc5(address , Command)
   If Address <> 255 And Command <> 255 Then
      Command = Command And &B01111111
      'Print Chr(12);       ' выводим в терминал символ
      'Print "Address - " ; Address;       ' выводим в терминал адрес
      'Print "Command - " ; Command;       ' выводим в терминал номер команды
   End If
Return

Влево:
   Gosub Стоп : Waitms 10
   Drl = 1 : Drr = 0 : Pwm1b = Speed : Pwm1a = Speed:
Return

Вправо:
   Gosub Стоп : Waitms 10
   Drl = 0 : Drr = 1 : Pwm1b = Speed : Pwm1a = Speed:
Return

Прямо:
   Gosub Стоп : Waitms 10
   Drl = 0 : Drr = 0 : Pwm1b = Speed : Pwm1a = Speed:
Return

Назад:
   Gosub Стоп : Waitms 10
   Drl = 1 : Drr = 1 : Pwm1b = Speed : Pwm1a = Speed:
Return

Стоп:
   Drl = 0 : Drr = 0 : Pwm1b = 0 : Pwm1a = 0:
Return

Все коды пульта здесь: http://content.foto.mail.ru/list/qzen/59/i-89.jpg
Аватара пользователя
Qzen
 
Сообщения: 60
Зарегистрирован: 22 мар 2009, 00:26
Откуда: Москва
Skype: qzen666
прог. языки: C++
ФИО: Михайлов Дмитрий

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

Сообщение Ven-Tures » 15 июн 2009, 17:47

И у тебя и без терминала работает да?

Просто, чёт дальше тишина...
Ven-Tures
 
Сообщения: 53
Зарегистрирован: 03 мар 2009, 16:24
Откуда: Пермь

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

Сообщение EdGull » 15 июн 2009, 17:49

Ven-Tures писал(а):2.0

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

Пред.След.

Вернуться в МиниБот — национальный класс роботов

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

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