From e73a97ffb3c90973be455b2630dc97f815a6f4c4 Mon Sep 17 00:00:00 2001 From: Paris_Lizaj Date: Sun, 24 Nov 2019 19:05:30 +0000 Subject: [PATCH] =?UTF-8?q?=CE=9C=CF=80=CE=BF=CF=81=CE=B5=CE=AF=20=CE=BD?= =?UTF-8?q?=CE=B1=20=CF=80=CE=B7=CE=B3=CE=B1=CE=AF=CE=BD=CE=B5=CE=B9=20?= =?UTF-8?q?=CE=B5=CF=85=CE=B8=CE=B5=CE=AF=CE=B1=20=CE=BD=CE=B1=20=CE=B2?= =?UTF-8?q?=CF=81=CE=AF=CF=83=CE=BA=CE=B5=CE=B9=20=CE=B5=CE=BC=CF=80=CF=8C?= =?UTF-8?q?=CE=B4=CE=B9=CE=B1=20=CE=BC=CF=80=CF=81=CE=BF=CF=83=CF=84=CE=B1?= =?UTF-8?q?=20=CF=84=CE=BF=CF=85.=CE=9D=CE=B1=20=CF=83=CE=BA=CE=B1=CE=BD?= =?UTF-8?q?=CE=AC=CF=81=CE=B5=CE=B9=20=CF=84=CE=BF=CE=BD=20=CF=87=CF=89?= =?UTF-8?q?=CF=81=CE=BF=20=CE=B3=CF=85=CF=81=CF=89=20=CF=84=CE=BF=CF=85=20?= =?UTF-8?q?=CE=B3=CE=B9=CE=B1=20=CE=BD=CE=B1=20=CE=BC=CF=80=CE=BF=CF=81?= =?UTF-8?q?=CE=AD=CF=83=CE=B5=CE=B9=20=CE=BD=CE=B1=20=CE=B4=CE=B9=CE=B1?= =?UTF-8?q?=CF=86=CF=8D=CE=B3=CE=B5=CE=B9=20=CE=BD=CE=B1=20=CF=83=CF=84?= =?UTF-8?q?=CE=B1=CE=BC=CE=B1=CF=84=CE=AC=CE=B5=CE=B9=20=CF=84=CE=B7=CE=BD?= =?UTF-8?q?=20=CE=BA=CE=B1=CF=84=CE=AC=CE=BB=CE=BB=CE=B7=CE=BB=CE=B7=20?= =?UTF-8?q?=CF=83=CF=84=CE=B9=CE=B3=CE=BC=CE=AE=20.=CE=91=CE=BB=CE=BB?= =?UTF-8?q?=CE=B1=20=CE=B1=CE=BA=CE=BF=CE=BC=CE=B1=20=CE=B4=CE=B5=CE=BD=20?= =?UTF-8?q?=CE=BC=CF=80=CE=BF=CF=81=CE=B5=CE=B9=20=CE=BD=CE=B1=20=CF=83?= =?UTF-8?q?=CF=84=CE=AF=CF=88=CE=B5=CE=B9=20=CE=BB=CF=8C=CE=B3=CF=89=20?= =?UTF-8?q?=CE=BA=CE=B1=CF=80=CE=BF=CE=B9=CE=BF=CF=85=20=CE=BA=CE=BF=CE=BB?= =?UTF-8?q?=CE=BB=CE=B7=CE=BC=CE=B1=CF=84=CE=BF=CF=82=20=CF=80=CE=BF=CF=85?= =?UTF-8?q?=20=CE=B8=CE=B1=20=CE=B5=CF=80=CE=B9=CE=BB=CF=85=CE=B8=CE=B5?= =?UTF-8?q?=CE=B9=20=CF=83=CF=85=CE=BD=CF=84=CE=BF=CE=BC=CE=B1.(=CF=80?= =?UTF-8?q?=CF=81=CF=8C=CE=B2=CE=BB=CE=B7=CE=BC=CE=B1=20=CE=B5=CE=B9=CF=84?= =?UTF-8?q?=CE=B5=20=CF=83=CF=84=CE=BF=CE=BD=20=CE=BA=CF=89=CE=B4=CE=B9?= =?UTF-8?q?=CE=BA=CE=B1=20=CE=B5=CE=B9=CF=84=CE=B5=20=CF=83=CF=84=CE=B7?= =?UTF-8?q?=CE=BD=20=CF=83=CF=85=CE=BD=CE=B4=CE=B5=CF=83=CE=BC=CE=BF=CE=BB?= =?UTF-8?q?=CE=BF=CE=B3=CE=AF=CE=B1=20=CF=83=CE=B5=20=CF=83=CF=85=CE=BD?= =?UTF-8?q?=CE=B4=CE=B9=CE=B1=CF=83=CE=BC=CE=BF=20=CE=BC=CE=B5=20=CE=B5?= =?UTF-8?q?=CE=BB=CE=BB=CE=B9=CF=80=CE=AE=20=CF=84=CE=B1=CF=83=CE=B7).?= =?UTF-8?q?=CE=9F=20=CE=BA=CF=89=CE=B4=CE=B9=CE=BA=CE=B1=CF=82=20=CE=B5?= =?UTF-8?q?=CE=B9=CE=BD=CE=B1=CE=B9=20=CE=B1=CF=81=CE=BA=CE=B5=CF=84=CE=B1?= =?UTF-8?q?=20=CE=B1=CE=BD=CE=B1=CE=BB=CF=85=CF=84=CE=B9=CE=BA=CF=8C=CF=82?= =?UTF-8?q?=20=CE=BC=CE=B5=20=CE=B1=CF=81=CE=BA=CE=B5=CF=84=CE=B1=20=CF=83?= =?UTF-8?q?=CF=87=CE=BF=CE=BB=CE=B9=CE=B1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Home.md | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 Home.md diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..b63c45c --- /dev/null +++ b/Home.md @@ -0,0 +1,172 @@ +#include // Includes servo library. +// defines pins numbers +const int trigPin = 12; +const int echoPin = 11; +const int lm1=7; +const int lm2=6; +const int rm1=5; +const int rm2=4; +const int servoPin=13; + +Servo myservo; + +// orizw katholikes metavlites gia na tis peirazw apo tis sunartiseis kai na boroun na allazoun kai timh +long duration; +int distance; +int distance_f; //apostash tou amaksiou apo antikeimeno eutheia +int distance_r; //apostash tou amaksiou apo antikeimeno deksia +int distance_l; //apostash tou amaksiou apo antikeimeno aristera +int maxLowDistance=20; //elaxisth apostash sthn opia ama vrethw stamataw + +void setup() { +pinMode(trigPin, OUTPUT); +pinMode(echoPin, INPUT); + +pinMode(lm1,OUTPUT); //orizw tis metavlites gia tous kinitires mou gia na borw na tous diaxiristw +pinMode(lm2,OUTPUT); +pinMode(rm1,OUTPUT); +pinMode(rm2,OUTPUT); + +myservo.attach(servoPin); +myservo.write(90); + +Serial.begin(9600); // Starts the serial communication +} +void loop() { + distance_f=ping(); //Psaxnw gia thn apostash pou exw brosta mou + if(distance_f > maxLowDistance){ //An einai megaluteri apo 20cm h apostash tou amaksiou apo to prwto ebodio (diladi thn elaxisth apostash pou tou exw orisei) tote tha paei eutheia + displayDistance(); //to kanw gia na kanw debug kai na kserw oti leitourgei o aisthititras apostashs + front(); //kalw thn sunartisi gia na paei brosta to amaksi mou + delay(300); + }else{ //An den einai megaluteri apo 20cm h apostash tou amaksiou apo to prwto ebodio + Break(); //Kalw thn sunartisi break gia na stamatisei na kineite to amaksi + get_Distance(); //kalw thn get_distance kai pernw plirofories gia tis apo staseis pou exw gyrw mou + if(distance_r > maxLowDistance){ //pleon gnorizw ti exw deksia mou kai elegxw an yparxei ebodio sta epomena 20cm brosta mou. + right(); //an den exw ebodio stivw epitopou deksia + delay(300); + front(); + }else if(distance_l > maxLowDistance){ + left(); + delay(300); + front(); + }else{ + back(); + delay(300); + Break(); + } + + } +} + + + +//thn exw gia debug ayth thn sunartisi gia na dw an leitourgei o esthitiras swsta kai an katagrafontai oi times gia tis apostaseis eutheia deksia kai aristera +void displayDistance(){ + Serial.print("Right Distance : "); + Serial.print(distance_r); + Serial.println(""); + Serial.print("Front Distance : "); + Serial.print(distance_f); + Serial.println(""); + Serial.print("Left Distance : "); + Serial.print(distance_l); + Serial.println(""); + +} + +//Logo tou oloklirwmenou LM298 borw na diaxiristw kai pio eukola to amaksaki mou +//exw ftiaksei 5 sunartiseis gia na boreis na pigainei brosta pisw aristera deksia kai na stamataei + +//shnarthsh gia na pigenei brosta to amaksi +void front(){ +Serial.println("Forward Move"); //vazw se leitourgeia kai tous 4 troxous +digitalWrite(lm2,HIGH); +digitalWrite(rm2,HIGH); +digitalWrite(lm1,LOW); +digitalWrite(rm1,LOW); + +} + + +//shnarthsh gia na pigenei pisw to amaksi +void back(){ + Serial.println("Back Move"); //vazw se leitourgeia kai tous 4 troxous alla antistrefw thn polikothta gia na paei pros ta pisw + digitalWrite(lm1,HIGH); + digitalWrite(rm1,HIGH); + digitalWrite(lm2,LOW); + digitalWrite(rm2,LOW); +} + + +//shnarthsh gia na pigenei aristera to amaksi +void left(){ + digitalWrite(rm2,HIGH); //vazw se leitourgeia mono tous dyo deksious troxous + digitalWrite(rm1,LOW); + digitalWrite(lm1,HIGH); + digitalWrite(lm2,LOW); +} + + +//shnarthsh gia na pigenei deksia to amaksi +void right(){ + digitalWrite(lm2,HIGH); //vazw se leitourgeia mono tous dyo aristerous troxous + digitalWrite(lm1,LOW); + digitalWrite(rm1,HIGH); + digitalWrite(rm2,LOW); +} + + +//shnarthsh gia na pigenei stamataei to amaksi +void Break(){ + digitalWrite(lm2,LOW); //vgazw apo thn leitourgeia kai tous 4 troxous + digitalWrite(lm1,LOW); + digitalWrite(rm1,LOW); + digitalWrite(rm2,LOW); +} + +void get_Distance(){ + myservo.write(0); //gurnaw to servo mou deksia gia na boresei na parei metrisi o aisthitiras + delay(500); + int temp_r1=ping(); //pernw thn apostash deksia mou + myservo.write(45); //gurnaw to servo mou 45 moires (diladi loksa deksia) + delay(500); + int temp_r2=ping(); //pernw thn apostash gia tis 45 moires + if(temp_r1