Arduino Polska Forum
ESP8226 nodemcu + HC-SR04 - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Instalacja i rozwiązywanie problemów (https://forum.arduinopolska.pl/dzial-instalacja-i-rozwi%C4%85zywanie-problem%C3%B3w)
+--- Wątek: ESP8226 nodemcu + HC-SR04 (/watek-esp8226-nodemcu-hc-sr04)



ESP8226 nodemcu + HC-SR04 - pasiarz - 11-11-2017

Witam,

potrzebowałem połączyć te 2 układy a w dalszej część przesyłać informacje z HC-SR04 na cloud. Mam już problem na początku. Nie mogę zaczytać danych z czujnika. Ciągle mam 0 cm.

Jak wiemy HC-SR04 ma 5V, a ESP8226 3.3V dlatego do HC-SR04 dodałem zasilanie 5V z USB. (tak więc to 5V na rysunku to kabel USB). Finalnie zamiast połączenia czerwony i czarny mam połączenie fioletowe. Dlaczego nie mogę zaczytać danych z czujnika?

[attachment=426]

Przykładowy kod:


Kod:
/*
********************************************
14CORE ULTRASONIC DISTANCE SENSOR CODE TEST
********************************************
*/
#define TRIGGER 1
#define ECHO    2

// NodeMCU Pin D1 > TRIGGER | Pin D2 > ECHO

void setup() {
 
 Serial.begin (9600);
 pinMode(TRIGGER, OUTPUT);
 pinMode(ECHO, INPUT);
 pinMode(BUILTIN_LED, OUTPUT);
}

void loop() {
 
 long duration, distance;
 digitalWrite(TRIGGER, LOW);  
 delayMicroseconds(2);
 
 digitalWrite(TRIGGER, HIGH);
 delayMicroseconds(10);
 
 digitalWrite(TRIGGER, LOW);
 duration = pulseIn(ECHO, HIGH);
 distance = (duration/2) / 29.1;
 
 Serial.print(distance);
 Serial.println("Centimeter:");
 delay(1000);
}



RE: ESP8226 nodemcu + HC-SR04 - krn78 - 13-11-2017

Kiedy tak sobie popatrzyłem na pinout NodeMCU, wygląda mi na to, że na NodeMCU pin D1 ma wartość arduinowe 5, a D2 to 4. Żródło tutaj. Zmień kod na
Kod:
#define TRIGGER 5
#define ECHO    4

i wtedy powinno być w porządku.


RE: ESP8226 nodemcu + HC-SR04 - pasiarz - 15-11-2017

Faktycznie jest już ok. Dzięki za pomoc