roboforum.ru

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

Контроллер универс. ORduino, Arduino IDE-совместимый

Правила форума
Правила раздела OpenRobotics

Контроллер универс. ORduino, Arduino IDE-совместимый

=DeaD= » 11 мар 2011, 22:18

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

Подробная информация по модулю на странице: [[ORduino]]

Все вопросы дальнейшей доработки модуля и почему были выбраны те или иные технические решения - в теме forum35/topic7313.html.

Добавлено спустя 1 минуту 26 секунд:
Выложу cheat-sheet для этого контроллера по просьбе vladimirkl1
Вложения
ORduino cheat-sheet.pdf
(168.58 КиБ) Скачиваний: 0

Re: Проект "OR-duino"

izobretatel » 17 мар 2011, 15:19

купил OR-duino. теперь не знаю как его запрограммировать :( я вообще в этом деле новичок, офф сайт ардуины на англ. не могу прочесть(( скачал прогу ArduinoISP так там нет в меню контролера ОРдуина. только АРдуины. помогите пожааалуйста! уже незнаю что делать. только бы пошагово. и не на англ.

Re: Проект "OR-duino"

dccharacter » 17 мар 2011, 15:27


Re: Проект "OR-duino"

SkyStorm » 17 мар 2011, 15:28

Wiki [[ORduino]]
Идешь в каталог где у тебя установлена Arduino IDE, далее hardware, далее arduino
Там лежит файл boards.txt (У меня на компе "c:\Program Files\arduino-0022\hardware\arduino\boards.txt")
Ему в конец вставляешь следующий блок:
Код: Выделить всёРазвернуть
##############################################################

orduino.name=OR-duino w/ ATmega168, 7.3728MHz

orduino.upload.protocol=stk500
orduino.upload.maximum_size=14336
orduino.upload.speed=115200

orduino.bootloader.low_fuses=0xff
orduino.bootloader.high_fuses=0xdd
orduino.bootloader.extended_fuses=0x00
orduino.bootloader.path=atmega
orduino.bootloader.file=ATmegaBOOT_168_orduino.hex
orduino.bootloader.unlock_bits=0x3F
orduino.bootloader.lock_bits=0x0F

orduino.build.mcu=atmega168
orduino.build.f_cpu=7372800L
orduino.build.core=arduino

##############################################################

Re: Проект "OR-duino"

dccharacter » 17 мар 2011, 15:31


Re: Контроллер универс. ORduino, Arduino IDE-совместимый

izobretatel » 09 апр 2011, 18:09

привет, у меня вопрос по ардуино. я вот уже немного освоился в программировании, написал скетч для ардуины чтобы препятствия (на тактильных датчиках) объезжал программа такая: включаю робота, едет вперёд, когда нажимается один датчик то один мотор реверсируется назад 3сек. другой вперёд, потом опять едет вперёд, также и с другим датчиком. так должно работать. а работает так: включаю, один мотор крутит вперёд, а другой назад, при нажатии на датчик оба мотора останавливаются, затем как в начале.
программа такая

#define BUTTON_A 7
#define BUTTON_B 8
int val_1 = 0;
int val_2 = 0;
int pwmA=9, dirA=8;
int pwmB=10, dirB=7;

void setup() {
pinMode(BUTTON_A, INPUT);
pinMode(BUTTON_B, INPUT);
pinMode(pwmA, OUTPUT);
pinMode(pwmB, OUTPUT);
pinMode(dirA, OUTPUT);
pinMode(dirB, OUTPUT);
}

void loop(){
val_1 = digitalRead(BUTTON_A);
val_2 = digitalRead(BUTTON_B);

if (val_1 == HIGH)
{
digitalWrite(dirA,LOW); digitalWrite(pwmA,HIGH);
delay(3000);
if (val_2 == HIGH) {
digitalWrite(dirB,LOW); digitalWrite(pwmB,HIGH);
delay(3000);

}
} else {
digitalWrite(dirA,HIGH); digitalWrite(pwmA,HIGH);
digitalWrite(dirB,HIGH); digitalWrite(pwmB,HIGH);

}

}

где ошибка? можете помочь?

Re: Контроллер универс. ORduino, Arduino IDE-совместимый

avr123.nm.ru » 09 апр 2011, 18:25

Нужно понять что дает замыкание кнопок - 1 или 0 и пока кнопка разомкнута что задает противоположный уровень. Есть ли подтяжка к 0 или к 1 чоб четкий уровень был.

Re: Контроллер универс. ORduino, Arduino IDE-совместимый

izobretatel » 10 апр 2011, 13:13

чего то я не понимаю((( кто может дать нормальную прогу чтобы препятствия объезжал?

Re: Контроллер универс. ORduino, Arduino IDE-совместимый

d3xr » 27 май 2012, 10:17

нет, не может

Re: Контроллер универс. ORduino, Arduino IDE-совместимый

Tsi329 » 30 май 2012, 06:51

Вопрос еще актуальный? Давай я помогу.
Твоя главная проблема: то, что для одного мотора двигаться вперед, то для второго - назад. Они же у тебя по разные стороны робота стоят? Правильно?
Проще всего написать скетч из подпрограмм:
moveForw() - движение вперед;
moveBack() - движение назад;
moveLeft() - движение влево;
moveRight() - движение вправо;
И отладить их, а только потом браться за любой алгоритм. Как, например, объезд препятствий.

Ошибка номер два: способ управления двигателями. Теоретически можно управлять двигателями через ШИМ и дискретно.
ШИМ - широтно-импульсная модуляция. Вариант, когда скорость движения вала двигателя зависит от длинны импульса.
Дискретно - включили - крутится, выключили - нет.

Судя по переменным, ты выбрал ШИМ с дискретным выбором направления движения.
Что это означает? Переменная pwmA - скорость вращения двигателя А, а переменная dirA - направление.
Но судя по программе у тебя чистое дискретное управление. Что имеет право быть, но является неправильным.
Если ты используешь ORduino, то у него встроенный контроллер ШИМ с управлением направления движения. Использовать его самый правильный вариант!!!

Пишем четыре описанных выше подпрограммы:
Сначала пишешь их самыми простыми. Вот пример:
(обрати внимание используется функция analogWrite вместо digitalWrite!!!)
Код: Выделить всёРазвернуть
void moveForw()
{
  analogWrite(pwmA, 255);   - двигатель А установка скорости вращения
  digitalWrite(dirA, HIGH);  - двигатель А направление вращения
  analogWrite(pwmB, 255);  - тоже, но для Б
  digitalWrite(dirB, LOW);  - тоже, но для Б
}


Пишешь простой скетч, где поочередно вызываешь только одну из перечисленных подпрограмм и проверяешь, что робот
на команду moveForv() едет именно вперед, а не, например, назад.
Код: Выделить всёРазвернуть
void loop(){
  moveForw();
}


Еще твоя ошибка - операторные скобки, но о них имеет смысл говорить только тогда, когда ты напишешь все перечисленные выше подпрограммы и отладишь их. Тогда твоя программа обретет визуальную легкочитаемую структуру.

Удачи! Пиши.

P.S. ORduino cheat-sheet.pdf - допущена ошибка в MOTORS TEST Example! =DeaD=, исправьте, plz. Это вводит в ступор новичков!


cron
Rambler\'s Top100 Mail.ru counter