#define PIN_TRIG 12
#define PIN_ECHO 14
#define ledR 4
#define ledU 5
#define ledZ 19
int duration;
int razdaljaCM;
int zadnjaCM;
int flag;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(ledR, OUTPUT);
pinMode(ledU, OUTPUT);
pinMode(ledZ, OUTPUT);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
}
void loop() {
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
duration = pulseIn(PIN_ECHO, HIGH);
razdaljaCM=(duration/58);
Serial.println(razdaljaCM);
delay(5); // this speeds up the simulation
if (razdaljaCM <=400 && razdaljaCM > 300)
{
flag=1;
}
if (razdaljaCM <=300 && razdaljaCM > 200)
{
flag=2;
}
if (razdaljaCM <=200 && razdaljaCM > 100)
{
flag=3;
}
if (razdaljaCM <=100 && razdaljaCM > 0)
{
flag=4;
}
if (razdaljaCM != zadnjaCM)
{
switch(flag)
{
case 1:
digitalWrite(ledZ, HIGH);
digitalWrite(ledU, LOW);
digitalWrite(ledR, LOW);
break;
case 2:
digitalWrite(ledZ, HIGH);
digitalWrite(ledU, HIGH);
digitalWrite(ledR, LOW);
break;
case 3:
digitalWrite(ledZ, HIGH);
digitalWrite(ledU, HIGH);
digitalWrite(ledR, HIGH);
break;
case 4:
digitalWrite(ledZ, HIGH);
digitalWrite(ledU, HIGH);
digitalWrite(ledR, HIGH);
break;
}
zadnjaCM=razdaljaCM;
}
}