Digilab Education – RoboticArm – Αυτόνομος Ρομποτικός Βραχίονας

Digilab Education – RoboticArm – Αυτόνομος Ρομποτικός Βραχίονας

DigiLab Education – “Οι Μικροί Προγραμματιστές”

Η oμάδα μας “Oι μικροί προγραμματιστές” αποτελείται από δέκα (10) μαθητές Δ’ δημοτικού. Η ομάδα θα κατασκευάσει ένα ρομποτικό βραχίονα ο οποίος θα προγραμματιστεί να μετακινεί μεταλλικά αντικείμενα από μία ή περισσότερες τοποθεσίες σε μία άλλη. Τα μέλη της ομάδας είναι:

Μιχάλης Αγαπάκης, Θάνος Αγγελόπουλος, Σπύρος Γιαννακούρας, Φίλιππος Ευσταθιάδης, Παναγιώτης Κουτρώτσιος, Θανάσης Ντενίσης, Γρηγόρης Μακρόπουλος, Δημήτρης Μπεκιάρης, Αντώνης Πυροβολάκης, Ανδρέας Τάγκαλης.

Η πρώτη φάση της εκπαίδευσης.

Η πρώτη φάση της εκπαίδευσης έχει ολοκληρωθεί. Οι μαθητές εκπαιδεύτηκαν στις βασικές έννοιες του προγραμματισμού με τις γλώσσες προγραμματισμού Scratch, Scratch for Arduino S4A και Arduino Programming Language IDE. Με την βοήθεια του Eεργαστηρίου Rρομποτικής (SensorLab38) έμαθαν να προγραμματίζουν τους αισθητήρες, δηλαδή να αναβοσβήνουν λαμπάκια Leds, RGB Led, Buttons και μοτεράκια, όπως μπορούμε να δούμε ενδεικτικά στις παρακάτω εικόνες:

Το Εργαστήριο Ρομποτικής SensorLab38 αποτελεί ένα χρήσιμο εργαλείο στα χέρια του εκπαιδευτικού και του μαθητή που τον βοηθάει να προγραμματίζει τους αισθητήρες και να δημιουργεί ηλεκτρονικά κυκλώματα.

SensorLab38

Το εργαστήριο Ρομποτικής “SensorLab38 – Combo”

Η ομάδα σχεδίασε και κατασκεύασε ηλεκτρονικά κυκλώματα και προγραμμάτισε με την S4A sensors όπως Leds, buttons motors κ.α.  Δείγμα βλέπουμε στην παρακάτω εικόνα.

Leds

Η δεύτερη φάση της σχεδίασης

Μελέτη και σχεδίαση της κατασκευής.

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

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

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

Η ομάδα θα συνεχίσει και μετά τον διαγωνισμό για να ολοκληρώσει και την πρώτη πρόταση.

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

Το αρχικό σκίτσο. Η πρώτη ιδέα.

Σχέδιο

 

Design corel

Η ομάδα επέλεξε το υλικό κατασκευής από ανθεκτικό ξύλο “Σημύδα”, από δένδρο που φύεται στην Σιβηρία.

Τα ξύλινα μέρη της κατασκευής κομμένα με λέιζερ.

ArmParts

Η τρίτη φάση της κατασκευής του ρομποτικού μηχανισμού.

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

Το πρωτότυπο είχε κατασκευαστεί από χονδρό χαρτόνι και αποτέλεσε το πρότυπο για την ξύλινη κατασκευή.

Για την λειτουργία του ρομποτικού βραχίονα έχει επιλεγεί ο μικροκοντρόλερ Arduino UNO, δύο Stepper motors, ένας ηλεκτρομαγνήτης, ένα relay, Led, αντιστάσεις, καλώδια, βίδες και άλλα βοηθητικά υλικά τα οποία αναφέρονται παρακάτω αναλυτικά.

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

Αναλυτικά όλα τα υλικά που θα χρησιμοποιηθούν και το κόστος αγοράς είναι τα ακόλουθα:

1 Χ Arduino UNO			7,90€

1 Χ Breadboard 200 οπές		3,00€

4 Χ Stepper motor  28BYJ-48	12,00€

4 Χ Motor Driver ULN2003A	7,60€

1 Χ Relay - SRD-05VDC-SL-C 	2,50€

1 Χ Ηλεκτρομαγνήτης 12V/5KG 	8,80€

5 Χ Leds 			0,50€

