Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

//test program zadatak B08

int triger = 11; //ultrazvucni senzor, triger pin


int echo = 10; //ultrazvucni senzor, echo pin
int taster = 7;
int zelena = 3;
int zuta1 = 4;
int zuta2 = 2;
int crvena = 5;

long duration, cm, a[20],b;


int i,j;

void setup() {
Serial.begin(9600);
pinMode(triger, OUTPUT);
pinMode(echo, INPUT);
pinMode(zelena, OUTPUT);
pinMode(zuta1, OUTPUT);
pinMode(zuta2, OUTPUT);
pinMode(crvena, OUTPUT);
}

void loop() {
digitalWrite(zelena,
HIGH);Serial.println("zelena");delay(2000);digitalWrite(zelena, LOW);
digitalWrite(zuta1,
HIGH);Serial.println("zuta1");delay(2000);digitalWrite(zuta1, LOW);
digitalWrite(zuta2,
HIGH);Serial.println("zuta2");delay(2000);digitalWrite(zuta2, LOW);
digitalWrite(crvena,
HIGH);Serial.println("crvena");delay(2000);digitalWrite(crvena, LOW);

for(i=0;i<20;i++) a[i]=proracun_rastojanja(); //merenje daljine, 20


puta
for(i=0;i<20;i++){ //sortiranje niza
izmerenih rastojanja
for(j=0;j<19;j++){
if(a[j]>a[j+1]){b=a[j];a[j]=a[j+1];a[j+1]=b;}}}

//ispis rezultata
Serial.print("Rastojanje je ");Serial.print(a[10]);Serial.println("
cm");
//delay(20);
}

long proracun_rastojanja(){ //potprogram za komunikaciju sa ultrazvucnim


senzoriom i merenje rastojanja
digitalWrite(triger, HIGH);
delayMicroseconds(10);
digitalWrite(triger, LOW);
duration = pulseIn(echo, HIGH);
cm = duration/29/2;
return cm;}

You might also like