Skocz do zawartości

Czujniki PIR- wadliwe?


Pomocna odpowiedź

Napisano

Hej,

jakie macie doświadczenia z czunikami  PIR jeśli chodzi o wadliwość? Kupiłem 1, przestał działać po kilku próbach, zareklamowałem i otrzymałem kolejny, który też nie działa...

Przy minimalnych ustawieniach cały czas wykrywa ruch, chyba że coś źle robię.

Prosty układ z 1 LED, który pokazuje wykrycie ruchu, LED świeci cały czas.

 

void setup() {
  pinMode(7, OUTPUT); //LED
  pinMode(2, INPUT); //PIR jako wejście

}
 
void loop() {
  if (digitalRead(2) == LOW) { //Jeśli wykryto ruch
    digitalWrite(7, HIGH); }
  else {
    digitalWrite(7, LOW); }
  
}

 

  • Lubię! 1
(edytowany)

Ja bym napisał 

dogitalWrite(LED, digitalRead(pir)) 

Oczywiście poprawnie dla arduino, bez niepotrzebnych ifów

Edytowano przez _LM_

Może na początek podaj link do swojego czujnika. Jeśli to np. taki:

https://botland.com.pl/czujniki-ruchu/1655-czujnik-ruchu-pir-hc-sr501-zielony-justpi-5903351241359.html?cd=20567593583&ad=&kd=&gad_source=1&gclid=EAIaIQobChMI0JCLgNiAgwMVtKlmAh0uVgJ-EAQYASABEgKXdvD_BwE

to akurat on sygnalizuje wykrycie ruchu stanem wysokim, a nie niskim. Są tam także 2 potencjometry i zworka konfiguracyjna. Pokaż więcej informacji na temat swojego układu. Jak to podłączyłeś itp. Spróbuj jeszcze dodać opóźnienie na koncu loop np. delay(500)

14 godzin temu, Belferek napisał:

Może na początek podaj link do swojego czujnika. Jeśli to np. taki:

https://botland.com.pl/czujniki-ruchu/1655-czujnik-ruchu-pir-hc-sr501-zielony-justpi-5903351241359.html?cd=20567593583&ad=&kd=&gad_source=1&gclid=EAIaIQobChMI0JCLgNiAgwMVtKlmAh0uVgJ-EAQYASABEgKXdvD_BwE

to akurat on sygnalizuje wykrycie ruchu stanem wysokim, a nie niskim. Są tam także 2 potencjometry i zworka konfiguracyjna. Pokaż więcej informacji na temat swojego układu. Jak to podłączyłeś itp. Spróbuj jeszcze dodać opóźnienie na koncu loop np. delay(500)

Czujnik jaki posiadam to hc-sr501
Zworka przestawiona na tryb "retriggering".

 

obraz.png

(edytowany)

No to cudów tu nie ma jeśli podłączyłeś prawidłowo czujnik.
Na początek sprawdź swoje połączenia.
Zrób czytelne zdjęcie całego swojego układu podłączonego czujnika do płytki uC (Arduino, czy co tam używasz) tak by można było zobaczyć jak ten czujnik zasiliłeś (+ i -) i jak podłączyłeś do płytki jego wyjście.

Poeksperymentuj z ustawieniami potencjometrów i zworki. Jednym z nich regulujesz czułość czujnika. By mieć pewność, że czujnik nie powinien wykrywać ruchu możesz go osłonić np. kartonowym pudełkiem. Wtedy na jego wyjściu powinien być stan LOW (0) i taki stan powinien odczytać program.

Ja często wykorzystuję do "debugowania" działania programu port szeregowy i Tobie też to polecam. Twój programik diagnostyczny mógłby więc wyglądać tak:

void setup() {
  pinMode(7, OUTPUT); //LED
  pinMode(2, INPUT); //PIR jako wejście
  Serial.begin(9600);

}
 
void loop() {
  int czujnik = digitalRead(2);
  Serial.println(czujnik);
  
  if (czujnik == 1) { //Jeśli wykryto ruch
    digitalWrite(7, HIGH); }
  else {
    digitalWrite(7, LOW); }
  
  delay(500);
}

Przy działającym czujniku w monitorze portu szeregowego powinieneś widzieć zmieniające się 0 i 1.

Na stronie BOTLAND masz to wszystko ładnie pokazane:

https://botland.com.pl/content/152-wykrywanie-ruchu-z-arduino

Edytowano przez Belferek
(edytowany)

Teraz czujnik nic nie reaguje, monitor portu szer. pokazuje 0. Dotknąłem czujnik i zaczął widzieć... Coś jakby nie łączyło...

Podłączenie jak na zdjęciu.

Wcześniej zanim reklamowałem czujnik to działało.

 

obraz.thumb.png.af1f12328e7efb33aaa47e9ec662cc1f.png

Edytowano przez Krisk
4 minuty temu, Krisk napisał:

Wcześniej zanim reklamowałem czujnik to działało.

To znaczy - zepsułeś? Jak wszystko działało to po co reklamowałeś?

Na Twoim zdjęciu nie widać ... czujnika z którym masz problem. Zrób porządne i ostre zdjęcie całości.

(edytowany)

No cóż, wygląda dobrze. Twoje kabelki są już trochę sfatygowane. Wyrzuć na razie tego LED (kabelków będzie mniej) masz przecież port szeregowy do diagnostyki.
Sprawdź (wymień) kabelki może to pomoże.
Czy na pewno do czujnika dochodzi zasilanie?
Regulowałeś potencjometrem T2 (tym bliżej zworki). W każdym jego położeniu jest taki efekt (blisko skrajnych położeń, środek)?
Zmieniałeś ustawienie zworki i regulowałeś potencjometrem T1?
Zasłaniałeś czujnik ręką z pewnej odległości? Na przeszkodę w postaci kartki papieru niekoniecznie czujnik zareaguje.
Podłączałeś czujnik do innego pinu GPIO?
Testowy przykład BLINK działa?

Jeśli nic z tych porad nie pomoże to uszkodzony jest czujnik - pytanie dlaczego? Podłączałeś czujnik i LED przy włączonym Arduino?

Edytowano przez Belferek

Żadne regulacje nic nie dają zero reakcji, zasilanie jest.

Czujnik podłączałem przy włączonym zasilaniu- czy to może być przyczyną uszkodzenia?

 

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...