background image

Σχεδιασμός και κατασκευή ενός υβριδικού αμυντικού αυτοματοποιημένου ρομποτικού συστήματος 

 

 

 

196 

εντολές  του  προγράμματος  παρουσιάζονται  και  αναλύονται  στις  ακόλουθες  εικόνες.  Στην 

Εικόνα 99 παρουσιάζεται η αρχικοποίηση των συντεταγμένων του προγράμματος, καθώς και 

το εύρος του servo, ώστε σε κάποια αλλαγή servo να αλλάξει μόνο η τιμή της συγκεκριμένης 

μεταβλητής και όχι ολόκληρο το πρόγραμμα.  

 

#include <Servo.h> 

#define servocenterx 90 //center position on (x) 

#define servocentery 90 //center position on (y) 

#define servopinx 9 //digital pin for servo x 

#define servopiny 10 //digital pin for servo y 

#define baudrate 9600 //com port speed. 

#define servorange 180 

Εικόνα 99: Αρχικοποίηση των δεδομένων και χρήση της βιβλιοθήκης Servo.h για την κίνηση στους servo.

 

 

Εφόσον  γίνει  η  κατάλληλη  διαδικασία  ανάθεσης  στα  pin  που  αντιστοιχούν  σε  κάθε  servo,  τότε 

εκτελούνται οι κύριες εντολές που φαίνονται στην Εικόνα 100. Η κίνηση γίνεται πρώτα στον άξονα x 

και έπειτα στον άξονα y, όπως φαίνεται και στον κώδικα της παρακάτω εικόνας.  

 

void loop() 

    if (Serial.available() > 3) { 
        posx = Serial.parseInt(); 
        delay(5); 
        posy = Serial.parseInt(); 
        trigger = Serial.parseInt(); 
 

        servox.write(posx); 

        servoy.write(posy);   
}  

Εικόνα 100: Στο παραπάνω κομμάτι κώδικα παρουσιάζεται η λήψη των τιμών από το κυρίως πρόγραμμα και η 

ανάθεση τους στους αντίστοιχους servo, ώστε να δοθεί η κίνηση στους αντίστοιχους άξονες.

 

Στο  σημείο  αυτό  πρέπει  να  σημειωθεί  ότι  στη  δεύτερη  έκδοση  του  προγράμματος, 

εισάγεται μια μικρή καθυστέρηση, δύο δευτερολέπτων (2s) από τη στιγμή που θα δοθούν οι 

συντεταγμένες από τον υπολογιστή με πλακέτα Raspberry Pi 2 στον μικροελεγκτή, μέχρι την