Skocz do zawartości

ESP8266 oraz czujnik odległości - wybór oraz pomoc z odczytaniem danych


bklimczak

Pomocna odpowiedź

Witam,

mam czujnik odległości E18-D80NK, który próbuję podpiąć do ESP8266. Podpiąłem go pod pin D4, oddzielne zasilanie z baterii. Program, który uruchamiam to

int OUT = D4;
 
void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(OUT, INPUT);

  Serial.begin(9600);
  Serial.println("Distance sensor test");
  Serial.println("");
}
 
void loop()
{
  digitalWrite(LED_BUILTIN, 1);
  delay(500);

  Serial.print(".");
  if(digitalRead(OUT) > 1)
  {
    Serial.println("\nObject detection: YES");
  }

  digitalWrite(LED_BUILTIN, 0);
  delay(500);
}

Czyli nic wymyślnego. Problem w tym, że nie odbieram żadnych danych z czujnika. Gdy dam jakiś obiekt przed nim to na diodzie led umieszczonym na nim świeci się na czerwono, czyli coś wykrył, jednak na D4 nic nie dostaję.

 

Drugi temat, powiązany z tym, to chciałbym zrobić czujnik parkowania w garażu. Do tego potrzebowałbym jakiś inny czujnik, pewnie analogowy, aby coś takiego osiągnąć.

Chcę osiągnąć coś podobnego do tego: 

 Jaki byłby najlepszy?

2022-10-26 12.45.00.jpg

2022-10-26 12.45.03.jpg

2022-10-26 12.45.15.jpg

Link do komentarza
Share on other sites

Być może pin wyjściowy trzeba "podciągnąć" do plusa lub masy?...jaki stan ma być jak wykryto przeszkodę?? 

I powiedz z łaski swojej co ten warunek robi?? 

if(digitalRead(OUT) > 1)

Ma być...

if(digitalRead(OUT) == 1)

 

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

17 minut temu, bklimczak napisał:

Podpiąłem go pod pin D4

A GND czujnika i ESP połączyłeś? Tak poza tym to czujnik ten wymaga zasilania 5V jaką baterią go zasilasz?

Nie jestem pewien czy ESP8266 toleruje 5V więc może przydałby się jakiś dzielnik napięcia na wejściu ESP.

Przeczytaj ten artykuł - zobacz.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

tak, czytałem i na nim się opierałem.

Zasilanie (uziemienie, 5v) jest z baterii pięciowoltowych. Tak jak pisałem wcześniej - miernik wygląda, że się uruchamia, bo zaświeca się i gaśnie jego wbudowana dioda. Przewód OUTPUT (w moim przypadku czarny) wpiąłem do ESP8266 do pinu `D4`. A aplikacji wybrałem pin `D4` jako wejście i próbuję je odczytać.

Problem jaki jest to fakt, że zawsze odczytuję tam wartość wysoką.

Link do komentarza
Share on other sites

dzięki @farmaceuta

zrobiłem to tak, że podpiąłem pod D0 i przrobiłem kod tak:

int OUT = D0;

int batch = 0;
 
void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(OUT, INPUT);

  Serial.begin(9600);
  Serial.println("Distance sensor test");
  Serial.println("");
}
 
void loop()
{
  batch++;
  digitalWrite(LED_BUILTIN, 1);
  delay(500);
  
  if (digitalRead(OUT) == HIGH) {
    Serial.print("x");
  } else {
    Serial.print(".");
  }

  digitalWrite(LED_BUILTIN, 0);
  delay(500);
  if (batch == 10) {
    Serial.println();
    batch = 0;
  }
}

i wygląda, że działa 🙂

Link do komentarza
Share on other sites

no to druga część mojego pytania, @farmaceuta. Wiesz może jaki czujnik odległości będzie najlepszy do czujnika parkowania w garażu? Zasięg może mieć krótki (do 10m), ale żebym mógł z niego odczytać odległość w wersji analogowej? (np im bliżej obiekt to tym wyższa/niższa wartość sygnału).

Nie mam tu zupełnie doświadczenia więc proszę o radę 🙂

Link do komentarza
Share on other sites

Jeśli chodzi o dalmierze laserowe to aby uzyskać taki zasięg potrzebna będzie odpowiednio dobrana optyka, samym modułem wątpię aby udało się uzyskać takie zasięgi. Po drugie 8266 ma jedno wejście analogowe o niezbyt dużej dokładności, nadaje się raczej do zgrubnych pomiarów, dalmierz jeśli będziesz kupował to na szynę i2c nie jest to aż takie trudne do oprogramowania myślę że z czasem dasz z naszą pomocą radę. 

Link do komentarza
Share on other sites

@_LM_ Da się bez wymyślnej optyki samym modułem - tu masz kilka pasujących. Dokładność 6cm powinna wystarczyć.

https://botland.com.pl/443-skanery-laserowe?order=product.price.asc

Nie wiem dlaczego analogowo bo to trochę bez sensu - @bklimczak możesz napisać dlaczego analogowy a nie UART/I2C?

  • Lubię! 1
Link do komentarza
Share on other sites

27 minut temu, ethanak napisał:

@_LM_ Da się bez wymyślnej optyki samym modułem - tu masz kilka pasujących. Dokładność 6cm powinna wystarczyć.

https://botland.com.pl/443-skanery-laserowe?order=product.price.asc

Nie wiem dlaczego analogowo bo to trochę bez sensu - @bklimczak możesz napisać dlaczego analogowy a nie UART/I2C?

Nie wiem, wydawało mi się, ze analogowy powinien wystarczyć. Dlatego pytam na forum 🙂 

A ten moduł  hc-sr04 nie dałby radę? Wychodzi około 13 zł z uchwytem zamiast ponad stówkę. 

Link do komentarza
Share on other sites

3 minuty temu, bklimczak napisał:

A ten moduł  hc-sr04 nie dałby radę?

Zasięg Cię ogranicza ja sprawdziłem działanie na 4m ale te 10 to niema szans, poza tym ten moduł niema wyjścia analogowego jak chciałeś a za to absorbuje jeden lub dwa gpio (zależnie od biblioteki).

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.