top of page

Ρομπότ καθαρισμού

Σκοπός έργου: Να δημιουργήσετε ένα ρομπότ καθαρισμού με pinoobot και αισθητήρα απόστασης χρησιμοποιώντας την κάρτα ελέγχου Pinoo.

Διάρκεια:  2 μαθήματα

Ηλικιακή ομάδα:  7 ετών και άνω

Σετ Pinoo:  Σετ PinooBot και πλήρες σετ.

Επιτεύγματα:

  • Μάθετε να κωδικοποιείτε τον πίνακα ελέγχου Pinoo

  • Μαθαίνει να κωδικοποιεί τον αισθητήρα απόστασης.

  • Ο Pinoobot συναντά το ρομπότ.

  • Αναπτύσσει αλγοριθμικές δεξιότητες.

  • Αναπτύσσονται οι δεξιότητες κωδικοποίησης.

 

Υλικά που θα χρησιμοποιηθούν:  Πρόγραμμα Mblock 3, PinooBot Robot / Κάρτα ελέγχου Pinoo, αισθητήρας απόστασης, καλώδιο σύνδεσης.  

Υλικά που απαιτούνται για το σχεδιασμό:  Σφουγγάρι πιάτων, σενίλ, σακούλα σκουπιδιών, μαγνήτης, πιστόλι σιλικόνης, ψαλίδι.

 

   

Κατασκευή Έργου:

            

  

   

Κόβουμε ένα μεσαίου μεγέθους παραλληλόγραμμο κομμάτι από το σφουγγάρι και το στερεώνουμε στο μπροστινό μέρος του pinoobot με ένα σενίλ.

 

 

 

 

 

 

 

 

 

 

 

Κολλάμε τρεις μαγνήτες στον πάτο του σφουγγαριού.  

 

Μπορείτε να διακοσμήσετε το ρομπότ όπως θέλετε ανάλογα με τον ρόλο του.    

             

Κόβουμε τις σακούλες σκουπιδιών σε μικρά ορθογώνια κομμάτια και τις στερεώνουμε βάζοντας μέσα μαγνήτες. Φτιάξαμε τέσσερα, μπορείτε να αυξήσετε τον αριθμό αν θέλετε.

Σκορπίζουμε τα σκουπίδια που έχουμε δημιουργήσει στον χώρο που θα λειτουργήσουμε το ρομπότ μας.

 

 

Ας κάνουμε τις συνδέσεις μας. Σύνδεση του αισθητήρα απόστασης στη μωβ/πράσινη είσοδο αριθμό 6  (Με τις συνδέσεις του κινητήρα σας δεν έχουν γίνει, ας κάνουμε τη σύνδεσή μας με τις εισόδους λευκού χρώματος που είναι ειδικές για τις συνδέσεις κινητήρα στην κάρτα ελέγχου Pinoo.)

  

 

Ολοκληρώσαμε τις συνδέσεις μας, τώρα ας περάσουμε στο κομμάτι της κωδικοποίησης. Θα χρησιμοποιήσουμε την εφαρμογή mblock-3 για αυτό.  Ας συνδέσουμε την κάρτα ελέγχου Pinoo στον υπολογιστή με τη βοήθεια του καλωδίου σύνδεσης και ας συνδεθούμε στην εφαρμογή Mblock3. Στη συνέχεια, ας παρουσιάσουμε την κάρτα ελέγχου Pinoo στον υπολογιστή. Για να το κάνουμε αυτό, κάνουμε πρώτα κλικ στην επιλογή σειριακής θύρας από την καρτέλα Σύνδεση. Στη συνέχεια επιλέγουμε COM6. (Ο αριθμός μπορεί να διαφέρει ανάλογα με τον υπολογιστή και τη θύρα.)  

Αφού κάνουμε τη σύνδεση σειριακής θύρας, ας επιλέξουμε την κάρτα που θα χρησιμοποιήσουμε από την καρτέλα κάρτες. Δουλεύουμε με το μοντέλο Nano του Arduino.

 

Για να προσθέσουμε την επέκταση Pinoo στον υπολογιστή μας, κάνουμε κλικ στην επιλογή Διαχείριση επεκτάσεων από την καρτέλα επεκτάσεις. Στο παράθυρο που ανοίγει, γράφουμε «Pinoo» στη μηχανή αναζήτησης και αρκεί να πούμε λήψη στο αποτέλεσμα. Εγκατεστημένο στον υπολογιστή μας.

 

Ερχόμαστε ξανά στην καρτέλα επεκτάσεις και κάνουμε κλικ στο Pinoo. Θα γράψουμε τους κωδικούς μας με την επέκταση Pinoo.  

 

