Podłączenie ESP8266-01 do czujnika HC-SR04

Masz problem z Arduino? Tutaj możesz szukać pomocy.
ODPOWIEDZ
kubson
Młodszy majsterkowicz
Posty: 8
Rejestracja: 16 paź 2014, 00:34

Podłączenie ESP8266-01 do czujnika HC-SR04

Post autor: kubson » 2 gru 2018, 01:39

Witam!

Czy możliwe jest podłączenie czujnika ultradźwiękowego bezpośrednio do ESP8266-01 ?
Chciałem mieć taki minimalistyczny czujnik z pomiarem odległości.
Połączam Trig do GPIO0 i Echo do GPIO02, zasilanie oczywiście odpowiednio i... nic. Pomiar jaki wysyła ESP na twitera to 0. Zawsze 0.
Czujnik jest sprawny. Sam algorytm pomiaru też działa bo jest skopiowany z innego działającego projektu. Gdzie szukać przyczyny?
NIe wiem, może GPIO0 lub 2 nie mogą być input i output?
A może trzeba je jakoś zdefiniować specjalnie inaczej niż tylko
const int trigPin = 0;
const int echoPin = 2;
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Podłączone jak tutaj. Zasilanie sprawdzałem 3,3V 5V oraz oba i konwerter stanów logicznych.
Obrazek
?

Kod: KODY PROGRAMÓW UMIESZCZAMY W ZNACZNIAKCH

Kod: Zaznacz cały

  #include <ESP8266WiFi.h>
  #include <WiFiClient.h>
  #include <WiFiServer.h>
  #include <WiFiUdp.h>
    const int trigPin = 0;
    const int echoPin = 2;
    //sensor calc
    long duration,durationsr,durationtot;
    int distanceCm;
    int licznik;
   
String API = "XXXXXXXXXXX";
const char* ssid = "YYYYYYYYY";
const char* password = "ZZZZZZZZZZZ";

String tweet = "Czujnik%20uruchomiony:";

WiFiClient client;
    
    void setup() {

    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
    licznik = 1;

        // connect to wifi

        WiFi.begin(ssid, password);

          while (WiFi.status() != WL_CONNECTED)
           delay(1500);

          if (client.connect("184.106.153.149", 80))
          {
             client.print("GET /apps/thingtweet/1/statuses/update?key=" + API + "&status=" + tweet + " HTTP/1.1\r\n");
             client.print("Host: api,thingspeak,com\r\n");
             client.print("Accept: */*\r\n");
             client.print("User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n");
             client.print("\r\n");
          }
    
    }


        int pomiar() {

            for(int i=0;i<=licznik;i++) {
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    duration = pulseIn(echoPin, HIGH);
    durationsr = durationsr+duration;
            }
    durationtot = (durationsr/licznik);
    distanceCm= durationtot*0.034/2;
    durationsr = 0;
    durationtot = 0;
    return distanceCm;
    
    }
  
    void loop() { 
   String tweet2 = String("Liczba%20to:");
          client.print("GET /apps/thingtweet/1/statuses/update?key=" + API + "&status=" + tweet2 + " HTTP/1.1\r\n");
             client.print("Host: api,thingspeak,com\r\n");
             client.print("Accept: */*\r\n");
             client.print("User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n");
             client.print("\r\n");
                 delay(1500);
                 pomiar();
   String tweet3 = String(distanceCm);
          client.print("GET /apps/thingtweet/1/statuses/update?key=" + API + "&status=" + tweet3 + " HTTP/1.1\r\n");
             client.print("Host: api,thingspeak,com\r\n");
             client.print("Accept: */*\r\n");
             client.print("User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n");
             client.print("\r\n");
    delay(1500);
    }
Ostatnio zmieniony 2 gru 2018, 18:24 przez MrLewerence, łącznie zmieniany 2 razy.
Powód: KODY PROGRAMU PROSZĘ UMIESZCZAĆ W ZNACZNIKACH [code][/code] Upomnienie.

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


ODPOWIEDZ

Strony partnerskie: