» Électronique » Arduino »Télémètre ultrasonique très précis

Télémètre ultrasonique très précis



Ce télémètre à ultrasons HC-SR04 a été amélioré avec le capteur de température LM35.

De l'école, vous vous souvenez que la vitesse du son dépend de la densité de l'air et que la densité de l'air dépend de la température.
Nous calculerons la température en utilisant cette formule
temp2 = (temp / 1023,0) * 5,0 * 1000/10;

Où temp2 est la valeur de température finale après la formule,
Et où temp est la valeur brute du capteur.

Ce dont nous avons besoin:
  • Télémètre à ultrasons HC-SR04
  • Arduino
  • Planche à pain
  • Cavaliers
  • Thermistance LM35 (capteur de température)


Gardez à l'esprit que le HC-SR04 se présente sous deux formes -
Ici, j'en ai un bon et il mesure de manière stable la distance.
Ils mesurent tous les deux de 4 cm à 400 cm.
Alimenté par 3,3 à 5 v


Pour commencer, nous nous moquons de tout sur une planche à pain.

Capteur à ultrasons:
  • GND - gnd
  • Echo - 3 broches
  • Trig - 2 broches
  • Vcc - 5v

Thermistance LM35:
  • 1 - 5v
  • 2 - A0
  • 3 - GND

Télémètre ultrasonique très précis

Cela devrait être comme ceci:

Ensuite, nous remplissons le croquis.
Téléchargez la bibliothèque du capteur HC-SR04 -
iarduino_hc-sr04.zip [299,69 Ko] (téléchargements: 207)

Télécharger le croquis -
sketch_mar23f.zip [338 b] (téléchargements: 157)

#include  // connectez la bibliothèque pour travailler avec le capteur à ultrasons HC-SR04
iarduino_HC_SR04 hcsr (2,3); // désigne les contacts Trig et Echo
int temp = 0; // température brute
float temp2 = 0; // valeur de température prête

void setup () {// exécuter 1 fois
  Serial.begin (9600); // démarre le moniteur de port
  pinMode (A0, INPUT); // désigne le contact A0 en entrée
}

void loop () {// se répète un nombre infini de fois
  temp = lecture analogique (A0); // lit la valeur du contact A0 et lui affecte la variable temp
  temp2 = (temp / 1023,0) * 5,0 * 1000/10; // calcule la valeur brute selon la formule pour obtenir la valeur de température finale
  Serial.println (hcsr.distance (temp2)); // écrit la plage prête dans le moniteur de port
  retard (1000); // retard 1 seconde
}

Et voici un croquis pour un écran LCD-
Télécharger le croquis -
sketch_mar23f-1.zip [861 b] (téléchargements: 139)


#include  // connectez la bibliothèque pour travailler avec le capteur à ultrasons HC-SR04
#include  // connecte la bibliothèque pour travailler avec l'affichage sur le bus I2C

Écran LCD LiquidCrystal_I2C (0x27, 16, 2); // dénote (adresse, colonnes, lignes)
iarduino_HC_SR04 hcsr (2,3); // désigne les contacts Trig et Echo

int temp = 0; // température brute
float temp2 = 0; // valeur de température prête

void setup () {// exécuter 1 fois
  lcd.init (); // initialise l'affichage
  lcd.backlight (); // allume le rétroéclairage de l'écran
  pinMode (A0, INPUT); // désigne le contact A0 en entrée
}

void loop () {// se répète un nombre infini de fois
  temp = lecture analogique (A0); // lit la valeur du contact A0 et lui affecte la variable temp
  temp2 = (temp / 1023,0) * 5,0 * 1000/10; // calcule la valeur brute selon la formule pour obtenir la valeur de température finale
  lcd.setCursor (2, 0); // place le curseur sur 2 colonnes et 0 ligne
  lcd.print (temp2); // écrit la distance
  lcd.setCursor (5,0); // place le curseur sur la 5ème colonne et la 0ème ligne
  lcd.print ("cm"); // écrire cm
  retard (1000); // retard 1 seconde
}