Στο κομμάτι κωδικοποίησης? Λαμβάνουμε τον κωδικό όταν κάνουμε κλικ στην Πράσινη Σημαία από το μενού Εκδηλώσεις για να ξεκινήσει η εφαρμογή.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Θα λάβουμε βοήθεια από το ομοίωμα για να μάθουμε την τιμή που διαβάζει ο αισθητήρας απόστασης. Για αυτό, παίρνουμε την εντολή να πούμε γεια από την καρτέλα προβολή. Αντί για γεια, λαμβάνουμε το μπλοκ κώδικα που σχετίζεται με τον αισθητήρα απόστασης στην καρτέλα ρομπότ. Αλλάζουμε την είσοδο pin σε Pinoo6, με την οποία συνδέουμε.

Εφόσον θέλουμε η διαδικασία ανάγνωσης να γίνεται συνεχώς, όχι μία φορά, μεταφέρουμε όλους τους κωδικούς μας στο μπλοκ επανάληψης από την καρτέλα ελέγχου.  

Ας κάνουμε κλικ στην πράσινη σημαία και ας παρατηρήσουμε την αλλαγή των τιμών μετακινώντας το χέρι μας πιο κοντά στον αισθητήρα. Ας λάβουμε υπόψη την τιμή που διαβάζει ο αισθητήρας όταν φέρνουμε το χέρι μας κοντά στο ρομπότ. Εδώ θα πάρουμε ως αναφορά ότι διαβάζει μια τιμή περίπου 10.

 

Εάν η τιμή που διαβάζεται από τον αισθητήρα απόστασης είναι μικρότερη από 10, δηλαδή εάν το ρομπότ πλησιάσει ένα εμπόδιο, θα πρέπει να στρίψει δεξιά για 2 δευτερόλεπτα και μετά να προχωρήσει προς τα εμπρός.  Εάν δεν υπάρχει εμπόδιο μπροστά από το ρομπότ, δηλαδή η τιμή που διαβάζει ο αισθητήρας είναι μεγαλύτερη από 10, αφήστε το ρομπότ να κάνει κινήσεις προς τα εμπρός, προς τα πίσω, δεξιά και αριστερά. Τώρα ας το μετατρέψουμε σε κώδικα.

Εδώ θα κάνουμε χρήση του μπλοκ if στην καρτέλα ελέγχου και των μικρών και μεγάλων τελεστών σύγκρισης στην καρτέλα λειτουργιών.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ας συμπληρώσουμε τους κωδικούς που θα ενεργήσει το PinooBot σύμφωνα με την προϋπόθεση που πρέπει να πληρούται.

Για την ένδειξη του αισθητήρα μεγαλύτερη από 10, λαμβάνουμε το μπλοκ κώδικα PinooBot Direction:Forward Speed:0 από την καρτέλα Robots. Ενημερώνουμε τις οδηγίες ως εμπρός, δεξιά, πίσω, αριστερά, αντίστοιχα, και την ταχύτητα ως 255 σε όλες.

Εφόσον θέλουμε αυτή η διαδικασία να ελέγχεται συνεχώς, τοποθετούμε όλα τα μπλοκ στο μπλοκ επανάληψης.

Θέλουμε να κάνει κάθε κίνηση για συγκεκριμένο χρονικό διάστημα. Για αυτό, παίρνουμε το μπλοκ κώδικα αναμονής 1 δευτερολέπτου από την καρτέλα ελέγχου κάτω από κάθε κίνηση και ενημερώνουμε τον αριθμό 1 σε 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

Για τον αισθητήρα που διαβάζει λιγότερο από 10, λαμβάνουμε το μπλοκ κώδικα PinooBot Direction:Forward Speed:0 από την καρτέλα Robots. Ενημερώνουμε την κατεύθυνσή τους ως δεξιός μπακ και την ταχύτητα ως 255 σε όλα. Για να κάνει τη δεξιά στροφή για 2 δευτερόλεπτα, παίρνουμε την εντολή αναμονή 1 δευτερολέπτου από την καρτέλα ελέγχου και ενημερώνουμε τον αριθμό 1 σε 2.  

Αφού συμπληρώσουμε τους κωδικούς μας, τοποθετούμε το ρομπότ στην πλατφόρμα και κάνουμε κλικ στην πράσινη σημαία για να ελέγξουμε τη λειτουργία του έργου μας. Τοποθετούμε το ρομπότ στην περιοχή που έχουμε καθορίσει, θα κάνει κινήσεις προς τα εμπρός, προς τα πίσω, δεξιά και αριστερά και ενώ κάνει αυτές τις κινήσεις, θα μαζεύει τις σακούλες σκουπιδιών στο πάτωμα με τη βοήθεια μαγνητών. Ακόμα κι αν το ρομπότ έχει πλησιάσει ένα εμπόδιο, θα στρίψει δεξιά και πρέπει να προχωρήσει.

