я попробовал ету конструкцию http://principialabs.com/arduino-pyt...servo-control/
Вид для печати
я попробовал ету конструкцию http://principialabs.com/arduino-pyt...servo-control/
http://principialabs.com/arduino-serial-servo-control/ я пробовал это, зашить получается, но как давать команды так и не понял(((
Держи, вот мой код для управления сервой двумя кнопками, как ты просил одна кнопка вешается на 3-й цифровой вход, другая на 4-й цифровой вход. Серва подключается на 2-й цифровой вход. Подтяни входы кнопок на землю резисторами 10к.
PHP код:
#define MIN 600 // минимальное положение сервы
#define MAX 2400 // максимальное положение сервы
int ServoPin = 2; //управляющий выход для сервы
int in_3 = 3; // вход для первой кнопки
int in_4 = 4; // вход для второй кнопки
int step = 900; //среднее положение сервы
void setup()
{
pinMode(ServoPin, OUTPUT);
pinMode(in_3, INPUT);
pinMode(in_4, INPUT);
}
void loop()
{
if(step > MAX){step = MAX;}
if(step < MIN){step = MIN;}
if(digitalRead(in_3)==HIGH){step=step+10;} // если нажата первая кнопка делаем один шаг в право
if(digitalRead(in_4)==HIGH){step=step-10;} // если нажата вторая кнопка делаем один шаг в лево
digitalWrite(ServoPin, HIGH);
delayMicroseconds(step);
digitalWrite(ServoPin, LOW);
delayMicroseconds(20000-step);
}
А обязательно резистер использовать,можно так запустить для пробы? Еще вопрос провод кнопки один идет в 2-й цифровой, а второй провод в power 5v, я прав?
Держи схему
Проверить можно и без резисторов но могут быть ложные срабатывания от наводок.
получится ;)
Теоретически можно, нужно написать библиотеку.
а как на счет контроля освещенности для регулировки яркости дисплея? ;)
Конечно можно, займусь после отпуска.
кстати таким образом можно датчик света для включения фар реализовать у кого это не предусмотрено в автомобиле ))
Можно конечно и для этого даже комп не нужен
Подскажите, никак не получается. Chip дал код, я немного его подкорректировал и залил.
Но получается не то что я хочу. Во-первых серва поворачивает сначала не в ту сторону и ход у неё маленький,как увеличить?Код:int ServoPin = 3; //управляющий выход для сервы
int in_4 = 4; // вход для первой кнопки
int in_5 = 5; // вход для второй кнопки
int step = 100; //среднее положение сервы
void setup()
{
pinMode(ServoPin, OUTPUT);
pinMode(in_4, INPUT);
pinMode(in_5, INPUT);
}
void loop()
{
if(step > 700){step = 700;}
if(step < 600){step = 600;}
if(digitalRead(in_4)==HIGH){step=step+10;} // если нажата первая кнопка делаем один шаг в право
if(digitalRead(in_5)==HIGH){step=step-10;} // если нажата вторая кнопка делаем один шаг в лево
digitalWrite(ServoPin, HIGH);
delayMicroseconds(step);
digitalWrite(ServoPin, LOW);
delayMicroseconds(20000-step);
}
если увеличить это значениеТО получается что серва поворачивается больше,в принципе то что мы хотели,но тогда появляется такой эффект как, то что серва повернула и остановилась,но при этом слышно как моторчик пыхтитКод:if(step > 700){step = 700;}
Что никто не может подсказать?
Stasik, у меня такая же машина и целью задался той же. Только вот интересно, хотя бы один из выводов резистивной матрицы на землю звонится? Если нет, как ты собираешься ее считывать?
Девайс суперский, поеду куплю! Давно хотел сделать упр. стеклоподъемниками, а оно в этой машине на одном проводе (0912-2с, конт. 93), звонил, на нем импульсы. Провод идет на BCU.
Я так понял, он по своей прошивке может и без компа работать (ну это понятно), а вот совместно с компом, т.е. передавая какие-л. данные через USB в комп? Если так, цены б ему не было!!!
Да... А если сразу сделать интерфейс CAN? Туда наверняка и нажатия кнопок тоже передаются. Одним махом все проблемы решить...
C компом по USB в обе стороны общается .
Посмотри готовые проекты , они все через USB в комп подают данные и принимают он него тоже http://compcar.ru/forum/forumdisplay.php?f=57
Доброго времени суток всем!
подскажите если не трудно,реально ли этим девайсом замутить управление микросхемой lc75823e чтобы управлять экраном панели магнитолы?
Можно.
Нужно только проинвертировать сигнал CE и читать по SPI .
Пример работы с программной SPI шиной http://www.pobot.ru/blog/is_work_module/17.html
Библиотека для хардверного SPI http://www.arduino.cc/playground/Code/Spi
Chip а возможно ли Freeduino использовать как программатор тех же ATmega? Немогу разобраться...
Спасибо.
Первый вариант прикольный но у меня нету таких отводов от FTDI, можно только по второму варианту делать. Буду пробовать.
Вот доработал прошивку и залил всё работает хорошо.
Только есть маленькая проблема,не хочет работать от батарейки, в чем может быть проблема? И еще один вопрос, можно ли подключить питание от автомобильной проводки?Цитата:
int ServoPin = 3; //управляющий выход для сервы
int in_4 = 4; // вход для первой кнопки
int in_5 = 5; // вход для второй кнопки
int step = 810; //среднее положение сервы
void setup()
{
pinMode(ServoPin, OUTPUT);
pinMode(in_4, INPUT);
pinMode(in_5, INPUT);
}
void loop()
{
if(step > 810){step = 810;}
if(step < 600){step = 600;}
if(digitalRead(in_4)==HIGH){step=step+10;} // если нажата первая кнопка делаем один шаг в право
if(digitalRead(in_5)==HIGH){step=step-10;} // если нажата вторая кнопка делаем один шаг в лево
digitalWrite(ServoPin, HIGH);
delayMicroseconds(step);
digitalWrite(ServoPin, LOW);
delayMicroseconds(20000-step);
}
Запитать от борт сети автомобиля можно, через разьем питания.
А от какой батарейки не работает? Должно быть 5в
А что за серва у тебя такая? Очень маленький диапозон 600 до 810 , обычно от 600 до 2400
Серву купил вот такую
А диапозон такой получился от крайних точек, в открытом и в закрытом состояние.
Ставил крону 9v
А проблем не должно быть,если я к нему подключу 12 v и то что 12v не постоянное.
Еще хотел спросить как сделать пошаговую настройку угла наклона монитора?
вот это функция не работает.Цитата:
if(digitalRead(in_4)==HIGH){step=step+10;} // если нажата первая кнопка делаем один шаг в право
if(digitalRead(in_5)==HIGH){step=step-10;} // если нажата вторая кнопка делаем один шаг в лево
При нажатие кнопки (1) монитор открывается до конца, при нажатие кнопки (2) монитор закрывается и нет возможности настроить в промежуточном положение
Можно написать код который будет открывать и закрывать нажатием одной кнопки с возможностью сохранения положения в память
а в текущем коде нужно паузу увеличить
вместо delayMicroseconds(20000-step);
напиши например delay(300);
А в автомобиле разве напряжение не скачет?
Когда скачет это называется не стабиллизированое напряжение.
У Ардуино стоит встроенный стабиллизатор
Спасибо за ответ, именно это и хотел узнать
Для тех кто хочет сделать устройство без соединения с компом по USB , можно взять чистый контроллер Atmega168 , вотнуть в панельку CArduino прошить, bootloader http://www.compcar.ru/forum/showthread.php?t=4675. После этого обычным способом с использованием Arduino Software залить любой нужный код, вынуть из панельки и использовать в своем проекте. При этом не нужен программатор и не потребуется знания архитектуры контроллер, а также не нужно использовать сложный язык программирования.
На рисунке соответствие ножек к пинам Arduino
Вложение 5387
народ подскажите, есть вопрос. можно ли ведь с помощью этого контроллера регулировать яркость подсветки лампы в LCD матрице?
У меня PCM-700, там регулировка яркости подсветки вообще не предусмотрена.
Насколько я знаю с какой-то ноги процессора сигнал с определенной частотой заводится просто на ключи. Я подумал а что если я буду этот сигнал сам генерировать через это устройство с нужной частотой и скважностью? хватит ли производительности, ведь аппаратного таймера нету тут? кроме этой задачи хочу использовать устройство еще и для контроллера питания.
Пока получил контроллер просто балуюсь светодиоды зажигаю))) удобная штука.
Вот софтовый вариант http://www.compcar.ru/forum/showthread.php?t=4600
И хардверный , только для светодиодов http://www.compcar.ru/forum/showthread.php?t=4690
Все еще зависит от твоего инвертера
софтовый не походит полюбому, лампа все равно светит...
ну у меня есть схема от pcm-700 только другой хардварной ревизии. Как у меня я не знаю точно, но вроде похожим образом сделано. Там с ноги проца сигнал идет через два инвертера логических и тупо на ключи попадает.
Я думаю что если вместо сигнала от проца я подам туда сигнал с контроллера, то можно попробовать управлять яркостью. Только я хз, частотой управлять или скважностью...или тем и другим вместе.
Попробовать не могу к сожалению на реальном железе, монитор встроен намертво в машину и вынимать его неохота просто чтобы проверить.
и еще. как я понял эту штуку ведь нельзя постоянно к бортсети держать подключенной? жрет она ведь немного, кстати сколько жрет когда ниче не делает? но тем не менее лишнее потребление ни к чему, когда машина неиспользуется и на сигналке стоит.
А ты демо версию попробуй , у меня на столько сильно снижает яркость что я даже ограничительный порог сделалЦитата:
софтовый не походит полюбому, лампа все равно светит..
Потребление у данного девайса очень маленькое, моргающий светодиод на сигналке больше потребляет .
В эту часть схемы лучше не влазить , там фиксированая частота идет и яркость скорее всего изменяется скважностью.
ну если частота фиксированная, то вроде можно сгенерировать программно сигнал такой же частоты, но с разной скважностью, с относительной точностью?
Есть конечно самый простой вариант, поставить инвертер подсветки от бука...