Arduino Polska Forum

Pełna wersja: ESP8226 nodemcu + HC-SR04
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
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);
}
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.
Faktycznie jest już ok. Dzięki za pomoc