Если нужно подключить фотодатчик от миши к МК то здесь даже транзюка не нужно. Просто включить програмно в МК подтягующий резистор на нужную ногу. Среднюю нону фотодатчика подключаем к МК на ногу где програмно включен подтягивающий резистор и любую крайнюю(фотодатчика) к минусу. Когда фотодиод буден не засвечен то его сопротивление будет несколько мега Ом и на входе будет лог. 1, когда его засветить ИК светодиодом то его сопротивление упадет гдето до 1КОм и на ножке будет лог 0.
Только не допускать попадания обичного света на фотодатчик.
Меня самого интересует только одно. С какой максимальной скоростью может вращаться энкодер от миши?
Ато я поставил фотодатчик на вход счетчика, и вот что написал:
- Код: Выделить всё • Развернуть
while(1)
{
if (TCNT0>=100) PORTD.5=1;
if (TCNT0>=200) { PORTD.5=0; TCNT0=0; }
}
т.е. светлоидиот(обычний) подключен к ноге PD5 и должен мигать с частотой в 100 раз меньшей за частоту работы фотодиода. Когда я медленно кручу энкодер то все отлично работает, но когда начинаю крутить с максимальной скоростью(кручу пальцем) то на ножке PD5 вообще нет никаких сигналов.
Есть два варианта почему так: инерция фотодиода или етот цикл, который представлен выше, не всегда успевает в нужный момент проверить исловия.
То в чеме же проблема?