Arduino nano 7segment 4digit display ping sensor av sarigiannis (5 / 6 steg)
Steg 5: Koden
#include < NewPing.h >
#define TRIGGER_PIN 12 / / Arduino PIN-kod knuten till utlösa pin på ultrasonic sensor.
#define ECHO_PIN 11 / / Arduino PIN-kod knuten till echo pin på ultrasonic sensor.
#define MAX_DISTANCE 200 / / maximalt avstånd vi vill skicka ping (i centimeter). Maximal sensorn avståndet är dimensionerade för 400-500cm.
NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
int protonoumero;
int deyteronoumero;
int tritonoumero;
int tetartonoumero;
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);
}
void loop() {
unsigned int oss = sonar.ping();
tetrapsifios =(uS / US_ROUNDTRIP_CM);
om (tetrapsifios < = 9) {
digitalWrite(13,1);
Delay(10);
om (tetrapsifios < = 5) {
Delay(20);
}
tetartonoumero = tetrapsifios;
tritonoumero = 0;
deyteronoumero = 0;
protonoumero = 0;
}
om (tetrapsifios > 9 & & tetrapsifios < = 99) {
tritonoumero = tetrapsifios/10.
tetartonoumero=tetrapsifios-(tritonoumero*10);
deyteronoumero = 0; protonoumero = 0;
}
om (tetrapsifios > 99 & & tetrapsifios < = 999) {
deyteronoumero = tetrapsifios/100.
tritonoumero=((tetrapsifios-(deyteronoumero*100))/10);
tetartonoumero=(tetrapsifios-(deyteronoumero*100))-(tritonoumero*10);
protonoumero = 0; }
om (tetrapsifios > 999) {tetartonoumero = 0; tritonoumero = 0; deyteronoumero = 0; protonoumero = 0;} för (int t = 0; t < 10; t) {
digitalWrite(13,0);
digitalWrite(8,1);
digitalWrite(7,0);
digitalWrite(6,0);
digitalWrite(5,0);
Anama(tetartonoumero);
Delay(5);
digitalWrite(8,0);
digitalWrite(7,1);
digitalWrite(6,0);
digitalWrite(5,0);
Anama(tritonoumero);
Delay(5);
digitalWrite(8,0);
digitalWrite(7,0);
digitalWrite(6,1);
digitalWrite(5,0);
Anama(deyteronoumero);
Delay(5);
digitalWrite(8,0);
digitalWrite(7,0);
digitalWrite(6,0);
digitalWrite(5,1);
Anama(protonoumero);
Delay(5);
t = t + 1.
}
}
Annullera anama (int noumero) {
växel (noumero) {
fall 0:
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(9,0);
bryta;
fall 1:
digitalWrite(2,1);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(9,0);
bryta;
fall 2:
digitalWrite(2,0);
digitalWrite(3,1);
digitalWrite(4,0);
digitalWrite(9,0);
bryta;
fall 3:
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,0);
digitalWrite(9,0);
bryta;
fall 4:
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,1);
digitalWrite(9,0);
bryta;
fall 5:
digitalWrite(2,1);
digitalWrite(3,0);
digitalWrite(4,1);
digitalWrite(9,0);
bryta;
fall 6:
digitalWrite(2,0);
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(9,0);
bryta;
fall 7:
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(9,0);
bryta;
mål 8:
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(9,1);
bryta;
mål 9:
digitalWrite(2,1);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(9,1);
bryta;
}
}