30 Χ Cables (Καλώδια)		1,50€

1 Χ Καλώδιο USB0		1,30€

1 Χ Τροφοδοτικό 12V 		3,90€

2 Χ Ηλεκτρικά Τζακ		1,00€

1 Χ Πλακέτα βάσης 		2,50€

1 Χ Πλακέτα βάσης βραχίονα	2,00€

2 Χ Κάθετα μέρη του βραχίονα	2,00€

2 Χ Οριζόντια μέρη βραχίονα	2,00€

1 Χ Μπαταριοθήκη 3.5V		1,00€

2 Χ Μπαταρίες 3.5V 		7,80€

1 Χ Μπαταριοθήκη για 9V 	0,80€

1 Χ Μπαταρία 9V 		3,00€

3 Χ Καρούλια    		2,70€

2 Χ Προσαρμοστήρες (shaft)	4,00€

34 Χ Βίδες  2cm/3mm		0,51€

6 Χ Βίδες  6cm/3mm 		0,18€

60 Χ Παξιμάδια 3M		0,60€

34 Χ Αποστάτες 1cm Black	1,70€

4 Χ Αποστάτες 6cm  Black	0,20€

2 Χ Ρόδες			1,80€

Το συνολικό κόστος της κατασκευής δεν ξεπερνάει τα 90,00 Ευρώ.


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

Ομάδα συναρμολόγησης

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

Ομάδα προγραμματισμού

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

Ομάδα υλικών και αισθητήρων

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

Ομάδα τεχνικής υποστήριξης

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

Ομάδα βελτιώσεων

Η ομάδα θα προτείνει πιθανές βελτιώσεις που μπορούν να ενσωματωθούν στην κατασκευή.

Εικόνες από τις εργασίες συναρμολόγησης. Δείτε τις φωτογραφίες στο παρακάτω link:

pics


Γνωριμία με τους αισθητήρες.

Στην συνέχεια η ομάδα μελέτησε ένα προς ένα όλους τους αισθητήρες με πρώτο το stepper motor 28BYJ-48, καθώς και το stepper motor drive (ULN2003A).

Περιγραφή της λειτουργίας του Stepper Motor 28BYJ-48.

Ακολουθούν τεχνικά χαρακτηριστικά και φωτογραφίες από το εσωτερικό του Stepper Motor.

stepper

Οι διαστάσεις είναι απαραίτητες για την τοποθέτηση του stepper στην κατασκευή.

stepper dimensions

Οι τεχνικές προδιαγραφές είναι πολύ χρήσιμες για να κατανοήσουμε τη λειτουργία του stepper motor.

stepper specs

Το εσωτερικό του stepper motor με τα πηνία και τον ρότορα.

stepper parts1

Τα πηνία στο εσωτερικό του stepper motor.

stepper parts

Διάγραμμα συνδεσμολογίας των εσωτερικών πηνίων του stepper motor.

stepper diagram drive

Συνδεσμολογία του Arduino με το Stepper motor και του stepper motor drive.

stepper drive diagram

Λίγα λόγια για το πως λειτουργεί το stepper motor28BYJ-48.

To stepper motor λειτουργεί διαφορετικά από τα άλλα μοτεράκια. Η περιστροφή του ρότορα στο εσωτερικό του strpper, δεν γίνεται συνεχόμενα όπως π.χ. στο DC motor, αλλά με βήματα (steps). Από τα τεχνικά χαρακτηριστικά του stepper motor 28BYJ-48 που αναφέρουμε παραπάνω και το οποίο χρησιμοποιούμε στην κατασκευή, για να πραγματοποιήσει ο εξωτερικός άξονας του μια πλήρη περιστροφή, απαιτούνται 32 βήματα του ρότορα. Αυτό προκύπτει με βάση τους παρακάτω απλούς υπολογισμούς.

Για κάθε οκτώ φάσεις των πηνίων του stepper motor, τα οποία ενεργοποιούνται από το Arduino, ο ρότορας διανύει ένα τόξο 11.25 μοίρες. Εάν διαιρέσουμε τις 360 μοίρες που έχει ο κύκλος με τις μοίρες του τόξου που διανύει ο ρότορας, έχουμε τον αριθμό των βημάτων που πραγματοποιεί ο ρότορ. Δηλαδή 32 βήματα (360 μοίρες/11.25 μοίρες = 32 steps).

