» Électronique » Arduino »Télémètre sur la plateforme Arduino!

Le télémètre sur la plateforme Arduino!


Bonne journée à tous! Dans cet article, je voudrais dire comment utiliser Arduino, un ensemble de LED et un capteur à ultrasons, vous pouvez assembler un appareil qui détermine la distance de l'observateur à l'objet, en d'autres termes, télémètre. Et c'est parti!
De quoi avons-nous besoin:
Plaine boîte. Il est souhaitable d'être de petite taille, car il ne contiendra qu'un seul microcontrôleur.

En utilisant transducteur à ultrasons HC-SR04 nous pouvons déterminer la distance.

Indicateur à quatre chiffres nous devons sortir les valeurs obtenues.

Ensemble LEDs toutes les couleurs (j'ai utilisé du vert, car elles sont plus lumineuses), résistances à 220 ohms fils ou des pulls aussi planche à pain.





Pour que les composants de notre appareil soient solidement fixés, je vais les souder.
Pour cela, nous avons besoin fer à souder, flux, soudureaussi planche à pain pour le soudage.

Et bien sûr, sans Arduino on ne peut pas faire! (Vous pouvez choisir n'importe quel microcontrôleur, j'ai préféré Arduino Leonardo ou son équivalent Iskra Neo)

Parmi les outils dont nous avons besoin d'un fer à souder, comme je l'ai dit ci-dessus, couteau et pinces.

Commençons maintenant à assembler l'appareil.
Étape # 1
Pour commencer, à l'aide d'une maquette, nous allons assembler un prototype de notre futur appareil. Cela ressemblera à quelque chose comme ça ..

Ne t'inquiète pas! Il n'y a rien de terrible dans ce fouillis de fils!
Le capteur HC-SR04 a quatre broches: plus, moins (que nous collons dans les 5V et GND du contrôleur), Trig et Echo (nous insérons les broches Arduino dans 12 et 11, respectivement)
L'indicateur à quatre chiffres a 3 fils: alimentation, masse et signal. Ce dernier est connecté à l'Arduino 9 broches.
Nous connectons trois LED aux contacts 6, 5 et 4 du contrôleur en série avec des résistances. N'oubliez pas la polarité. Le courant passe d'une jambe plus longue à une jambe plus courte.
C'est tout, lorsque nous avons assemblé notre appareil sur une planche à pain, téléchargé le croquis (ce sera à la fin de l'article) et veillé à ce que tout fonctionne, n'hésitez pas à commencer à souder.
Étape numéro 2
Tout d'abord, soudez le capteur à ultrasons à la planche à pain. J'ai utilisé une petite planche à pain de taille, car le nombre d'éléments ne dépasse pas 7.

Après cela, avec l'aide de pinces, mordre les jambes (je m'excuse pour la tautologie), les raccourcir pour qu'elles n'interfèrent pas et qu'elles soient plus jolies!

Après cela, soudez les quatre fils contre les contacts du capteur.


N'oubliez pas non plus les pinces!


Étape # 3
Le capteur est en place, il reste à souder les trois LED avec les résistances.


Au verso, cela ressemble à ceci:

Étape # 4
Sur le côté de la boîte, découpez un trou rond pour la nourriture.

Sur le couvercle, vous devez découper une cavité à la taille (légèrement plus petite) de votre planche à pain, et également percer des trous pour les vis.


