Bonjour les amoureux fait maison! Aujourd'hui, nous allons assembler un simple télémètre sur Arduino Pro Mini. L'appareil est capable de mesurer une distance de 2 à 400 cm L'erreur de cet appareil atteint seulement +/- 1-5 cm, selon la distance mesurée.
Outils et matériaux
-Arduino Pro mini
Capteur HC-04
- Indicateur sur tm1637
-Fil (j'ai - MGTF 0,12)
-Programmeur
-Boîtier en plastique
-Batterie Li-on
-Petit interrupteur
- Carte de charge sur TP4056
Superglue
-Fer à souder
-Soudeur
Colophane
Percer, percer, etc.
Première étape. Schéma:
Le schéma est simple, sans ajouts.
Étape 2. Préparation du cas:
Nous essayons d'abord le capteur et forons deux trous sur 15 mm.
Ensuite, faites un trou pour un connecteur micro-usb avec une perceuse de 3-3,5 mm.
Nous sélectionnons un foret pour le diamètre de l'interrupteur et un foret.
Sur le couvercle, nous faisons une «fenêtre» pour l'indicateur à sept segments (sur la photo sans traitement), et nous finissons toutes les irrégularités avec un fichier.
Étape 3. Micrologiciel:
Dans l'esquisse, les variables qui peuvent être ajustées par vous-même sont mises en évidence. Tout le code est mis en commentaire.
#include // bibliothèques pour le travail
#include
// ------------- Pour configurer --------------------------------- --------------------------------
bool Long = 0; // 0 - mesure la longueur du capteur
// 1 - mesure la longueur de la paroi du boîtier, qui est opposée au capteur
corpus int non signé = 10; // distance du capteur à la paroi opposée du boîtier (en centimètres)
#define CLK 2 // broches pour se connecter
#define DIO 3
#define TRIG 4
#define ECHO 5
// ------------------------------------------------ ----------------------------------------------
impulsion int non signée = 0; // variables pour le calcul
unsigned int sm = 0;
Disp GyverTM1637 (CLK, DIO);
void setup () {
pinMode (TRIG, OUTPUT); // défini comme sortie
pinMode (ECHO, INPUT); // définir comme entrée
disp.brightness (7); // luminosité 0-7
point de disp. (0); // éteint les deux points
disp.clear (); // efface l'indicateur
}
boucle vide () {
digitalWrite (TRIG, HIGH); // alimentation 5 volts
delayMicroseconds (10); // retarde 10 microsecondes
digitalWrite (TRIG, LOW); // servir 0
impulsion = pulseIn (ECHO, HIGH); // mesure la longueur d'impulsion
sm = impulsion / 58; // convertir en centimètres
if (Long == 1) {// vérifier les paramètres
sm = sm + corpus;
}
if (sm <= 2) {// zéro fausses valeurs
sm = 1;
}
si (sm> = 405) {
sm = 1;
}
entier entier = sm / 10;
int décimal = sm% 10;
décimal = décimal * 10;
disp.displayClock (entier, décimal); // sortie vers l'indicateur
retard (300); // retard de 0,3 sec. entre la sortie de valeur
}
Ensuite, connectez le programmateur et flash MK.
Quatrième étape. Assemblage:
Étant donné que l'appareil fonctionne sur batterie, nous n'avons pas besoin de frais supplémentaires. Par conséquent, sur la carte Arduino, nous soudons les LED et le bouton de réinitialisation (pour réduire la taille).
Collez la batterie sur le corps avec de la super-colle. Nous collons la carte de charge sur la batterie, installons le commutateur et soudons le tout selon le schéma.
Nous collons le capteur sur le boîtier et soudons tout selon le schéma. Il y avait d'abord une idée de coller la carte sur du ruban adhésif double face, mais il a ensuite été décidé de la coller sur de la super-colle. L'indicateur peut être vissé ou collé.
Étape 5. Test:
Remarque: le quatrième segment affichera toujours 0. Ceci permet de s'assurer que le dernier segment n'est pas vide. Il s'avère que si la lecture est de 270, cela signifie que la distance est de 27 cm.
Certes, le témoignage peut être vérifié avec la règle.