Как управлять с пульта?

Как собрать и запрограммировать робота на Arduino(Freeduino, Roboduino, Seeduino ...). Используем Wiring и Processing.

Как управлять с пульта?

Сообщение nsk-racer » 19 апр 2011, 08:12

Как управлять с пульта? Есть ардуина и нужно, чтобы с модельной аппаратуры управлять роботом, там есть приёмник и с него 3 выхода серва, мотор, AUX, я думаю многие знакомы с ними?
Вот такая аппаратура:
http://www.himodel.com/radios/2.4Ghz_3- ... _N-4Q.html
Мой блог о роботах http://robo-world.ru
nsk-racer
 
Сообщения: 141
Зарегистрирован: 08 дек 2010, 19:27
Откуда: Новосибирск
прог. языки: C и PHP
ФИО: Павел

Re: Как управлять с пульта?

Сообщение =DeaD= » 19 апр 2011, 08:32

На ардуине есть команда PulseIn - через неё читайте сервовыход приёмника.
На приёмнике вроде все выходы - серво, или ошибаюсь?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Как управлять с пульта?

Сообщение nsk-racer » 19 апр 2011, 09:04

Да все выходы серво :) Вроде нашёл способ считывать :) Как раз с помощью этой команды, спасибо
Мой блог о роботах http://robo-world.ru
nsk-racer
 
Сообщения: 141
Зарегистрирован: 08 дек 2010, 19:27
Откуда: Новосибирск
прог. языки: C и PHP
ФИО: Павел

Re: Как управлять с пульта?

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

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

Re: Как управлять с пульта?

Сообщение nsk-racer » 19 апр 2011, 10:00

Он у меня кажется тоже есть, т.к. 4 выхода, а у меня всего 3 канала!
Столкнулся уже с проблемой, функцией мап делаю значения от 0 до 180, чтобы управлять сервами, но проблема в том, что число не стоит на месте а ходит в пределах -+2 единиц от 90 и как результат дёргаются моторы, как бороться? Вот часть кода:
Код: Выделить всё
val1 = pulseIn(PPMin1, HIGH, 20000);      считываем 1 канал
    val2 = map(val1, 1000, 2011, 0, 180);  // данные с аппы от 1000 до 2011
    myservo.write(val2);
    myservon.write(val2);

Значение скачет между 88-92 в 90 не стоит
Мой блог о роботах http://robo-world.ru
nsk-racer
 
Сообщения: 141
Зарегистрирован: 08 дек 2010, 19:27
Откуда: Новосибирск
прог. языки: C и PHP
ФИО: Павел


Вернуться в Arduino и другие Xduino

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

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