roboforum.ru

Технический форум по робототехнике.

ИК датчик

Re: ИК датчик

Digit » 10 ноя 2007, 15:03

А уверен, что пульт от телека с нужной частотой шлет?

Re: ИК датчик

Doniak » 10 ноя 2007, 15:44

Код: Выделить всёРазвернуть
#include<tiny2313.h>    
#include<delay.h>



void main(void){
   
   DDRB = 0b00000001;
   PORTB= 0b00000001;
   DDRD = 0b01000000;
   PORTD.6= 0;
   PORTD.4= 0;
while(1) { 
  if (PIND.4==0) {
  PORTD.6=1;
  delay_ms(100);
 
 
     }     
}
}

от собсно мая прога де ножка 4 ето тсоп а ножка 6 ето светодиод. Светодиод выключен еси тсоп выдаёт ноль он загораеца после 100 милисикунд проверяется ножка тсопа. Он неразу незагорается у мну развечто всегда горит если проверять тсоп не 0 а 1 то постояно горит. пульт использую от LG телика. незная на что ставить ножку МК для тсопа Зет состояние или подтяжка через 40 кОм ?

Re: ИК датчик

Master » 10 ноя 2007, 17:25

Вот схема. 100% рабочая у меня светик мигает.
Вложения
image001.gif
image001.gif (6.87 КиБ) Просмотров: 1744

Re: ИК датчик

Doniak » 10 ноя 2007, 19:53

всё исправел нашол ошибку
терь работает светик от всех пультов ДУ зажигается видак ДВД плеер муз центр телик даже от мобильного телефона када пытаюсь перекинуть чтото по ИК порту :)
я просто мало Вольтов в схему подал, соеденил 3 по 1.5 В батареек и терь всё норм.

Мастер а зачем тебе стока разных деталей на схеме транзистор конденсаторы? я напрямую всё подсоеденил к МК и к питанию вроде пашит :crazy:

Re: ИК датчик

steel_monkey » 10 ноя 2007, 22:37

Это все согласно даташиту( кстати, для чего каждый элемент-описано в даташите) . Вот Вы движочек еще к этому же питанию прикрутите ( особенно не самого высокого качества), и посмотрите на реакцию ТСОПа- пойдут ложные срабатывания.

Re: ИК датчик

Master » 11 ноя 2007, 13:53

Мастер а зачем тебе стока разных деталей на схеме транзистор конденсаторы? я напрямую всё подсоеденил к МК и к питанию вроде пашит

Как правильно написал стальной обезьянка :) схема из ДШ.
И в твоем случае транзистор не нужен т. к. ИК диод у тебя в пульте, т. е. вся эта цепочка не нужна.
И вообще выложи свою схему, чет мне сдается, что там не совсем все правильно. А то потом начнешь что-то делать и будешь писать что не фурычит.
И зачем ты к МК подключал светиком мона и так мигать?

Re: ИК датчик

Doniak » 11 ноя 2007, 14:06

иногда срабатывает тсоп при включение питания наверно от зачем обвязка
Вложения
CXEMA.GIF
Схемка
CXEMA.GIF (2.67 КиБ) Просмотров: 1722

ИК датчик

Хуан Тортик » 25 янв 2009, 03:50

Новую тему решил не создавать про ИК датчик и напишу здесь.
Вот собрал свой первый ИК бампер, мозг - Tiny26. Зеленый светик - устройство работает, красный - есть сигнал от тсопа. Но вот какая проблема вылезла: если подносить руку к датчику резко, то четко срабатывает на 30см, а если медленно подносить руку издалека, то реагирует только на 2-3см. Че может быть за фигня :?:

Вот мой примитивный код:
Код: Выделить всёРазвернуть
#include <tiny26.h>
#include <delay.h>
char i;
main() { 
DDRA = 0b11101111;
DDRB = 0b11111111;
PORTA =0b11011111;
PORTB = 0b00000000;
while (1) {
i=0;
while ( i < 15)
{
PORTB ^=0b00000001;
delay_us(14);
PORTB ^=0b00000001;
delay_us(14);
i++;
};

if ( PINA.4 == 0)
{
PORTA.7 = 0;
}
else
{
PORTA.7 =1;
};
delay_us(600);
};
}


А вот схема:
Вложения
.GIF
Схема
.GIF (3.56 КиБ) Просмотров: 1564

Re: ИК датчик

Хуан Тортик » 26 янв 2009, 19:26

эээ... Мне кто-нибудь ответит?

Re: ИК датчик

EdGull » 26 янв 2009, 19:30

я конечно не Сишник, но вроде как для обычного человека 600 микросекунд тяжеловато будет заметить...
или ты супермэн? :wink:

Re: ИК датчик

Хуан Тортик » 26 янв 2009, 19:58

Причем тут "заметить" ? 600 микросекунд - это пауза между импульсами, подаваемыми на ик светодиод

Re: ИК датчик

EdGull » 26 янв 2009, 20:01

а какова тогда длительность его свечения?

Re: ИК датчик

Хуан Тортик » 26 янв 2009, 20:19

Тот же код, но с комментариями:

Код: Выделить всёРазвернуть
#include <tiny26.h>
#include <delay.h>
char i;
main() { 
DDRA = 0b11101111;    //конфигурация портов
DDRB = 0b11111111;
PORTA =0b11011111;
PORTB = 0b00000000;
while (1) {
i=0;
while ( i < 15)      //цикл подачи пачки импульсов ик светодиодом
{
PORTB ^=0b00000001;  // начало импульса
delay_us(14);        // задержка 14 микросекунд, чтобы получилась частота примерно 36 кГц
PORTB ^=0b00000001;  // конец импульса
delay_us(14);        // задержка между импульсами
i++;
};

if ( PINA.4 == 0)    // проверка: если на ноге PA4 (к ней TSOP подключен) ноль (есть сигнал)
{
PORTA.7 = 0;       // то зажигаем красный светик
}
else              // если нет сигнала
{
PORTA.7 =1;        // то красный светик не зажигаем/тушим после последнего включения
};
delay_us(600);      //пауза между пачками импульсов
};
}

Re: ИК датчик

EdGull » 26 янв 2009, 20:21

так и какова тогда длительность свечения светодиода? :wink:

Re: ИК датчик

Хуан Тортик » 26 янв 2009, 20:28

Какого светика?

ИК: посылает пачки из 15 периодов (14мкс горит, 14мкс не горит), затем 600 мкс не горит (пауза между пачками)
Зеленый: горит все время, пока работает контроллер
Красный(сигнализирует о препятствии): зажигается при появлении сигнала от TSOPа, тушится при его исчезновении


Rambler\'s Top100 Mail.ru counter