Στην πραγματικότητα το stepper motor με βάση μια διάταξη από γρανάζια στο εσωτερικό του, τα οποία μας δίνουν μια αναλογία 1 προς 64 (1/64), όπως αναφέρεται στις προδιαγραφές, για κάθε περιστροφή που βλέπουμε εμείς στον εξωτερικό άξονα, ο ρότορας στο εσωτερικό του πραγματοποιεί 64 περιστροφές. Γι’αυτό εάν θέλουμε να προγραμματίσουμε το stepper motor να κάνει μία πλήρη περιστροφή, θα πρέπει στο πρόγραμμα να φροντίσουμε να δώσουμε στην μεταβλητή μας την τιμή 32 Χ 64 = 2048. Για δύο περιστροφές του άξονα θα δώσουμε την τιμή 4096, για μισή περιστροφή θα δώσουμε την τιμή 1024 κ.ο.κ. Με αυτόν τον τρόπο μπορούμε να προγραμματίσουμε το stepper motor έτσι ώστε, να μετακινήνουμε με μεγάλη ακρίβεια την ρομποτική μας εφαρμογή.

Ο Ηλεκτρομαγνήτης – τύπος “WF-P30/22”

Μελετήσαμε τη λειτουργία, τη συνδεσμολογία και τον προγραμματισμό του ηλεκτρομαγνήτη σε συνδυασμό με το relay.

Electromagnet

Ο ηλεκτρομαγνήτης τροφοδοτείται με 12 volt και έχει την δυνατότητα να σηκώσει βάρος 5 κιλά.

Το Relay “SRD-5VDC-sl-c”

relay

To relay έχει τρεις εισόδους και τρεις εξόδους. Στο εσωτερικό του υπάρχει ένα πηνίο και ένας διακόπτης. Ο διακόπτης μπορεί να είναι ανοικτός NO (Normal Open) ή κλειστός NC (Normal Closed). Όταν ενεργοποιηθεί το πηνίο από το σήμα 5V που στέλνει το Arduino στην είσοδο ‘S’ του relay, κλείνει ο διακόπτης και ενεργοποιείται το κύκλωμα του ηλεκτρομαγνήτη.

relay2

Ο ακροδέκτης του relay “C” ή “COM” είναι μόνιμα συνδεδεμένος με ένα ακροδέκτη του ηλεκτρομαγνήτη, ενώ ο ακροδέκτης “ΝΟ” είναι συνδεδεμένος με την πηγή ρεύματος 12 Volt. Για να κλείσει το κύκλωμα και να ενεργοποιειθεί ο ηλεκτρομαγνήτης πρέπει να συνδεθεί ο άλλος ακροδέκτης του ηλεκτρομαγνήτη με τον αρνητικό πόλο της πηγής.

Πρέπει να παρατηρήσουμε εδώ ότι στην συνδεσμολογία έχουμε δύο ξεχωριστά κυκλώματα με δύο διαφορετικές πηγές ρεύματος. Το ένα κύκλωμα αποτελείται από το Arduino με το Relay, ενώ το άλλο κύκλωμα το relay και τον ηλεκτρομαγνήτη. Η συνδεσμολογία του relay με το arduino και τον ηλεκτρομαγνήτη φαίνεται στο παρακάτω διάγραμμα.

magnet


Ο προγραμματισμός του βραχίονα.

Ο προγραμματισμός του βραχίονα θα γίνει με την γλώσσα Arduino IDE, μια παραλλαγή της γλώσσας προγραμματισμού C++.

Θα ξεκινήσουμε με τον προγραμματισμό ενός stepper motor και θα προχωρήσουμε βήμα – βήμα για να ολοκληρώσουμε τον προγραμματισμό όλων των αισθητήρων για να καταλήξουμε στο τελικό πρόγραμμα.

Προγραμματισμός ενός Stepper motor 28BYJ-48

#include <Stepper.h>                    // Εισάγουμε στην αρχή την library <stepper.h>/
#define STEPS 32                        // Steps per revolution (32 βήματα ανά περιστροφή).

Stepper stepper(STEPS, 8, 9, 10, 11);   // Stepper class (Συνάρτηση που περιγράφει την σύνδεση του step Mottor στο Arduino). 
int val = 1024;                         // Variable - Ορίζουμε την μεταβλητή "val" για την κίνηση το stepper motor. 