Écrivez des commentaires et des questions, je répondrai à tout!
10
10
10

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer
13 commentaires
Alexander invité
D'où vient cette formule:
temp2 = (temp / 1023,0) * 5,0 * 1000/10
Pourriez-vous me dire plus en détail, d'où viennent ces valeurs?
J'ajouterais également le point 4. Ne pas utiliser pour les mesures, uniquement pour les appareils d'automatisation!
Je comprends (à en juger par les paramètres ci-dessus) que les instructions pour cela ressemblent à ceci:
1. Saisissez le HC-SR04 dans votre main gauche et l'Atoruchka, ou marqueur, dans votre droite.
2. Estimez la distance à l'œil nu et notez-la.
3. Remettez le HC-SR04 dans la boîte.
ok
Citation: «Caractéristiques du télémètre à ultrasons HC-SR04
Plage de mesure: de 2 cm à 400 cm.
Précision de mesure: ± 1 cm (dans la plage maximale ± 3 cm).

Question: Quel est le poids de la correction de température dans l'erreur totale?
Je crois que le produit fait maison n'a pas été implémenté, il n'y a pas de photo de l'appareil fini et de son fonctionnement.
Je considère ce produit fait maison comme "puéril", mais l'article ne montre ni ne montre comment connecter l'écran. Pour les débutants, nos sites ne sont pas clairs, mais ceux expérimentés n'en ont pas besoin. Mâchez et montrez tout ce qui est fait maison.
Citation: Anton Martyanov
En fait, ils diffèrent non seulement par leur inscription mais aussi par leur précision!

Selon la documentation ou avez-vous rencontré cela?
L'auteur
En fait, ils diffèrent non seulement par leur inscription mais aussi par leur précision!
Mais cela ne suffit-il pas ??? patron Par exemple, je n'aime pas non plus quand les marquages ​​sont écrits en dessous d'un demi-mètre !!! sourit ne sais pas
Et pourquoi est-il toujours mauvais, à part la hauteur du marquage?
L'auteur
Le mauvais est l'inscription HC-SR04 0,5 cm plus bas
Très précis
Et quelle est la précision? Qu'est-ce qui a été utilisé comme référence? Quelle est l'erreur de température?
Gardez à l'esprit que le HC-SR04 se présente sous deux formes -
J'en ai un bon
Et lequel pensez-vous est mauvais?
Je vais vous dire par ma propre expérience qu’un télémètre à ultrasons, comme la «roulette sans contact» est un chouchou !!!
On traîne comme inutile ...
Et pas à cause d'une précision insuffisante, mais parce qu'ils ne peuvent mesurer la distance qu'à une paroi suffisamment grande de matériau solide ... Mais à la paroi arrière d'une niche dans ce mur - pas question !!! Et cela ne fonctionnera pas non plus si ce mur est jonché de meubles et d'autres choses, et il n'y a qu'une petite "fenêtre" exempte d'encombrement ... (Dans ce cas, il est plus facile de ne pas libérer le mur de tout cela, mais utilisez simplement la roulette régulière).
Encore une fois, essayez de mesurer la distance d'une cheville enfoncée dans le sol !!!

Et à la serre?)))
Et au mur recouvert de tissu?)))
Et à la façade, déjà collée avec des plaques de laine minérale, mais toujours sans revêtement final?))))
Et devant chacun des dix chevrons disposés en rang?
Et du mur à l'extrémité de la planche déjà clouée au plafond pour couper la longueur requise et refermer ce "trou" ???

Rien de ce qui précède ne fonctionnera pour vous !!!

Et puis que mesurer avec pendant la réparation, ou sur un chantier, par exemple ??? Seulement la taille et la superficie des locaux, sans meubles ???

En bref, je l'ai jeté sur l'étagère il y a quelques années, et, me souvenant du proverbe sur "l'avare qui paie deux fois", j'ai décidé que je devais acheter un laser ...

Nous vous conseillons de lire:

Donnez-le au smartphone ...