Wpis z mikrobloga

Mireczki z #arduino #elektronika i #atmega - mam sobie atmegę8, na której zrobiłem sobie w domu alarm na podstawie czujnika ruchu- dalszą część przetwarza już urządzenie połączone bezprzeowodowo (alerty, kamery i inne bzdety - to działa dobrze (ʘʘ)).
Problem mam z czujnikiem PIR właśnie.
Zrobiłem obsługę za pomocą przerwań, do tej pory działało ładnie. Chciałem trochę przycebulić na prądzie ( ͡° ͜ʖ ͡°) i postanowiłem go uśpić trochę, bo po co ma męczyć puste przebiegi. Niestety, przy najgłębszym modzie **SLEEPMODEPWR_DOWN** przerwania na podstawie sygnału mogą reagować jedynie na poziom LOW, co skutecznie utrudnia mi wybudzenie urządzenia - wszak czujnik na ruch reaguje stanem wysokim...
Myślałem o jakiejś negacji za pomocą tranzystora (ale nie mam pod ręką).
Wiem, że można to też zrobić za pomocą wbudowanego w port rezystora PULL-UP, jednak nie udało mi się tego w żaden sensowny sposób zmusić do działania (czujnik mam połączony bez rezystora między + a output). Właczanie rezystora pullup nic nie daje - czujnik zachowuje się dokładnie tak samo jak bez niego (gdy odłączę czujnik to faktycznie port wchodzi w stan wysoki, więc poprawnie włączam pullup).

Da się jakoś sensownie to zrobić?
  • 4
  • Odpowiedz