void setup(){                           // Η συνάρτηση SETUP εκτελείται μία φορά.
    stepper.setSpeed(600);              // Η συνάρτηση "SetSpeed" μας δηλώνει την ταχύτητα περιστροφής του step motor
    }

void loop() {                           // Η συνάρτηση "LOOP"
   stepper.step(val);                   // Η συνάρτηση "stepper.step" δηλώνει κίνηση του step motor προς μία κατευθυνση.
   delay(1000);                         // Καθυστέρηση 1 δευτερόλεπτο.
   stepper.step(-val);                  // Η συνάρτηση "stepper.step" δηλώνει κίνηση του step motor προς την αντίθετη κατεύθυνση.
   delay(1000);                         // Καθυστέρηση 1 δευτερόλεπτο.
   while(1);                            // Η συνάρτηση "while" διακόπτει την κίνηση του step motor.
   }

Στην συνέχεια μελετήσαμε το πρόγραμμα με δύο stepper Motor. Ετοιμάσαμε το κύκλωμα στο εργαστήριο ρομποτικής και δοκιμάσαμε το πρόγραμμα.

Το πρόγραμμα με δύο Stepper motors 28BYJ-48

#include <Stepper.h>                    // Εισάγουμε στην αρχή την library <stepper.h>
#define STEPS 32                        // Steps per revolution (32 βήματα ανά περιστροφή).

Stepper stepper(STEPS, 8, 9, 10, 11);   // Stepper class (Συνάρτηση που περιγράφει την σύνδεση του step mottor στο Arduino). 
Stepper stepper1(STEPS, 4, 5, 6, 7);    // Stepper class (Συνάρτηση που περιγράφει την σύνδεση του 2ου step mottor στο Arduino). 

int val = 1024;                         // Variable - Ορίζουμε την μεταβλητή "val" για την κίνηση το stepper motor. 
int val1 = 1024;                        // Variable - Ορίζουμε την μεταβλητή "val1" για την κίνηση το 2ου stepper motor. 

void setup(){                           // Η συνάρτηση SETUP εκτελείται μία φορά.
    stepper.setSpeed(600);              // Η συνάρτηση SetSpeed" (στροφές ανά λεπτό) δηλώνει την ταχύτητα περιστοφής του motor.
    stepper1.setSpeed(600);             // Η συνάρτηση SetSpeed" (στροφές ανά λεπτό) δηλώνει την ταχύτητα περιστοφής του motor.
    }

void loop() {                           // Η συνάρτηση LOOP
   stepper.step(val);                   // Η συνάρτηση stepper.step  δηλώνει κίνηση του stepper motor προς μία κατευθυνση. 
   delay(1000);                         // Καθυστέρηση 1 δευτερόλεπτο.
   stepper1.step(val1);                 // Η συνάρτηση stepper1.step δηλώνει κίνηση του stepper motor προς μία κατευθυνση.
   delay(1000);                         // Καθυστέρηση 1 δευτερόλεπτο.
   stepper.step(-val);                  // Η συνάρτηση stepper.step  δηλώνει κίνηση του stepper motor προς την αντίθετη κατεύθυνση.
   delay(1000);                         // Καθυστέρηση 1 δευτερόλεπτο.
   stepper1.step(-val1);                // Η συνάρτηση stepper1.step  δηλώνει κίνηση προς την αντίθετη κατεύθυνση του step motor.
   delay(1000);                         // Καθυστέρηση 1 δευτερόλεπτο.
   while(1);                            // Η συνάρτηση while διακόπτει το loop και την κίνηση του step motor.
   }

Το τελικό πρόγραμμα του Ρομποτικού Βραχίονα.

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

  #include <Stepper.h>
  #define STEPS 32
  Stepper stepper(STEPS, 8, 10, 9, 11);
  Stepper stepper1(STEPS, 4, 6, 5, 7);

  int load = 1024;
  int upload = 1024;
  int move1 = 512;
  int move2 = 1024;
  int move3 = 1512;
  int park = 512;
  int magnet = 3;