Maintenant, si nous visons une planche à pain vide sans éléments dessus (je l'ai fait juste pour la démonstration ..), nous obtenons quelque chose comme ceci:

Étape # 5
Donc, pour le rendre plus pratique, je propose de connecter d'abord les fils à l'arduino, puis de visser la planche à pain au couvercle de la boîte. N'oubliez pas non plus notre indicateur que j'ai placé au-dessus de la mise en page.

Tout sur cet appareil est terminé!
Il ne reste plus qu'à télécharger le prochain croquis et profitez du jouet!
#include
#include
Sonar NewPing (12.11, 400);
int a, j, b;
long non signé t = 0;
int masiv [] = {1,0,0,0,1,1,0,0,0,1};
void setup ()
{
 pour (int i = 4; i & lt; 7; i ++)
 {
   pinMode (i, SORTIE);
 }
 displayClear (9);
 pour (int i = 4; i & lt; 7; i ++)
 {
   digitalWrite (i, 0);
 }
  }
boucle vide ()
{
  j = 7;
  pour (int i = 0; i100) ton (2,70);
    digitalWrite (j, masiv [i]);
    tandis que (millis () & lt; = t + b)
    {
    retard (50);
    a = sonar.ping_cm ();
    displayInt (9, a);
    b = a;
    }
    t = millis ();
    si (j == 4) j = 7;
    si (i == 8)
    {
     digitalWrite (4.1);
     tandis que (millis () & lt; = (t + b) + (b * 2))
     {
    retard (50);
    a = sonar.ping_cm ();
    displayInt (9, a);
    b = a;
     }
     digitalWrite (4.0);
     t = millis ();
    }
  }



Quelques mots code de programme. Grâce à lui, nos trois LED clignoteront alternativement l'une après l'autre, et la vitesse de leur clignotement dépendra de la distance à l'objet, qui est calculée par le capteur à ultrasons. Mais pour faire clignoter les LED, il n'est pas tout à fait logique d'utiliser la fonction delay (), car lorsqu'elle est utilisée, le contrôleur se fige et aucun calcul n'est effectué. Il existe plusieurs façons de résoudre ce problème. En particulier, l'un d'eux est l'utilisation de la fonction millis (), qui renvoie un nombre en millisecondes à partir du moment où le contrôleur fonctionne. Et comment retardons-nous 100 millisecondes conditionnelles? Pour ce faire, j'ai créé un cycle essentiellement vide, dont la sortie ne se fera qu'après ces 100 millisecondes, puis le programme procède à l'allumage / extinction des LED.

Et bien c'est tout! Merci d'avoir lu cet article jusqu'au bout. J'espère que non seulement vous l'aimiez, mais aussi que vous avez inspiré une nouvelle mer artisanat et inventions!
6
5
5

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
7 commentaires
L'auteur
Salut)
Peut-être avez-vous encore un croquis qui fonctionne? En cela, il s'avère que même le signe "<" a été remplacé par "& lt;")
Bonjour Lorsque je charge votre croquis, il produit un tas d'erreurs de syntaxe pour une raison quelconque. Bien sûr, je ne joue pas très bien avec la syntaxe, mais à certains endroits, je n'arrive pas à comprendre ce qui doit être corrigé. Par exemple, dans un morceau:
pour (int i = 0; i100) ton (2,70);
digitalWrite (j, masiv [i]);
, que signifie le i100 fusionné? pourquoi pas incrémenter? Avez-vous besoin d'accolades pour que les deux fonctions suivantes appartiennent à la même boucle, ou je me trompe? Et donc le compilateur ne jure que dans le code. Puis-je en quelque sorte vous contacter, clarifier le code? J'essaie de faire un projet de cours basé sur votre article.

De plus, dans le code à l'endroit où les bibliothèques sont connectées, leurs noms ne sont pas indiqués. Bien sûr, vous pouvez le deviner, mais ce croquis n'est pas encore tout à fait adapté aux tests instantanés, vous devez y réfléchir)
L'auteur
Oui, c'est possible)
Autrement dit, l'avant-dernière photo (dans laquelle 77) est tout simplement infructueuse en raison d'un certain éclairage parasite des segments supérieurs à la suite d'un fonctionnement incorrect de l'affichage dynamique? Sur les six aussi, le rétro-éclairage parasite, bien que pas si évident.
L'auteur
Ivan, les lectures 6cm et 11cm sont la distance du capteur à la paume)
Veuillez expliquer pourquoi un témoignage aussi étrange dans les deux dernières photos.

Nous vous conseillons de lire:

Donnez-le au smartphone ...