Εάν δεν υπάρχει πρόβλημα στη λειτουργία του έργου μας, πρέπει να φορτώσουμε τους κωδικούς που έχουμε γράψει στην κάρτα μας για να τρέξουμε το έργο μας με τροφοδοτικό ανεξάρτητο από τον υπολογιστή.

Για αυτό, χρησιμοποιήσαμε τον κωδικό για να κάνουμε κλικ στην πράσινη σημαία στην αρχή και ο κωδικός όπου είχαμε το εικονίδιο δείχνει την τιμή του αισθητήρα.  πετάοντάς το στα σκουπίδια, παίρνουμε τον κωδικό του προγράμματος Pinoo από το μενού Robots.

 

Κάντε δεξί κλικ στον κώδικα και κάντε κλικ στο upload to arduino. (Δουλεύουμε με το arduino ως πίνακας.)

 

Περιμένουμε να ανέβουν οι κωδικοί στην κάρτα. Αφού ολοκληρωθεί η εγκατάσταση, κλείνουμε το παράθυρο.

 

 

Εάν δεν υπάρχει πρόβλημα, αποσυνδέουμε το καλώδιο τροφοδοσίας από τον υπολογιστή. Τροφοδοτούμε την πλακέτα Pinoo Control με τη βοήθεια μπαταρίας 9v και καπακιού μπαταρίας. Φέρνουμε επίσης το κουμπί on-off, το οποίο βρίσκεται ακριβώς δίπλα στην είσοδο της μπαταρίας, στη θέση ενεργοποίησης.

 

ΚΩΔΙΚΟΙ IDE ARDUINO:

// εκχώρηση ακίδων κινητήρα

int motora1 = 5;

int motora2 = 6;

int motorb1 = 10;

int motorb2 = 11;

// εκχωρήστε τις ακίδες του αισθητήρα απόστασης

int echoPin = 12;

int trigPin = 13; μεγάλη απόσταση, σίγουρα?

// εκχωρούμε δύο μεταβλητές για τη μέτρηση της απόστασης

void setup()

{

  // Οι ακίδες κινητήρα είναι ακίδες εξόδου 

pinMode (στο motor1, OUTPUT); 

pinMode(motor2, OUTPUT); 

pinMode(motorb1, OUTPUT); 

pinMode(motorb2, OUTPUT); 

pinMode(echoPin, INPUT);

// η ηχώ είναι η ακίδα εισόδου 

pinMode(trigPin, OUTPUT);

// το trig είναι ακίδα εξόδου

}

void loop()

{

  // ενεργοποιήθηκε ο αισθητήρας απόστασης 

digitalWrite(trigPin, LOW); 

delayMicroseconds(5); 

digitalWrite(trigPin, HIGH); 

delayMicroseconds(10); 

digitalWrite(trigPin, LOW); 

sure = pulseIn(echoPin, HIGH);

  απόσταση = χρόνος / 29,1 / 2;

// μέτρησε την απόσταση

  εάν (απόσταση > 10)

{

// εάν η απόσταση είναι μεγαλύτερη από 10  

Περαιτέρω(); // πηγαίνει μπροστά  

καθυστέρηση (2000);  

σωστά(); // πηγαίνει δεξιά  

καθυστέρηση (2000);  

αριστερά(); // μετακινείται αριστερά  

καθυστέρηση (2000);  

πίσω(); // πάει πίσω  

καθυστέρηση (2000); 

}

αλλιώς εάν (απόσταση < 10)

{

// εάν η απόσταση είναι μικρότερη από 10  

σωστά(); // πηγαίνει δεξιά  

καθυστέρηση (2000);   Περαιτέρω(); // πηγαίνει μπροστά 

}

}

void forward()

{

}

void back()

{

}

void sag()

{

}

void left()

{

}

1.png
1111_large.jfif
10.jpeg
11.jpeg
12.jpeg
13.jpeg
2222_large.jfif
16.jpeg
17.jpeg
seri_port_480x480.jpg
KART_480x480.jpg
pinoo_uzanti_480x480.jpg
pinooo_480x480 (2).jpg
23.PNG
24.JPG
25.JPG
26.JPG
27.JPG
28.JPG
30.JPG
29.JPG
31.JPG
32.JPG
33.jpeg
bottom of page