void setup() {
  stepper.setSpeed(800);
  stepper1.setSpeed(800);
  pinMode(magnet, OUTPUT);
}
void loop() {
  stepper.step(-park);        // Ξεμπαρκάρει 
  stepper1.step(-move1);      // Κίνηση στην 1η θέση
  delay(1000);
  stepper.step(-load);        // Κατεβάζει το μαγνήτη για να φορτώσει
  delay(1000);
  digitalWrite(magnet, HIGH); // Ενεργοποιεί τον μαγνήτη
  delay(1000);
  stepper.step(load);         // Ανεβάζει το φορτίο
  delay(1000);
  stepper1.step(move1);       // Επιστρέφει για ξεφόρτωμα
  delay(1000);
  stepper.step(-upload);      // Ξεφορτώνει το φορτίο
  digitalWrite(magnet, LOW);  // Απενεργοποιεί τον μαγνήτη
  delay(1000);    
  stepper.step(upload);       // Ανεβάζει τον μαγνήτη
  delay(1000);
  stepper1.step(-move2);      // Κίνηση στη 2η θέση
  delay(1000);
  stepper.step(-load);        // Κατεβάζει το μαγνήτη
  delay(1000);
  digitalWrite(magnet, HIGH); // Ενεργοποιεί τον μαγνήτη
  delay(1000);
  stepper.step(load);         // Ανεβάζει το φορτίο
  delay(1000);
  stepper1.step(move2);       // Επιστρέφει για ξεφόρτωμα
  delay(1000);
  stepper.step(-upload);      // Ξεφορτώνει το φορτίο
  delay(1000);
  digitalWrite(magnet, LOW);  // Επενεργοποιεί τον μαγνήτη
  delay(1000);
  stepper.step(upload);       // Ανεβάζει το μαγνήτη
  delay(1000);
  stepper1.step(-move3);      // Κίνηση στη 3η θέση
  delay(1000);
  stepper.step(-load);        // Κατεβάζει το μαγνήτη
  delay(1000);
  digitalWrite(magnet, HIGH); // Ενεργοποιεί τον μαγνήτη
  delay(1000);
  stepper.step(load);         // Ανεβάζει το φορτίο
  delay(1000);
  stepper1.step(move3);       // Επιστρέφει για ξεφόρτωμα
  delay(1000);
  stepper.step(-upload);      // Ξεφορτώνει το φορτίο
  delay(1000);
  digitalWrite(magnet, LOW);  // Επεργοποιεί τον μαγνήτη
  delay(1000);
  stepper.step(upload);       // Ανεβάζει το φορτίο   
  delay(1000);
  stepper.step(park);         // Παρκάρει
  delay(1000);
  while(1);                   // Τέλος εργασιών

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

Από την αρχή που συστάθηκε η ομάδα, οργανώσαμε το πρόγραμμα των μαθημάτων με κύριο στόχο όλοι οι μαθητές να έχουν κατανοήσει τις βασικές έννοιες του προγραμματισμού. Ξεκινήσαμε με την γλώσσα Scratch 2.0, προχωρήσαμε με την Scratch for Arduino (S4A) και στην συνέχεια περάσαμε στην Arduino IDE (C++) με την οποία προγραμματίσαμε το ρομποτικό βραχίονα. Αυτή η προσέγγιση θεωρούμε ότι βοήθησε την ομάδα να κατανοήσει και να εμπεδώσει καλύτερα την διαδικασία δημιουργίας μας ρομποτικής εφαρμογής.

Η ομάδα των δέκα (10) μαθητών της Δ’ δημοτικού διδάχτηκε συνολικά τα παρακάτω γνωστικά πεδία:

Τις βασικές έννοιες του προγραμματισμού.

Την μελέτη και την σχεδίαση ρομποτικού μηχανισμού.

Εξασκήθηκε σε βασικές δεξιότητες συναρμολόγησης του ρομποτικού βραχίονα.

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

Διδάχτηκε τις βασικές γνώσεις των ηλεκτρικών και των ηλεκτρονικών κυκλωμάτων.

Δόθηκε έμφαση στον τελικός στόχος της κατασκευής και αυτό βοήθησε την ομάδα να μείνει εστιασμένη στο στόχο της.


Εργάστηκε ομαδικά και γνώρισε την εμπειρία της συλλογικής προσπάθεια.

Γνώρισε την αξία του καταμερισμού εργασίας με την δημιουργία υποομάδων με συγκεκριμένα καθήκοντα.

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

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

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

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

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

Η εργασία των μαθητών έχει αναρτηθεί στο Github στην διεύθυνση: https://github.com/SensorLab38/RoboticArm

Ένα βίντεο θα αναρτηθεί την τετάρτη 8 Μαΐου μόλις επιστρέψουν όλα τα παιδιά από τις διακοπές του Πάσχα και πάρουμε  την συγκατάθεση των γονιών τους.