Обсуждаем цифровые устройства...
Ответить

Датчик препятствия на TSOP

Вс дек 16, 2007 12:51:36

Приветствую.
Спаял схему как в http://parts.roboclub.ru/index.shtml?ik, только вместо Tiny поставил Atmeg(она же - главный мозг для будущей остальной перифирии).
Так вот: мигаю ИК диодом, пытаюсь поймать TSOP1738 Не ловится, даже при касании линз :( . ИК светодиод моргает - видно через камеру на телефоне, но частоту померять не могу. Если насильно установить 0 на выходе TSOP-а (замкнуть "сигнальную" ножку и землю), датчик срабатывает - светодиод(индикатор) гаснет. Ни на какие из имеющихся в доме пультов не реагирует.
Частоту генерирую так:

Код:
#define FCPU = 1000000UL
//...
int per = 1000000/38000;
//...
 for (int i = 0; i < 19; ++i)
 {
  PORTC |= _BV(PC5);
  _delay_us (per);
  PORTC &= ~_BV(PC5);
  _delay_us (per);
 }
//...



Подскажите как проверить TSOP, и в чём ещё может быть заквоздка?
Если надо, могу привести весь исходник.

Вс дек 16, 2007 18:08:20

уже 100000 раз говорилось, что TSOP видит не просто ИК-свет, а промодулированный сигнал... так что мигать ИК-светодиодом надо с частотой 38000 Гц, только тогда твой датчик его обнаружит... а ты мигаешь с частотой в 2 раза меньше...

Пн дек 17, 2007 18:02:23

Однако, при замене строчки
Код:
int per = (1000000/38000);

На
Код:
int per = (1000000/38000)/2;

Внешнее поведение устройства не меняется.TSOP не реагирует.

Пн дек 17, 2007 22:53:59

Для получения нужной частоты, воспользуйтесь таймером. И в соответствии с вашими командами включайте/выключайте генерацию частоты на выводе МК.
Ответить