Obsługa GP2Y10 (czujnik pyłu) w SUPLA

Awatar użytkownika
dawidd
Posty: 444
Rejestracja: wt gru 19, 2017 12:45 pm

pt sie 31, 2018 2:19 pm

wemos ma taki sam dzielnik rezystorowy na A0 jak Nodemcu czyli 220 i 100 kom
Nie zmienia sie praktycznie w ogolę napięcie wyjściowe z czujnika, wiec albo czujniki są uszkodzone, albo na pinie D1 Gpio5 nie ma tego co powinno byc, ale nie ustaliłem puki co czy tam powinno być jakieś napięci czy nie


z putty dostaje to samo co z supli
W pewnym momencie wsadziłem śrubę w dziurkę czujnika i jak widać nie ma reakcji

Raw Signal Value (0-1023): 6.00 - Voltage: 0.03 - Dust Density [ug/m3]: -95.02
Value changed
Raw Signal Value (0-1023): 7.00 - Voltage: 0.03 - Dust Density [ug/m3]: -94.19
Value changed
Raw Signal Value (0-1023): 15.00 - Voltage: 0.07 - Dust Density [ug/m3]: -87.55
Value changed
Raw Signal Value (0-1023): 6.00 - Voltage: 0.03 - Dust Density [ug/m3]: -95.02
Value changed
Raw Signal Value (0-1023): 5.00 - Voltage: 0.02 - Dust Density [ug/m3]: -95.85
Value changed
Raw Signal Value (0-1023): 5.00 - Voltage: 0.02 - Dust Density [ug/m3]: -95.85
Raw Signal Value (0-1023): 7.00 - Voltage: 0.03 - Dust Density [ug/m3]: -94.19
Value changed
Raw Signal Value (0-1023): 31.00 - Voltage: 0.15 - Dust Density [ug/m3]: -74.27
Value changed
Raw Signal Value (0-1023): 5.00 - Voltage: 0.02 - Dust Density [ug/m3]: -95.85
Value changed
Raw Signal Value (0-1023): 5.00 - Voltage: 0.02 - Dust Density [ug/m3]: -95.85
Raw Signal Value (0-1023): 6.00 - Voltage: 0.03 - Dust Density [ug/m3]: -95.02
Value changed
Raw Signal Value (0-1023): 17.00 - Voltage: 0.08 - Dust Density [ug/m3]: -85.89
Value changed
Raw Signal Value (0-1023): 5.00 - Voltage: 0.02 - Dust Density [ug/m3]: -95.85
Value changed
Awatar użytkownika
wojtas567
Posty: 1917
Rejestracja: ndz kwie 03, 2016 7:16 pm
Lokalizacja: Olsztyn

pt sie 31, 2018 3:01 pm

Przecież z czujnika dostajesz pomiar nawet parametry się zmieniają czyli jest ok
Masz złe przeliczniki
Pozdrawiam
Wojtek
Awatar użytkownika
wojtas567
Posty: 1917
Rejestracja: ndz kwie 03, 2016 7:16 pm
Lokalizacja: Olsztyn

pt sie 31, 2018 3:10 pm

Zobacz co będzie Ci wyświetlało na takim kodzie:

Kod: Zaznacz cały

int dustPin=A0;
float dustVal=5;
int ledPower=2;
int delayTime=280;
int delayTime2=40;
float offTime=9680;

void setup(){
Serial.begin(115200);
pinMode(ledPower,OUTPUT);
pinMode(dustPin, INPUT);
}
 
void loop(){
// ledPower is any digital pin on the arduino connected to Pin 3 on the sensor
digitalWrite(ledPower,LOW); 
delayMicroseconds(delayTime);
dustVal=analogRead(dustPin); 
delayMicroseconds(delayTime2);
digitalWrite(ledPower,HIGH); 
delayMicroseconds(offTime);
delay(1000);

Serial.print("wartość sygnału (0-1023): ");
Serial.println(dustVal);
if (dustVal>36.455)
  { Serial.print(" ---------- Gęstość pyłu [ug/m3]: ");
    Serial.println((float(dustVal/1024)-0.0356)*120000*0.035);
  }
}
Pozdrawiam
Wojtek
Awatar użytkownika
dawidd
Posty: 444
Rejestracja: wt gru 19, 2017 12:45 pm

pt sie 31, 2018 4:27 pm

