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

dawidd
Posts: 193
Joined: Tue Dec 19, 2017 12:45 pm

Fri Aug 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
User avatar
wojtas567
Posts: 1054
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Fri Aug 31, 2018 3:01 pm

Przecież z czujnika dostajesz pomiar nawet parametry się zmieniają czyli jest ok
Masz złe przeliczniki
Pozdrawiam
Wojtek
User avatar
wojtas567
Posts: 1054
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Fri Aug 31, 2018 3:10 pm

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

Code: Select all

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
dawidd
Posts: 193
Joined: Tue Dec 19, 2017 12:45 pm

Fri Aug 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
User avatar
shimano73
Posts: 504
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Fri Aug 31, 2018 5:42 pm

wojtas567 wrote:
Thu Aug 30, 2018 8:48 pm
pzygmunt wrote:
Thu Aug 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
User avatar
wojtas567
Posts: 1054
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Fri Aug 31, 2018 6:10 pm

shimano73 wrote:
Fri Aug 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
User avatar
shimano73
Posts: 504
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Fri Aug 31, 2018 6:17 pm

Znalazłem i umieściłem tu: viewtopic.php?f=23&t=3733
dawidd
Posts: 193
Joined: Tue Dec 19, 2017 12:45 pm

Fri Aug 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 ?
User avatar
shimano73
Posts: 504
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Fri Aug 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
dawidd
Posts: 193
Joined: Tue Dec 19, 2017 12:45 pm

Fri Aug 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ć
Post Reply