Attiny13 и ШИМ
- Войдите на сайт для отправки комментариев
Пт, 27/04/2018 - 22:07
Здравствуйте, хочу считать сигнал с RC приемника, модуляция ШИМ,длительность импульса от 1 до 2мс. Хочу сделать RC переключатель, чтобы при переключении тумблера пульта управления, приемник включал необходимый режим. Совсем запутался,понял что надо делать на прерываниях таймера, т.е за определенный промежуток следить за изменением сигнала, и как только он изменился менять 0 на 1 или наоборот. Подскажите, как можно это реализовать. Частота работы Attiny 1.2МГц, фьюзы стандатрные. Как можно расчитать этот временной интервал в течение которого происходит замер длительности импульса. А может есть способ попроще для моего проекта?
хочу считать
Считывайте
Хочу сделать
Делайте
Зачем всем-то об этом сообщать? А вот, может, "Ларису Ивановну хочу", но не кричу же об этом на каждом углу.
может есть способ попроще для моего проекта?
Конечно, есть!
Чтобы впихнуть это в 13-ую тиньку - это надо программировать уметь. А если не умеете, то просто возьмите такую же по размеру и всему остальному Attiny-85, в неё вполне влезет библиотека RCSwitch и с её помощью сделаете всё, что Вам нужно.
Вы так бестолково задали вопрос что придется мне его за вас перезадать.
Товарищчь желает сигналом на серву, снимаемым с выхода приёмника дрона,
включать выходы процессора, разные (лампочки всякие), в зависимости длительности импульса.
Диапазон примерно 1000 - 2000 микросекунд ( настраивается в аппаратуре).
Таких устройств навяно примерно полмиллиона, называются они RC SWITCH.
https://www.google.ru/search?newwindow=1&biw=1920&bih=962&tbm=isch&sa=1&ei=rm3jWv2GH6qR6ATMvbywCQ&q=rc+switch+attiny&oq=rc+switch+attiny&gs_l=psy-ab.3..0i24k1l3.591810.591810.0.592224.1.1.0.0.0.0.330.330.3-1.1.0....0...1c.1.64.psy-ab..0.1.328....0.xu9BcSrvWwM
Проще купить, но там два канала и управление двойным "нажатием кнопки"
Switch Working Mode
Each time you press the third channel switch twice or press the third channel button twice,
press the following order to cycle:
2-way output off ->
A-way output open, B-way output off ->
A-way output off, B-way output open ->
2-way output are open ->
two-lamp breathing burst mode ->
2-way output off
... ...cycle
https://www.banggood.com/Two-Channels-Controlled-Switch-Remote-Control-R...
На али дешевле......
купить то проще, да и есть они у меня, но я хочу сделать сам,для опыта и мозгов полезно.
купить то проще, да и есть они у меня, но я хочу сделать сам,для опыта и мозгов полезно.
И это правильно!
Дерзайте!
http://vg.ucoz.ru/forum/8-146-1
Вот приблизительно собрал код( с разных поделок). Вопросик, строка if (timer > 30 || timer < 13) что значит, не могу понять.Я так понимаю что количество тиков при таком предделителе на одну секунду будет 18750, т.е за 1 мс количество тиков составляет 18,75.Строка if (timer > 65000) {timer = 30;}- я правильно понимаю, что при достижении этих тиков порога 65000 отсчет тиков будет производиться заново от значения 30? Но почему от 30? И еще вопросик к знатокам,строка while (PINB & (1 << PINB1)){timer = NT0; } значит, что когда на пине1 будет лог.1 то таймер обнуляется, т.е сигнал изменился и таймер запускается снова? После строки if (timer > 30 || timer < 13) идет выполнение того что должно вкючаться тумблером( в данном примере пищалка сигнал SOS). Вот как тиьна поймет, ели я положение тумблера переведу в положение выключено? Установкой битов в функции MCUCR |= (1 << ISC01) | (1 << ISC00); ??
Вот на тиньке делал для RC - два канала рулят четырьмя выходами. Логика не интересна, но всё работает.
Это понятно, а как сделать чтобы при пропадании сигнала от передатчика, включались например огни, т.е как поймать этот сигнал? Как я понимаю,надо ловить сигнал по длительности.