hmm, chyba jednaka nie bardzo. To ze zmienia sie wartość 00,2 do 00,3V to trochę za mało jak na całkowite zasłonięcie czujnika przez ołówek. Czujnik działa w przedziale od ok 0,6-3,6V wiec przy całkowitym zasłonięciu powinien osiągnąć to napięcie, a nie 0,2V

Na stronie 5 jest wykres napięcia wyjściowego w zależności od ilości cząstek stałych w mg/m3
https://www.sparkfun.com/datasheets/Sen ... 10au_e.pdf
Awatar użytkownika
shimano73
Posty: 1019
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze

pt sie 31, 2018 5:42 pm

wojtas567 pisze:
czw sie 30, 2018 8:48 pm
pzygmunt pisze:
czw sie 30, 2018 7:39 pm

Bad credentials... złe hasło lub id
Przemku może dałoby radę zrobić coś w stylu listy potencjalnych błędów które system może zwrócić bo chyba nie ma nigdzie.
Niektóre są oczywiste, ale zapewne nie wszystkie a zwłaszcza dla osób zaczynających przygodę z suplą :)
Wojtku , Przemek już jaz podawał , nie potrafie tego znaleść ale zawarłem to w swoim programie tu w drugiej wersji
viewtopic.php?f=6&t=2375&p=12387#p12387
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Jak się dziś oddycha https://schimano73.aqi.eco/
https://github.com/shimano73
Awatar użytkownika
wojtas567
Posty: 1917
Rejestracja: ndz kwie 03, 2016 7:16 pm
Lokalizacja: Olsztyn

pt sie 31, 2018 6:10 pm

shimano73 pisze:
pt sie 31, 2018 5:42 pm
Przemek już jaz podawał , nie potrafie tego znaleść
no właśnie ja też już złapałem się kilka razy na czymś takim wiedziałem, że gdzieś jest tylko gdzie...
A jak ma to odszukać ktoś nowy?
Faktycznie na wyświetlaczu są komunikaty, nawet je sobie przetłumaczyłem :).
Ale chodziło mi żeby to było na forum na "wierzchu" dla wszystkich, tak żeby można to łatwo znaleźć.
Pozdrawiam
Wojtek
Awatar użytkownika
shimano73
Posty: 1019
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze

pt sie 31, 2018 6:17 pm

Znalazłem i umieściłem tu: viewtopic.php?f=23&t=3733
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Jak się dziś oddycha https://schimano73.aqi.eco/
https://github.com/shimano73
Awatar użytkownika
dawidd
Posty: 444
Rejestracja: wt gru 19, 2017 12:45 pm

pt sie 31, 2018 6:27 pm

podpowiedzcie co powinno byc na GPIO5? Z tego co znalazłem jakieś poszarpane informacje to wynika ze powinno tam byc 3,3V
Jesli tak to linijka
digitalWrite(ledPower,LOW); // power on the LED

nie powinna wyglądać tak:

digitalWrite(ledPower,HI); // power on the LED

?
A może tu aktywacja diody w czujniku jest co jakiś czas i stad na gpio5 mam 0V ?
Awatar użytkownika
shimano73
Posty: 1019
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze

pt sie 31, 2018 7:12 pm

Mi z arduino bardzo pomaga kolega "jarzębski" na swoim blogu pokazał jak to zrobić z użyciem UNO
zobacz to http://www.jarzebski.pl/arduino/czujnik ... 0au0f.html
W komentarzach do programu jest napisane że dioda jest załączana na chwile 280ms
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Jak się dziś oddycha https://schimano73.aqi.eco/
https://github.com/shimano73
Awatar użytkownika
dawidd
Posty: 444
Rejestracja: wt gru 19, 2017 12:45 pm

pt sie 31, 2018 8:48 pm

zapoznałem sie z artykułem z linku, a właściwie sobie go tylko przypomniałem. Wychodzi na to ze dioda jest zapalana na chwile, odczyt jest dokonywany po 280us, a cały impuls ma trwać 320us
Z artykułu P. Jarzębskiego wynika ze w czujniku cząstki odbijają światu z diody IR które wpada do fotodiody, wiec wynika z tego ze wsadzenie w otwór ołówka nie wiele zmieni bo on światła nie odbije.
Stad spróbowałem zadymić lutownicą czujnik, niestety tez nic to nie zmieniło, dalej mam odczyty na mniej więcej równym poziomie -95st Czasami coś na chwile sie zmieni, ale to raczej wynika z zakłóceń i ruszanie czujnikiem niż z faktycznego odczytu.
Jutro postaram się to zbudować na arduino uno i zobaczę czy tam coś będzie wskazywać
ODPOWIEDZ