int impuls = 2;
int sonar = 3;
long czas, cm;
const int ledCount = 10;
int ledPins[] = { 4, 5, 6, 7, 8, 9,10,11,12,13 };
void setup() {
pinMode(impuls, OUTPUT);
pinMode(sonar, INPUT);
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT);
Serial.begin(9600);}
}
void loop()
{
digitalWrite(impuls, LOW);
delayMicroseconds(2);
digitalWrite(impuls, HIGH);
delayMicroseconds(10);
digitalWrite(impuls, LOW);
czas = pulseIn(sonar, HIGH);
cm = mikrosekundynacentymetry(czas);
if (cm >= 5){on1();}else{off1();}
if (cm >= 10){on2();}else{off2();}
if (cm >= 15){on3();}else{off3();}
if (cm >= 20){on4();}else{off4();}
if (cm >= 25){on5();}else{off5();}
if (cm >= 30){on6();}else{off6();}
if (cm >= 35){on7();}else{off7();}
if (cm >= 40){on8();}else{off8();}
if (cm >= 45){on9();}else{off9();}
if (cm >= 50){on10();}else{off10();}
Serial.print("Distance: [");
Serial.print(cm);
Serial.print("]cm\n");
delay(100);}
long mikrosekundynacentymetry(long mikrosekundy)
{return mikrosekundy / 29 / 2;}
void on1(){ digitalWrite( 4, HIGH); }
void on2(){ digitalWrite( 5, HIGH); }
void on3(){ digitalWrite( 6, HIGH); }
void on4(){ digitalWrite( 7, HIGH); }
void on5(){ digitalWrite( 8, HIGH); }
void on6(){ digitalWrite( 9, HIGH); }
void on7(){ digitalWrite(10, HIGH); }
void on8(){ digitalWrite(11, HIGH); }
void on9(){ digitalWrite(12, HIGH); }
void on10(){ digitalWrite(13, HIGH); }
void off1(){ digitalWrite( 4, LOW); }
void off2(){ digitalWrite( 5, LOW); }
void off3(){ digitalWrite( 6, LOW); }
void off4(){ digitalWrite( 7, LOW); }
void off5(){ digitalWrite( 8, LOW); }
void off6(){ digitalWrite( 9, LOW); }
void off7(){ digitalWrite(10, LOW); }
void off8(){ digitalWrite(11, LOW); }
void off9(){ digitalWrite(12, LOW); }
void off10(){ digitalWrite(13, LOW); }
...
int sonar = 3;
long czas, cm;
const int ledCount = 10;
int ledPins[] = { 4, 5, 6, 7, 8, 9,10,11,12,13 };
void setup() {
pinMode(impuls, OUTPUT);
pinMode(sonar, INPUT);
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT);
Serial.begin(9600);}
}
void loop()
{
digitalWrite(impuls, LOW);
delayMicroseconds(2);
digitalWrite(impuls, HIGH);
delayMicroseconds(10);
digitalWrite(impuls, LOW);
czas = pulseIn(sonar, HIGH);
cm = mikrosekundynacentymetry(czas);
if (cm >= 5){on1();}else{off1();}
if (cm >= 10){on2();}else{off2();}
if (cm >= 15){on3();}else{off3();}
if (cm >= 20){on4();}else{off4();}
if (cm >= 25){on5();}else{off5();}
if (cm >= 30){on6();}else{off6();}
if (cm >= 35){on7();}else{off7();}
if (cm >= 40){on8();}else{off8();}
if (cm >= 45){on9();}else{off9();}
if (cm >= 50){on10();}else{off10();}
Serial.print("Distance: [");
Serial.print(cm);
Serial.print("]cm\n");
delay(100);}
long mikrosekundynacentymetry(long mikrosekundy)
{return mikrosekundy / 29 / 2;}
void on1(){ digitalWrite( 4, HIGH); }
void on2(){ digitalWrite( 5, HIGH); }
void on3(){ digitalWrite( 6, HIGH); }
void on4(){ digitalWrite( 7, HIGH); }
void on5(){ digitalWrite( 8, HIGH); }
void on6(){ digitalWrite( 9, HIGH); }
void on7(){ digitalWrite(10, HIGH); }
void on8(){ digitalWrite(11, HIGH); }
void on9(){ digitalWrite(12, HIGH); }
void on10(){ digitalWrite(13, HIGH); }
void off1(){ digitalWrite( 4, LOW); }
void off2(){ digitalWrite( 5, LOW); }
void off3(){ digitalWrite( 6, LOW); }
void off4(){ digitalWrite( 7, LOW); }
void off5(){ digitalWrite( 8, LOW); }
void off6(){ digitalWrite( 9, LOW); }
void off7(){ digitalWrite(10, LOW); }
void off8(){ digitalWrite(11, LOW); }
void off9(){ digitalWrite(12, LOW); }
void off10(){ digitalWrite(13, LOW); }
