background image

62 

 

4.2 Συναρτήσεις     

Στην  παρούσα  ενότητα  θα  παρουσιαστούν  και  θα  αναλυθούν  οι  κώδικες  που  είναι 

υπεύθυνοι  για  το  κεντρικό  κουμπί  του  ρομπότ,  την  κίνηση  των  βηματικών  κινητήρων,  σέρβο 

κινητήρων, την διαχείριση των αισθητήριων οργάνων και της στεφάνης led. 

4.2.1 Κουμπί πολλαπλών χρήσεων     

Το ρομπότ διαθέτει στο στήθος του ένα στρογγυλό, μεγάλο σε μέγεθος, κουμπί πολλαπλών 

χρήσεων. Βασική λειτουργία του είναι να βοηθάει στην πλοήγηση του μενού της εφαρμογής. Με 

παρατεταμένο  πάτημα  δύο  δευτερολέπτων  επιστρέφει  στην  αρχική  οθόνη  και  παράλληλα 

σταματάει  όλες  τις  λειτουργίες  του  ρομπότ  θέτοντας  σε  αρχική  κατάσταση  τους  κινητήρες,  το 

κεφάλι και τα χέρια. Τέλος, με παρατεταμένο πάτημα οκτώ δευτερολέπτων κλείνει το ρομπότ.     

4.2.2 Αισθητήρες απόστασης 

Το ρομπότ στο σώμα του, διαθέτει δύο υπερηχητικούς αισθητήρες που είναι υπεύθυνοι για 

τον εντοπισμό αντικειμένων, καθώς και δύο υπέρυθρους αισθητήρες που εντοπίζουν αν το ρομπότ 

βρίσκεται  πάνω  σε  κάποια  επιφάνεια.  Οι  αισθητήρες  αυτοί  λειτουργούν  παράλληλα  με  τους 

κινητήρες προκειμένου να αποφευχθεί σύγκρουση του ρομπότ με κάποιο εμπόδιο ή κάποια πιθανή 

πτώση του ρομπότ.   

Η  συνάρτηση  ultra_sonic_front()  και  ultra_sonic_back()(Εικόνα  34

δέχονται σαν όρισμα την απόσταση, για να σταματήσει το ρομπότ στην περίπτωση που εντοπίσει 

κάποιο εμπόδιο. Για λόγους ασφάλειας η τιμή της απόστασης δεν μπορεί να είναι μικρότερη από 

πέντε εκατοστά. Στην περίπτωση που το ρομπότ εντοπίσει κάποιο εμπόδιο επιστρέφει μια ψευδής 

boolean τιμή προκείμενου να ακινητοποιηθούν οι κινητήρες. Όταν η τιμή αλλάξει οι κινητήρες θα 

συνεχίσουν προκειμένου να ολοκληρώσουν την κίνηση τους.