roboforum.ru

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


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

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

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

Сообщение SkyStorm » 25 дек 2008, 18:28

[[Электронный компас]] CMPS03 производства Devantech.
Добавлен код на Bascom-AVR.
Никто кроме нас!!!
4Robots.ru - Все для роботов!
Аватара пользователя
SkyStorm
 
Сообщения: 2687
Зарегистрирован: 05 фев 2008, 15:33
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович

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

Сообщение Qzen » 10 июн 2009, 23:49

Объясните мне неучу - чем плохи те программы ,что лежат на вике, по отношению к миниботу 2.0?
Для этого давайте разбираться на примере. Начнём с самого первого урока:
Код: Выделить всёРазвернуть
$prog &HFF , &HE4 , &HD9 , &H00       'указываем какие фусибиты надо прошить
$regfile = "m32def.dat"       ' файл спецификации Меги32
$crystal = 8000000       ' указываем на какой частоте будем работать

'----------------------------------------------------------------------------
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 = 70

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


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

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

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

Минус у тех программ тот, что ноги не те используются в миниботе 1.0 по сравнению с миниботом 2.0

Добавлено спустя 45 секунд:
То есть если ты делаешь программу под минибота 2.0, ты должен не бездумно скопировать код из вики а еще и переделать его под минибота 2.0

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

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

Сообщение Qzen » 11 июн 2009, 00:07

Код: Выделить всёРазвернуть
$prog &HFF , &HE4 , &HD9 , &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 = 70

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

То есть этого будет достаточно для Минибота 2.0 для того, чтобы он поехал прямо с минимальной скоростью, так?
И ещё вопрос - по какому принципу выставлются Фусибиты?
В тестовой прошивке они от такие: $prog &HFF , &HBD , &HC9 , &H00 ... какие брать?
Аватара пользователя
Qzen
 
Сообщения: 60
Зарегистрирован: 22 мар 2009, 00:26
Откуда: Москва
Skype: qzen666
прог. языки: C++
ФИО: Михайлов Дмитрий

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

Сообщение galex1981 » 11 июн 2009, 00:14

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

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

Сообщение Qzen » 12 июн 2009, 13:46

Код: Выделить всёРазвернуть
'$prog &HFF , &HE4 , &HD9 , &H00      
$regfile = "m32def.dat"                                     
$crystal = 7372800                                         
$baud = 2400                                               

'----------------------------------------------------------------------------
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                 
Config Pinc.3 = Output : Drr Alias Portc.3                 
Config Pind.4 = Output                                       
Config Pind.5 = Output                                     
'----------------------------------------------------------------------------

Dim Speed As Byte
Speed = 70

Print "Start MiniBot"

Do

Loop


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

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

Сообщение galex1981 » 12 июн 2009, 13:55

Фусибиты вообще советую не трогать, а скорость также можно любую поставить...

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

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

Сообщение Qzen » 12 июн 2009, 17:30

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

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

Сообщение MiBBiM » 12 июн 2009, 17:51

когда бота к компу подключаешь, выставляй одну и ту же скорость и в терминале, и в прошивке
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

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

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

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

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

Сообщение EdGull » 14 июн 2009, 15:39

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

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

Сообщение Qzen » 14 июн 2009, 16:02

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

'----------------------------------------------------------------------------
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 = 70

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

Print "Start MiniBot3456"

Do
   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
Loop

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

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

Сообщение EdGull » 14 июн 2009, 16:06

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

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

Сообщение Qzen » 14 июн 2009, 16:09

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

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

Сообщение EdGull » 14 июн 2009, 16:15

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

Пред.След.

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

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

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