![Capteur de ping d'affichage pour Arduino Nano 7segment 4digit de Sarigiannis: 6 étapes Capteur de ping d'affichage pour Arduino Nano 7segment 4digit de Sarigiannis: 6 étapes](https://img.gwsigeps.com/img/img/blank.jpg)
Table des matières:
- Provisions:
- Étape 1: rassemblez toutes les pièces dont vous avez besoin
- Étape 2: Connecter les pièces
- Étape 3: Les sept segments avec 12 broches
- Étape 4: Comment cela devrait-il fonctionner?
- Étape 5: le code
- Étape 6: Vous aurez aussi besoin de la bibliothèque Newping
dans cette instruction, nous connectons l'arduino nano à un capteur ping et nous exportons les résultats sur un afficheur à 7 chiffres et 7 segments.
Provisions:
Étape 1: rassemblez toutes les pièces dont vous avez besoin
1 - planche à pain
2 - fils de liaison
3 - arduino nano v3
4 - capteur de ping
Décodeur 5 - 7 segments (pourrait être 74ls47 ou cmos 4511)
Anode commune d'affichage à 6 ou 7 segments à quatre chiffres
7 - 7 résistances correspondant à 7 segments (350 Ohm serait bien)
8 - résistance 1k pour le décodeur
Étape 2: Connecter les pièces
connectez les pièces comme indiqué sur l'image.
j'ai utilisé vbb pour le schets mais je n'ai pas le sevensegment (voir ci-dessous)
1 - le nano au décodeur a0 / a1 / a2 / a3
2 - le nano aux broches de sélection du segment 7 y1 / y2 / y3 / y4
3 - le nano à la sonnerie
4 - le nano au capteur de ping
5 - les 3 broches du décodeur se connectent au point commun et à la résistance via 1k résistance
6 - le décodeur en vcc et au sol
7 - le décodeur à 7segment a / b / c / d / e / f / g à travers des résistances de 350 ohms
soyez très attentif au diagramme de connexion!
Étape 3: Les sept segments avec 12 broches
si vous avez un segment à quatre chiffres 7 c'est l'image sur la façon de le connecter
a-b-c-d-e-f-g est comme indiqué les éléments
y1 - y2 - y3 - y4 sont les broches de sélection sur lesquelles des quatre afficher
dp est l'affichage par points. nous n'avons pas besoin de ça.
Étape 4: Comment cela devrait-il fonctionner?
la distance entre le capteur et le segment doit être en cm
au-dessous de 10 cm, vous entendrez le son légèrement
au-dessous de 5 cm, vous devriez entendre une sonnerie plus intense
vous pouvez sauter le décodeur si vous savez ce que vous faites dans le code
Étape 5: le code
#include <NewPing.h>
#define TRIGGER_PIN 12 // Broche Arduino liée à une broche de déclenchement sur le capteur à ultrasons.
#define ECHO_PIN 11 // Broche Arduino liée à la broche d'écho du capteur à ultrasons.
#define MAX_DISTANCE 200 // Distance maximale pour laquelle nous voulons faire un ping (en centimètres). La distance maximale du capteur est évaluée à 400-500cm.
NewPing sound (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
int protonomère;
int deyteronoumero;
int tritonourere;
int tetartonoumer;
int tetrapsifios = 0;
void setup () {
pinMode (2, OUTPUT);
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (9, OUTPUT);
pinMode (13, OUTPUT);
}
boucle vide () {
unsigned int uS = sonar.ping ();
tetrapsifios = (US / US_ROUNDTRIP_CM);
if (tetrapsifios <= 9) {
digitalWrite (13.1);
délai (10);
si (tetrapsifios <= 5) {
retarder (20);
}
tetartonourere = tetrapsifios;
tritonomère = 0;
deyteronoumer = 0;
protonomère = 0;
}
if (tetrapsifios> 9 && tetrapsifios <= 99) {
tritoners = tétrapsiphos / 10;
tetartonourere = tetrapsifios- (tritonoure * 10);
deyteronoumer = 0; protonomère = 0;
}
if (tetrapsifios> 99 && tetrapsifios <= 999) {
deyteronoumero = tetrapsifios / 100;
tritonomère = ((tetrapsifios- (deyteronoumer * 100)) / 10);
tétartonomère = (tetrapsifios- (deyteronoumer * 100)) - (tritonoumer * 10);
protonomère = 0; }
si (tetrapsifios> 999) {tetartonoumero = 0; tritonomère = 0; deyteronoumer = 0; protonomère = 0; } pour (int t = 0; t <10; t) {
digitalWrite (13,0);
digitalWrite (8.1);
digitalWrite (7.0);
digitalWrite (6.0);
digitalWrite (5,0);
anama (tetartonoumer);
délai (5);
digitalWrite (8.0);
digitalWrite (7.1);
digitalWrite (6.0);
digitalWrite (5,0);
anama (tritonoumer);
délai (5);
digitalWrite (8.0);
digitalWrite (7.0);
digitalWrite (6.1);
digitalWrite (5,0);
anama (deyteronoumer);
délai (5);
digitalWrite (8.0);
digitalWrite (7.0);
digitalWrite (6.0);
digitalWrite (5.1);
anama (protonoumer);
délai (5);
t = t + 1;
}
}
void anama (int noumero) {
commutateur (nombre) {
cas 0:
digitalWrite (2.0);
digitalWrite (3,0);
digitalWrite (4.0);
digitalWrite (9.0);
pause
cas 1:
digitalWrite (2.1);
digitalWrite (3,0);
digitalWrite (4.0);
digitalWrite (9.0);
pause
cas 2:
digitalWrite (2.0);
digitalWrite (3.1);
digitalWrite (4.0);
digitalWrite (9.0);
pause
cas 3:
digitalWrite (2.1);
digitalWrite (3.1);
digitalWrite (4.0);
digitalWrite (9.0);
pause
cas 4:
digitalWrite (2.0);
digitalWrite (3,0);
digitalWrite (4.1);
digitalWrite (9.0);
pause
cas 5:
digitalWrite (2.1);
digitalWrite (3,0);
digitalWrite (4.1);
digitalWrite (9.0);
pause
cas 6:
digitalWrite (2.0);
digitalWrite (3.1);
digitalWrite (4.1);
digitalWrite (9.0);
pause
cas 7:
digitalWrite (2.1);
digitalWrite (3.1);
digitalWrite (4.1);
digitalWrite (9.0);
pause
cas 8:
digitalWrite (2.0);
digitalWrite (3,0);
digitalWrite (4.0);
digitalWrite (9.1);
pause
cas 9:
digitalWrite (2.1);
digitalWrite (3,0);
digitalWrite (4.0);
digitalWrite (9.1);
pause
}
}
Étape 6: Vous aurez aussi besoin de la bibliothèque Newping
et VOILA!
Je suis désolé que le code ne comporte pas de commentaires ou que certains termes soient en grec, c’est ma première publication, mais elle est facile à suivre et testée et démontrée. tant que vous établissez les bonnes relations, cela fonctionnera. n'hésitez pas à demander quoi que ce soit!
JOHN SARIGIANNIS INGÉNIEUR ÉLECTRIQUE ASPAITE