- Απαιτούμενα υλικά:
- Διάγραμμα κυκλώματος:
- Σχηματικά και Επεξήγηση:
- Κατανόηση του
- Παίζοντας ήχους πιάνου στο Arduino:
- Προγραμματισμός του Arduino:
- Παίξτε, Εγγραφή, Επανάληψη και Επανάληψη! :
Το Arduino ήταν ένα όφελος για ανθρώπους που δεν προέρχονται από το ηλεκτρονικό υπόβαθρο για να φτιάξουν εύκολα πράγματα. Ήταν ένα εξαιρετικό πρωτότυπο εργαλείο ή να δοκιμάσουμε κάτι δροσερό, σε αυτό το έργο πρόκειται να φτιάξουμε ένα μικρό αλλά διασκεδαστικό πιάνο χρησιμοποιώντας το Arduino. Αυτό το πιάνο είναι πολύ απλό με μόλις 8 κουμπιά και βομβητή. Χρησιμοποιεί τη λειτουργία tone () του Arduino για να δημιουργήσει διάφορους τύπους πιάνων στο ηχείο. Για να το φτιάξουμε λίγο προσθέσαμε τη δυνατότητα εγγραφής στο έργο, αυτό μας δίνει τη δυνατότητα να παίξουμε μια ηχογράφηση και να την παίξουμε ξανά επανειλημμένα όταν απαιτείται. Ακούγεται ενδιαφέρον, σωστά !! Ας πάρουμε λοιπόν την οικοδόμηση….
Απαιτούμενα υλικά:
- Arduino Uno
- Οθόνη LCD 16 * 2
- Βομβητής
- Κοπτικό 10k
- Διακόπτης SPDT
- Πιέστε το κουμπί (8 Nos)
- Αντίσταση (10k, 560R, 1.5k, 2.6k, 3.9, 5.6k, 6.8k, 8.2k, 10k)
- Ψωμί
- Σύνδεση καλωδίων
Διάγραμμα κυκλώματος:
Το πλήρες Arduino Piano Project μπορεί να χτιστεί πάνω από ένα ταμπλό με μερικά καλώδια σύνδεσης. Το διάγραμμα κυκλώματος που δημιουργήθηκε με fritzing που δείχνει την προβολή πίνακα του έργου φαίνεται παρακάτω
Απλώς ακολουθήστε το διάγραμμα κυκλώματος και συνδέστε τα καλώδια αναλόγως, τα μπουτόν και το βομβητή όπως χρησιμοποιούνται με μια μονάδα PCB, αλλά στο πραγματικό υλικό που έχουμε χρησιμοποιήσει μόνο το διακόπτη και το βομβητή, δεν πρέπει να σας συγχέει πολύ, επειδή έχουν τον ίδιο τύπο καρφίτσας. Μπορείτε επίσης να ανατρέξετε στην παρακάτω εικόνα του υλικού για να κάνετε τις συνδέσεις σας.
Η τιμή των αντιστάσεων από τα αριστερά είναι με την ακόλουθη σειρά, 10k, 560R, 1.5k, 2.6k, 3.9, 5.6k, 6.8k, 8.2k και 10k. Εάν δεν έχετε τον ίδιο διακόπτη DPST, μπορείτε να χρησιμοποιήσετε κανονικό διακόπτη εναλλαγής όπως αυτός που φαίνεται στο παραπάνω διάγραμμα κυκλώματος. Τώρα ας δούμε τα σχήματα του έργου για να καταλάβουμε γιατί έχουμε κάνει τις ακόλουθες συνδέσεις.
Σχηματικά και Επεξήγηση:
Τα σχήματα για το διάγραμμα κυκλώματος που παρουσιάζονται παραπάνω δίδονται παρακάτω, δημιουργήθηκε επίσης χρησιμοποιώντας Fritzing.
Μια κύρια σύνδεση που πρέπει να καταλάβουμε είναι ότι πώς συνδέσαμε τα 8 κουμπιά στο Arduino μέσω του pin Analog A0. Βασικά χρειαζόμαστε 8 ακίδες εισόδου που μπορούν να συνδεθούν με τα 8 κουμπιά εισόδου, αλλά για έργα όπως αυτό δεν μπορούμε να χρησιμοποιήσουμε 8 καρφίτσες του μικροελεγκτή μόνο για μπουτόν αφού ίσως χρειαζόμαστε για μελλοντική χρήση. Στην περίπτωσή μας έχουμε την οθόνη LCD για διασύνδεση.
Χρησιμοποιούμε λοιπόν τον αναλογικό πείρο του Arduino και σχηματίζουμε ένα πιθανό διαχωριστικό με διαφορετικές τιμές αντίστασης για να ολοκληρώσουμε το κύκλωμα. Με αυτόν τον τρόπο όταν πατάτε κάθε κουμπί, παρέχεται διαφορετική αναλογική τάση στον αναλογικό πείρο. Ένα κύκλωμα δείγματος με μόνο δύο αντιστάσεις και δύο μπουτόν φαίνεται παρακάτω.
Σε αυτήν την περίπτωση, ο πείρος ADC θα λάβει + 5V όταν δεν πατηθούν τα κουμπιά, εάν πατηθεί το πρώτο κουμπί τότε ο δυνητικός διαχωριστής ολοκληρώνεται μέσω της αντίστασης 560R και εάν πατηθεί το δεύτερο κουμπί, ο δυνητικός διαχωριστής ανταγωνίζεται χρησιμοποιώντας το 1.5 k αντίσταση. Με αυτόν τον τρόπο η τάση που λαμβάνεται από τον πείρο ADC θα ποικίλει με βάση τους τύπους του δυνητικού διαχωριστή. Αν θέλετε να μάθετε περισσότερα για το πώς λειτουργεί ο δυνητικός διαχωριστής και πώς να υπολογίσετε την τιμή της τάσης που λαμβάνεται από τον πείρο ADC, τότε μπορείτε να χρησιμοποιήσετε αυτήν τη σελίδα αριθμομηχανής δυνητικού διαχωριστή.
Εκτός από αυτό όλες οι συνδέσεις είναι ευθείες προς τα εμπρός, η οθόνη LCD συνδέεται με τους πείρους 8, 9, 10, 11 και 12. Ο βομβητής συνδέεται στον πείρο 7 και ο διακόπτης SPDT είναι συνδεδεμένος στον πείρο 6 του Arduino. Το πλήρες έργο τροφοδοτείται μέσω της θύρας USB του φορητού υπολογιστή. Μπορείτε επίσης να συνδέσετε το Arduino σε τροφοδοσία 9V ή 12V μέσω της υποδοχής DC και το έργο θα εξακολουθήσει να λειτουργεί το ίδιο.
Κατανόηση του
Το Arduino έχει μια εύχρηστη λειτουργία τόνου () η οποία μπορεί να χρησιμοποιηθεί για τη δημιουργία σημάτων διαφορετικών συχνοτήτων που μπορούν να χρησιμοποιηθούν για την παραγωγή διαφορετικών ήχων χρησιμοποιώντας έναν βομβητή. Ας καταλάβουμε λοιπόν πώς λειτουργεί η λειτουργία και πώς μπορεί να χρησιμοποιηθεί με το Arduino.
Πριν από αυτό πρέπει να γνωρίζουμε πώς λειτουργεί ένας βομβητής Piezo. Μπορεί να μάθαμε για τους κρυστάλλους Piezo στο σχολείο μας, δεν είναι παρά ένας κρύσταλλος που μετατρέπει τις μηχανικές δονήσεις σε ηλεκτρική ενέργεια ή το αντίστροφο. Εδώ εφαρμόζουμε ένα μεταβλητό ρεύμα (συχνότητα) για το οποίο ο κρύσταλλος δονείται δημιουργώντας έτσι ήχο. Ως εκ τούτου, για να κάνουμε τον βομβητή Piezo να κάνει κάποιο θόρυβο, πρέπει να κάνουμε τον ηλεκτρικό κρύσταλλο Piezo να δονείται, η ένταση και ο τόνος του θορύβου εξαρτάται από το πόσο γρήγορα δονείται ο κρύσταλλος. Ως εκ τούτου, ο τόνος και το βήμα μπορούν να ελεγχθούν μεταβάλλοντας τη συχνότητα του ρεύματος.
Εντάξει, λοιπόν, πώς παίρνουμε μια μεταβλητή συχνότητα από το Arduino; Εδώ μπαίνει η λειτουργία τόνου (). Ο τόνος () μπορεί να δημιουργήσει μια συγκεκριμένη συχνότητα σε έναν συγκεκριμένο πείρο. Η χρονική διάρκεια μπορεί επίσης να αναφερθεί εάν απαιτείται. Η σύνταξη για τον τόνο () είναι
Τόνος σύνταξης (ακίδα, συχνότητα) τόνος (ακίδα, συχνότητα, διάρκεια) Καρφίτσα παραμέτρων: ο ακροδέκτης στον οποίο δημιουργείται η συχνότητα τόνου: η συχνότητα του τόνου σε hertz - διάρκεια χωρίς υπογραφή: η διάρκεια του τόνου σε χιλιοστά του δευτερολέπτου (προαιρετικά1) - χωρίς υπογραφή πολύ
Οι τιμές του pin μπορεί να είναι οποιαδήποτε από την ψηφιακή σας καρφίτσα. Έχω χρησιμοποιήσει τον αριθμό pin 8 εδώ. Η συχνότητα που μπορεί να δημιουργηθεί εξαρτάται από το μέγεθος του χρονοδιακόπτη στην πλακέτα Arduino. Για το UNO και τους περισσότερους άλλους κοινούς πίνακες, η ελάχιστη συχνότητα που μπορεί να παραχθεί είναι 31Hz και η μέγιστη συχνότητα που μπορεί να παραχθεί είναι 65535Hz. Ωστόσο, εμείς οι άνθρωποι μπορούμε να ακούμε μόνο συχνότητες μεταξύ 2000Hz και 5000 Hz.
Παίζοντας ήχους πιάνου στο Arduino:
Εντάξει, πριν καν ξεκινήσω αυτό το θέμα, επιτρέψτε μου να ξεκαθαρίσω ότι είμαι αρχάριος με μουσικές νότες ή πιάνο, οπότε παρακαλώ συγχωρέστε με αν κάτι που αναφέρεται σε αυτήν την επικεφαλίδα είναι ασυναρτησία.
Γνωρίζουμε τώρα ότι μπορούμε να χρησιμοποιήσουμε τη λειτουργία τόνων στο Arduino για να παράγουμε μερικούς ήχους, αλλά πώς μπορούμε να παίξουμε τόνους μιας συγκεκριμένης νότας χρησιμοποιώντας το ίδιο. Τυχερός για εμάς υπάρχει μια βιβλιοθήκη που ονομάζεται “pitches.h” γραμμένη από τον Brett Hagman. Αυτή η βιβλιοθήκη περιέχει όλες τις πληροφορίες σχετικά με το ποια συχνότητα ισοδυναμεί με ποια σημείωση στο πιάνο. Με εξέπληξε το πόσο καλά μπορούσε αυτή η βιβλιοθήκη να λειτουργήσει και να παίξει σχεδόν κάθε νότα σε πιάνο, χρησιμοποίησα το ίδιο για να παίξω τις πιάνες των Πειρατών της Καραϊβικής, του Crazy Frog, του Mario και ακόμη και του τιτανικού και ακούγονταν φοβερό. Ωχ! Παίρνουμε λίγο θέμα εδώ, οπότε αν σας ενδιαφέρει να δείτε παίζοντας μελωδίες χρησιμοποιώντας το έργο Arduino. Θα βρείτε επίσης περισσότερες εξηγήσεις σχετικά με τη βιβλιοθήκη pitches.h σε αυτό το έργο.
Το έργο μας έχει μόνο 8 κουμπιά, ώστε κάθε κουμπί να μπορεί να παίξει μόνο μια συγκεκριμένη μουσική νότα και έτσι συνολικά μπορούμε να παίξουμε μόνο 8 νότες. Επέλεξα τις πιο χρησιμοποιημένες νότες σε πιάνο, αλλά μπορείτε να επιλέξετε οποιαδήποτε 8 ή ακόμα και να επεκτείνετε το έργο με περισσότερα κουμπιά και να προσθέσω περισσότερες σημειώσεις.
Οι νότες που επιλέχθηκαν σε αυτό το έργο είναι οι σημειώσεις C4, D4, E4, F4, G4, A4, B4 και C5 που μπορούν να αναπαραχθούν χρησιμοποιώντας τα κουμπιά 1 έως 8 αντίστοιχα.
Προγραμματισμός του Arduino:
Αρκετή θεωρία ας φτάσουμε στο διασκεδαστικό μέρος του προγραμματισμού του Arduino. Το πλήρες πρόγραμμα Arduino δίνεται στο τέλος αυτής της σελίδας, μπορείτε να μεταβείτε κάτω αν θέλετε ή διαβάζετε περαιτέρω για να καταλάβετε πώς λειτουργεί ο κώδικας.
Στο πρόγραμμα Arduino πρέπει να διαβάσουμε την αναλογική τάση από τον ακροδέκτη A0, μετά να προβλέψουμε ποιο κουμπί πατήθηκε και να παίξει τον αντίστοιχο τόνο για αυτό το κουμπί. Κάνοντας αυτό πρέπει επίσης να καταγράψουμε ποιο κουμπί έχει πατήσει ο χρήστης και πόσο καιρό έχει πατήσει, ώστε να μπορούμε να αναδημιουργήσουμε τον τόνο που έπαιξε ο χρήστης αργότερα.
Πριν πάμε στο λογικό μέρος, πρέπει να δηλώσουμε ποιες 8 σημειώσεις θα παίξουμε. Η αντίστοιχη συχνότητα για τις σημειώσεις λαμβάνεται στη συνέχεια από τη βιβλιοθήκη pitches.h και στη συνέχεια σχηματίζεται ένας πίνακας όπως φαίνεται παρακάτω. Εδώ η συχνότητα αναπαραγωγής της σημείωσης C4 είναι 262 και ούτω καθεξής.
int σημειώσεις = {262, 294, 330, 349, 392, 440, 494, 523}; // Ρύθμιση συχνότητας για C4, D4, E4, F4, G4, A4, B4,
Στη συνέχεια πρέπει να αναφέρουμε σε ποιους ακροδέκτες είναι συνδεδεμένη η οθόνη LCD. Εάν ακολουθείτε τα ίδια σχήματα που δίνονται παραπάνω, τότε δεν χρειάζεται να αλλάξετε τίποτα εδώ.
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Καρφίτσες με τις οποίες είναι συνδεδεμένη η οθόνη LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
Στη συνέχεια, μέσα στη λειτουργία εγκατάστασης , αρχικοποιούμε μόνο τη μονάδα LCD και τη σειριακή οθόνη για εντοπισμό σφαλμάτων. Εμφανίζουμε επίσης ένα εισαγωγικό μήνυμα μόνο για να βεβαιωθούμε ότι τα πράγματα λειτουργούν όπως έχει προγραμματιστεί. Στη συνέχεια , μέσα στη λειτουργία του κύριου βρόχου έχουμε δύο ενώ βρόχους.
Ένας βρόχος ενώ θα εκτελεστεί όσο ο διακόπτης SPDT είναι τοποθετημένος στην εγγραφή περισσότερων. Στη λειτουργία εγγραφής ο χρήστης μπορεί να πληρώσει τους τόνους που απαιτούνται και ταυτόχρονα να αποθηκευτεί και ο τόνος που παίζεται. Έτσι, ο βρόχος ενώ μοιάζει με αυτό παρακάτω
while (digitalRead (6) == 0) // Εάν ο διακόπτης εναλλαγής έχει ρυθμιστεί σε λειτουργία εγγραφής {lcd.setCursor (0, 0); lcd.print ("Εγγραφή.."); lcd.setCursor (0, 1); Κουμπί Detect_) (); Play_tone (); }
Όπως ίσως έχετε παρατηρήσει , έχουμε δύο λειτουργίες στο βρόχο while. Η πρώτη συνάρτηση Detect_button () χρησιμοποιείται για να βρει ποιο κουμπί έχει πατήσει ο χρήστης και η δεύτερη συνάρτηση Play_tone () χρησιμοποιείται για την αναπαραγωγή του αντίστοιχου τόνου. Εκτός από αυτήν τη λειτουργία, η λειτουργία Detect_button () καταγράφει επίσης το κουμπί που πατάται και η λειτουργία Play_tone () καταγράφει πόσο καιρό πατήθηκε το κουμπί.
Μέσα στο Detect_button () συνάρτηση διαβάζουμε την αναλογική τάση από το pin Α0 και το συγκρίνουμε με κάποιες προκαθορισμένες τιμές για να μάθετε ποιο κουμπί έχει πατηθεί. Η τιμή μπορεί να προσδιοριστεί είτε χρησιμοποιώντας τον υπολογιστή διαχωριστή τάσης παραπάνω είτε χρησιμοποιώντας τη σειριακή οθόνη για να ελέγξετε ποια αναλογική τιμή διαβάζεται για κάθε κουμπί.
void Detect_button () { analogVal = analogRead (A0); // διαβάστε το αναλογικό voltag στο κουμπί A0 pev_button = κουμπί; // θυμηθείτε το προηγούμενο κουμπί που πατήθηκε από το χρήστη εάν (analogVal <550) κουμπί = 8; if (analogVal <500) κουμπί = 7; if (analogVal <450) κουμπί = 6; if (analogVal <400) κουμπί = 5; if (analogVal <300) κουμπί = 4; if (analogVal <250) κουμπί = 3; if (analogVal <150) κουμπί = 2; if (analogVal <100) κουμπί = 1; if (analogVal> 1000) κουμπί = 0; / **** Καταγράψτε τα πατημένα κουμπιά σε μια σειρά *** / εάν (κουμπί! = pev_button && pev_button! = 0) { record_button = pev_button; button_index ++; ηχογραφημένο κουμπί = 0; button_index ++; } / ** Λήξη προγράμματος εγγραφής ** / }
Όπως είπαμε, μέσα σε αυτήν τη λειτουργία καταγράφουμε επίσης την ακολουθία με την οποία πατάτε τα κουμπιά. Οι καταγεγραμμένες τιμές αποθηκεύονται σε έναν πίνακα με το όνομα_γραμμένο κουμπί. Πρώτα ελέγχουμε αν υπάρχει ένα νέο κουμπί πατημένο, αν πατηθεί τότε ελέγξουμε επίσης αν δεν είναι το κουμπί 0. Όπου το κουμπί 0 δεν είναι τίποτα αλλά δεν πατάτε κανένα κουμπί Μέσα στο if loop αποθηκεύουμε την τιμή στη θέση ευρετηρίου που δίνεται από τη μεταβλητή button_index και στη συνέχεια αυξάνουμε επίσης αυτήν την τιμή ευρετηρίου, ώστε να μην γράφουμε υπερβολικά στην ίδια τοποθεσία.
/ **** Καταγράψτε τα πατημένα κουμπιά σε έναν πίνακα *** / if (κουμπί! = Pev_button && pev_button! = 0) { records_button = pev_button; button_index ++; ηχογραφημένο κουμπί = 0; button_index ++; } / ** Πρόγραμμα λήξης εγγραφής ** /
Μέσα στο Play_tone () συνάρτηση θα παίξει το αντίστοιχο τόνο για το κουμπί πιέζεται με τη χρήση πολλαπλών αν συνθηκών. Επίσης θα χρησιμοποιήσουμε έναν πίνακα με το όνομα record_time μέσα στον οποίο θα αποθηκεύσουμε τη διάρκεια χρόνου για την οποία πατήθηκε το κουμπί. Η λειτουργία είναι παρόμοια με την ακολουθία κουμπιών εγγραφής, χρησιμοποιώντας τη συνάρτηση millis () για να προσδιορίσουμε πόσο καιρό πατήθηκε κάθε κουμπί, επίσης για τη μείωση του μεγέθους της μεταβλητής διαιρούμε την τιμή με 10. Για το κουμπί 0, που σημαίνει ότι ο χρήστης δεν είναι πατώντας οτιδήποτε παίζουμε χωρίς τόνο για την ίδια διάρκεια. Ο πλήρης κωδικός μέσα στη λειτουργία εμφανίζεται παρακάτω.
void Play_tone () { / **** Καταγράψτε την χρονική καθυστέρηση μεταξύ κάθε κουμπιού πατήστε σε έναν πίνακα *** / if (κουμπί! = pev_button) { lcd.clear (); // Στη συνέχεια, καθαρίστε το note_time = (millis () - start_time) / 10; Record_time = note_time; time_index ++; start_time = millis (); } / ** Τέλος προγράμματος εγγραφής ** / if (κουμπί == 0) { noTone (7); lcd.print ("0 -> Παύση.."); } εάν (κουμπί == 1) { τόνος (7, σημειώσεις) lcd.print ("1 -> NOTE_C4"); } εάν (κουμπί == 2) { τόνος (7, σημειώσεις); lcd.print ("2 -> NOTE_D4"); } εάν (κουμπί == 3) { τόνος (7, σημειώσεις); lcd.print ("3 -> NOTE_E4"); } εάν (κουμπί == 4) { τόνος (7, σημειώσεις); lcd.print ("4 -> NOTE_F4"); } εάν (κουμπί == 5) { τόνος (7, σημειώσεις); lcd.print ("5 -> NOTE_G4"); } εάν (κουμπί == 6) { τόνος (7, σημειώσεις); lcd.print ("6 -> NOTE_A4"); } εάν (κουμπί == 7) { τόνος (7, σημειώσεις); lcd.print ("7 -> NOTE_B4"); } εάν (κουμπί == 8) { τόνος (7, σημειώσεις); lcd.print ("8 -> NOTE_C5"); } }
Τέλος, μετά την εγγραφή, ο χρήστης πρέπει να αλλάξει το DPST στην άλλη κατεύθυνση για να παίξει τον ηχογραφημένο τόνο. Όταν γίνει αυτό τα διαλείμματα του προγράμματος από το προηγούμενο , ενώ βρόχο και εισέρχεται στο δεύτερο βρόχο while, όπου παίζουμε τις νότες στην ακολουθία των πλήκτρων πιέζονται για διάρκεια που ήταν προηγουμένως καταγραφεί. Ο κώδικας για να κάνετε το ίδιο φαίνεται παρακάτω.
while (digitalRead (6) == 1) // Εάν ο διακόπτης εναλλαγής έχει ρυθμιστεί σε λειτουργία αναπαραγωγής { lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Αναπαραγωγή τώρα.."); για (int i = 0; i <sizeof (Record_button) / 2; i ++) { delay ((record_time) * 10); // Περιμένετε πριν πληρώσετε τον επόμενο μελωδία, εάν ( record_button == 0) noTone (7); // ο χρήστης δεν αγγίζει οποιονδήποτε άλλο τόνο κουμπιού (7, σημειώσεις - 1)]); // αναπαραγωγή του ήχου που αντιστοιχεί στο κουμπί που άγγιξε ο χρήστης } } }
Παίξτε, Εγγραφή, Επανάληψη και Επανάληψη!:
Δημιουργήστε το υλικό σύμφωνα με το διάγραμμα κυκλώματος που εμφανίζεται και ανεβάστε τον κωδικό στην πλακέτα Arduino και την ώρα που εμφανίζεται. Τοποθετήστε το SPDT στη λειτουργία εγγραφής και ξεκινήστε να παίζετε τους τόνους της επιλογής σας, πατώντας κάθε κουμπί θα παράγεται διαφορετικός τόνος. Κατά τη διάρκεια αυτής της λειτουργίας, η οθόνη LCD θα εμφανίσει " Εγγραφή…" και στη δεύτερη γραμμή θα δείτε το όνομα της νότας που πιέζεται αυτή τη στιγμή όπως φαίνεται παρακάτω
Μόλις παίξετε τον τόνο σας, κάντε εναλλαγή του διακόπτη SPDT στην άλλη πλευρά και η οθόνη LCD θα εμφανίζει " Now Playing.." και μετά ξεκινήστε να παίζετε τον τόνο που μόλις παίξατε. Ο ίδιος τόνος θα παίζεται ξανά και ξανά, αρκεί ο διακόπτης εναλλαγής να διατηρείται στη θέση όπως φαίνεται στην παρακάτω εικόνα.
Η πλήρης εργασία του έργου βρίσκεται στο παρακάτω βίντεο. Ελπίζω ότι καταλάβατε το έργο και σας άρεσε να το φτιάξετε. Εάν αντιμετωπίζετε προβλήματα κατά τη δημιουργία αυτής της ανάρτησης, δημοσιεύστε τα στην ενότητα σχολίων ή χρησιμοποιήστε τα φόρουμ για τεχνική βοήθεια στο έργο σας. Επίσης μην ξεχάσετε να δείτε το βίντεο επίδειξης που δίνεται παρακάτω.