Связь на IR, нужна помощь
#1
Отправлено 04 Июнь 2004 - 11:45
У меня есть пару вопросов для тех кто в этом хоть что-нибудь шарит:
1. Какую лучше установить минимальную частоту опроса ИК приемника, что бы ничего не пропустить???? То есть я собираюсь просто считывать импульсы посылаемые пультом при нажатии на кнопку и сохранять в EEPROM, а потом воспроизводить его при нажатии на кнопку на своем пульте....
2. Можно ли подключать ИК приемник с встроенным усилителем прямо на вход AVR микросхемы???
Идея вообще такая:
При появлении сигнала, начинаем запись состояния порта до того времени, пока не будет пауза заданой величины, потом обрезаем крайние нули и считаем, что это и есть код для повторения, то есть код кнопки, записываем его в EEPROM, итд...
3. Какая может быть сама большая длина кода кнопки по времени???
Пока все....
Заранее благодарен...
djevis: Название тем начинаем с заглавной буквы - спасибо. . .
#2
Отправлено 04 Июнь 2004 - 12:36
#3
Отправлено 04 Июнь 2004 - 12:39
#5
Отправлено 04 Июнь 2004 - 12:43

#6
Отправлено 04 Июнь 2004 - 12:43
Это ты про максимальнуй длину сигнала????
Мне надо бы по времени...
Добавлено спустя 6 минут 34 секунды :
lexa777
Пульт для чего угодно... Програмируется с любого другого пульта (записывает коды кнопок, а потом воспроизводит их)....
Думаю со мной многие согласятся, что в основном используются 4-7 кнопок пульта, по этому решил замутить пульт-брелок...
Добавлено спустя 5 минут 8 секунд :
Люди, исправьте, если я не прав:
Пульт посылает импульсы, а приемник их принимает,и выдает в определенном порядке 0 и 1 (то есть на выходе появляеться напряжение), а то я в этом полный "ноль"...
#7
Отправлено 07 Июнь 2004 - 09:28
Купил на выходных, и решил спаять хоть что нибудь (так как это мой первый микроконтроллер), но ничего не вышло... Если у кого есть какая-то схемка (чотя бы светодиодами помигать) пришлите, плз, на мыло:
mfanta@ukrsotsbank.com
#8
Отправлено 07 Июнь 2004 - 10:41
ногу 20 припаиваешь к +5 В, ногу 10 - к общему
берешь светодиод красный, резистор 300 Ом, припаиваешь светодиод одной ногой к ножке 2, к другой ноге припаиваешь одну ногу резистора, другую ногу резистора соединяешь с общим
все - можешь мигать


Добавлено спустя 3 минуты 42 секунды :
насчет "как правильно включать светодиод" я сам честно говоря каждый раз узнаю по новому - по моему наросовал правильно... где у него какая нога - я узнаю методом тыка исключительно
#9
Отправлено 07 Июнь 2004 - 11:27
#10 Гость__*
Отправлено 07 Июнь 2004 - 21:23
я программировал в AVRstudio - компилируешь и в папке проекта получаешь файл *.hex; из icc avr та же песня - после компиляции получаешь файл
не может быть avredit каким-либо редактором для набивания текстов?..
#11 Гость_Зинец_*
Отправлено 07 Июнь 2004 - 21:30
про avredit: This windows program is not a compiler itself, but an editor / IDE to easily use the free GNU C-compiler avrgcc. It features configurable syntax coloring, a simple file browser, a makefile generator and even a small bitmap-to-array editor.
просто утилита для набивания текста... потом его надо скомпилировать чем-либо, icc avr или gnu-бесплатным чем-то...
#12
Отправлено 08 Июнь 2004 - 11:09

Скачал AVRStudio4, как в нем сохдавать проэкты на С, у меня можно только на ASM????
Добавлено спустя 9 минут 48 секунд :
Зинец Виктор
Спаял даную тобой схемку...
Не получаеться мигать.... Могу либо зажечь светодиод, либо погасить...
Кварц 4MHz... Компилятор ошибок не выдает...
Делаю так:
#include <avr/io.h>
void Delay();
void main()
{
sbi(DDRD, DDD0);//назначаем линию 0 порта D на выход
while(1)
{
sbi(PORTD,PD0);//зажигаем
Delay();
cbi(PORTD,PD0);//гасим
Delay();
}
}
//Функция Delay() цикл ничего не делать
void Delay()
{
int i;
for(i=4000000;i>0;i--)
{
}
}
...
#13 Гость_Зинец_*
Отправлено 08 Июнь 2004 - 15:20
по поводу "не мигает"... не знаю, вроде должно (если умный компилятор ничего не сделал с твоим циклом, раз он пустой)...
#14
Отправлено 08 Июнь 2004 - 17:16


#15
Отправлено 08 Июнь 2004 - 17:35
Дыкъ! AVR - еще сложный камень, под него можно на асме писать. А вот попробуй под те же hc08 попиши (учитывая, что одна сишная строчка может запросто развернуться на пол-килобайта кода).
Чтобы не ходить далеко за примерами:
mask16_Bh[*data & 0xF]&mask16_Ch[*data >> 4]
Кроме того, контроллеров развелось, как собак. Гораздо проще написать один раз на C, и компилировать потом под что угодно.
Жизнь слишком коротка, чтобы писать на асме.
#16
Отправлено 09 Июнь 2004 - 07:01
работает нормально.
Стандартный программатор не пашет !
Пришлось AVReal'm пользоваться , да еще и длииииииииННыый BAT-файл писать !

Добавлено спустя 2 минуты 20 секунд :
Fusion делай на 90S2323 - у него 8 ног всего !!!

#17
Отправлено 09 Июнь 2004 - 08:35
Я уже купил AT90S2313, пока разбираюсь с программирование микроконтроллеров вообще..... А на чем конкретно делать - потом посмотрим (но за совет списибо)
#18
Отправлено 09 Июнь 2004 - 09:48
[имхо]
он же не родился умным, он им становится; нашел пример для начала и пробует - ну он на си был; нашел бы пример на асме - разбирался с асмом...
он же в теории хочет 1) захватывать посылку с пульта ДУ 2) запомнить ее в eeprom 3) воспроизвести потом ее - на С это сделать будет проще (в смысле - не убив неск. лет на оттачивание мастерства писания на асм)
[/имхо]
а вот чего у него пауза в 1 сек не получается?? может компилятор сотимизировать чего-то там?
#19
Отправлено 09 Июнь 2004 - 10:36
Спасибо за поддержку...
С миганием я уже разобрался.... Наверное, действительно, компилятор убирал пустой цикл...
Сейчас еще, если можешь, ответь на пару вопросов:
Как отлавливать внешние изменения на входах???
То есть, ставлю порт(или биты порта) на вход... Что нужно поменять внешне, что бы уловить программно изменение состояния битов порта(подать напряжение и/или еще что-то)... Насколько я понимаю, "ловить" надо считывая PINx...
Как считать выборочные пины порта, что бы потом их с чем-то сравнить???
Как обрабатывать таймер?? (Желательно пример кода, можно на мыло mfanta@ukrsotsbank.com)
Заранее спасибо...
PS Кому интересно, можете почитать мои статьи по изготовлению акустической полки для ВАЗ 21150 и пульта ДУ на руль http://mfanta.nm.ru/projects.html ...