Go Down

Topic: HC-SR04 - Distance (Read 755 times) previous topic - next topic

derf911

Bonjour,

Je viens d'acquérir un Wemos Mini D1 Lite & HC-SR04 que j'essaie de faire fonctionner.

J'ai suivi à la lettre ce tuto http://www.likecircuit.com/iot-distance-sensor-hc-sr04-wemos-d1-mini/ mais la distance reste à zéro.

J'ai testé une alimentation de télépone portable (5V) et en USB via le port du Wemos mais même problème.

Faut-il utiliser une alimentation dédiée au HC-SR04 ?

Merci pour vos conseils :)

didiersee

Bonjour sais-tu joindre quelques photos de ton montage. Il faut savoir aussi que suivant les capteurs ultrason il y en a à 4 bornes et d'autres à 5 bornes. Et enfin très important les bibliothèques il faut avoir les dernières mises à jour mais ce n'est pas tout certains modifient eux-même les bibliothèques officielles il faut alors impérativement charger leur bibliothèque et pas l'officielle.
Après tous ces contrôles on peut seulement s'attaquer au code...

Christian_R

On peut l'alimenter depuis la carte uno ça marche.
Christian

derf911

#3
Aug 18, 2018, 11:25 am Last Edit: Aug 18, 2018, 11:27 am by derf911
Bonjour sais-tu joindre quelques photos de ton montage. Il faut savoir aussi que suivant les capteurs ultrason il y en a à 4 bornes et d'autres à 5 bornes. Et enfin très important les bibliothèques il faut avoir les dernières mises à jour mais ce n'est pas tout certains modifient eux-même les bibliothèques officielles il faut alors impérativement charger leur bibliothèque et pas l'officielle.
Après tous ces contrôles on peut seulement s'attaquer au code...
Bonjour,

Merci pour votre réponse.
Voici une photo : https://ibb.co/kXpSQz

Fil rouge : VCC sur le capteur et Wemos
Fil noir : GND sur le capteur et Wemos
Fil blanc : Trigger sur le capteur et D5 sur Wemos
Fil jaune : Echo sur le capteur et D6 sur Wemos

Le tout est alimenté en USB.

Voici mon code :

J'ai essayé de mettre D5 et D6 sur les PINs.

Code: [Select]

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

// WIFI
const char* ssid = "monssid";
const char* password = "password";
IPAddress ip(monIP);
IPAddress gateway(monIP);
IPAddress subnet(255,255,255,0);

ESP8266WebServer server(80);

// defines pins numbers trigger and echo
const int trigPin = 14;  //Digital port D5
const int echoPin = 12;  //Digital port D6

// defines variables
long duration;
float distance;
float Mdistance;

const int led = LED_BUILTIN;

void setup(void){
  pinMode(led, OUTPUT);
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
  pinMode(echoPin, INPUT); // Sets the echoPin as an Input
  digitalWrite(led, 0);
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  WiFi.config(ip, gateway, subnet);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print("...");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  server.on("/", webserver);
  server.onNotFound(handleNotFound);
  server.begin();
}

void loop(void){
  server.handleClient();

  distanceData();
  delay(500);
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");
}

void distanceData(){
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
 
  // Sets the trigPin on HIGH state for 10 micro seconds
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
 
  // Reads the echoPin, returns the sound wave travel time in microseconds
  duration = pulseIn(echoPin, HIGH);
 
  // Calculating the distance
  distance= (duration*0.034)/2;
  }

void webserver() {
  digitalWrite(led, !digitalRead(led));
  distanceData();
  String content = "<html> <head> <meta http-equiv='refresh' content='1'> </head><body>";
  content += "<center><h2>The distance is: ";
  content += distance;
  content += " cm </h2></center> </body></html>";
  server.send(200, "text/html", content);
}

void handleNotFound(){
  digitalWrite(led, 1);
  String message = "File Not Found\n\n";
  server.send(404, "text/plain", message);
  digitalWrite(led, 0);
}



kamill

Bonjour,

On dirait que les pins ne sont pas soudées sur la carte. Est ce qu'elles sont affectivement bien soudées ?

didiersee

#5
Aug 18, 2018, 07:06 pm Last Edit: Aug 18, 2018, 07:07 pm by didiersee
D'après ce que je vois sur ce site
le 5v alimente le wemos mais pas le capteur ultrason. Le plus simple est de mesurer avec un voltmètre si tu as bien du 5v sur ton capteur sinon tu alimentes ton wemos avec la prise usb et tu prends une autre alimentation de 5v pour ton capteur ATTENTION tu ne dois pas mettre les alimentations en parallèle mais bien les GND et uniquement les GND donc les masses.
A bientôt

derf911

Bonjour,

On dirait que les pins ne sont pas soudées sur la carte. Est ce qu'elles sont affectivement bien soudées ?
Bonjour,

Je n'ai rien soudé. Je pensais qu'en utilisant une breadboard, ce n'était pas nécessaire.
Je pense que le problème vient de là. Si je joue un peu avec les fils, j'obtiens des valeurs, mais aléatoires et erronées :(

Christian_R

Soudure obligatoire des pins !
Christian

didiersee

bien vu effectivement il faut commencer par souder les pins  :)

derf911

Je viens de tout souder mais j'ai toujours le problème initial :(

68tjs

As tu vérifié au voltmètre que les tensions sur les pins du Wemos ont bien la tension attendue ?

Est-ce que tu peux renvoyer une nouvelle photo du câblage.
Sur l'ancienne je ne sais pas quoi penser à cause de l'effet de parallaxe mais des connexions me semblaient douteuses.
Pour éviter ce défaut essaye de prendre la photo  bien au dessus de la plaque en tenant l'appareil bien horizontal.

derf911

J'ai bien 4,7 V sur les bornes du Wemos et du capteur.

Je remets ci-joint une photo des branchements : https://ibb.co/i8GrQz
  • Fil rouge : VCC sur le capteur et Wemos
  • Fil noir : GND sur le capteur et Wemos
  • Fil blanc : Echo sur le capteur et D5 sur Wemos
  • Fil jaune : Trigger sur le capteur et D6 sur Wemos

derf911

J'ai bien 4,7 V sur les bornes du Wemos et du capteur.

Je remets ci-joint une photo des branchements : https://ibb.co/i8GrQz
  • Fil rouge : VCC sur le capteur et Wemos
  • Fil noir : GND sur le capteur et Wemos
  • Fil blanc : Echo sur le capteur et D5 sur Wemos
  • Fil jaune : Trigger sur le capteur et D6 sur Wemos

Bonjour,

Auriez-vous une piste ?

didiersee

Est ce que tout se passe bien quand tu téléverses le code sur ta carte?

derf911

Bonjour,

Oui aucune erreur lors de la compilation ou transfert vers la carte.

Go Up