Контроллер универс. 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
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение izobretatel » 17 мар 2011, 15:19

купил OR-duino. теперь не знаю как его запрограммировать :( я вообще в этом деле новичок, офф сайт ардуины на англ. не могу прочесть(( скачал прогу ArduinoISP так там нет в меню контролера ОРдуина. только АРдуины. помогите пожааалуйста! уже незнаю что делать. только бы пошагово. и не на англ.
izobretatel
 
Сообщения: 58
Зарегистрирован: 11 фев 2011, 13:15
ФИО: Швецов Виталий Сергеевич

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

Сообщение dccharacter » 17 мар 2011, 15:27

Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

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

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

Сообщение dccharacter » 17 мар 2011, 15:31

Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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);

}

}

где ошибка? можете помочь?
izobretatel
 
Сообщения: 58
Зарегистрирован: 11 фев 2011, 13:15
ФИО: Швецов Виталий Сергеевич

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

Сообщение avr123.nm.ru » 09 апр 2011, 18:25

Нужно понять что дает замыкание кнопок - 1 или 0 и пока кнопка разомкнута что задает противоположный уровень. Есть ли подтяжка к 0 или к 1 чоб четкий уровень был.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

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

Сообщение izobretatel » 10 апр 2011, 13:13

чего то я не понимаю((( кто может дать нормальную прогу чтобы препятствия объезжал?
izobretatel
 
Сообщения: 58
Зарегистрирован: 11 фев 2011, 13:15
ФИО: Швецов Виталий Сергеевич

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

Сообщение d3xr » 27 май 2012, 10:17

нет, не может
Аватара пользователя
d3xr
 
Сообщения: 201
Зарегистрирован: 01 июн 2010, 08:04
Откуда: Казань

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. Это вводит в ступор новичков!
Tsi329
 
Сообщения: 135
Зарегистрирован: 24 авг 2010, 11:48
Откуда: Минск
прог. языки: C++,C,Asm


Вернуться в Open Robotics

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

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