Άρθρο Συνεργάτη

ΡΟΜΠΟΤΙΚΟΣ ΒΡΑΧΙΟΝΑΣ

Έχοντας στη διάθεση μας 3D εκτυπωτή, που επίσης αποτελεί φετινό project  της ομάδας μας, σκεφτήκαμε να εκτυπώσουμε εμείς  έναν βραχίονα. Εκτυπώσαμε λοιπόν τα διάφορα μέρη του και τον συναρμολογήσαμε. Ο βραχίονας μας έχει επιπλέον την δυνατότητα κίνησης μπροστά- πίσω καθώς και της περιστροφής. Έτσι  χρησιμοποιεί 4 servo κινητήρες. Αρχικά έγινε η δοκιμή του μεμονωμένα με χρήση android εφαρμογής που υλοποιήσαμε ειδικά για αυτό τον σκοπό.

PWM Θύρες (Αναλογική έξοδος Arduino)

Αναλογική έξοδος (PWM pins)

Για αναλογική έξοδο, μπορούμε να χρησιμοποιήσουμε τις έξι PWM ψηφιακές θύρες (3, 5, 6, 9, 10, 11), οι οποίες θα μας δώσουν ρεύμα εξόδου όποιας τιμή θέλουμε στο διάστημα από 0 έως 5V.

Κάποια από τα 14 Pins του Arduino έχουν την ένδειξη PWM, δηλαδή μπορούν να προσομοιώσουν την αναλογική έξοδο μέσω παλμοκωδικής διαμόρφωσης.

Έτσι, με τιμές από το 0 μέχρι το 255 προσομοιώνουμε (αναλογικά) το διάστημα από 0 έως 5V. Αυτό γίνεται με χρήση της συνάρτησης analogWrite(Pin, Value), όπου το όρισμα Pin αναφέρεται στο νούμερο της θύρας για την οποία θα δώσουμε ρεύμα εξόδου, ενώ η τάση εξόδου κυμαίνεται από 0 V μέχρι και 5 V, οι οποίες τιμές της τάσης αναλογικά αναπαρίστανται με τιμές στη μεταβλητή value. Τιμή 0 δίνει 0V στην έξοδο (pin), τιμή 255 δίνει τάση 5V στην έξοδο (pin), ενώ αναλογικά μπορούμε να δώσουμε ενδιάμεσες τάσεις (π.χ. 122 για τάση 2,5V).

Για παράδειγμα:

analogWrite(ledPin, 122);

Υπενθύμιση: Τη λειτουργία αυτή μπορούν να υποστηρίξουν μόνο τα PWM pins κι όχι όλα τα ψηφιακά. Τα PWM pins είναι τα 3, 5, 6, 9, 10, 11.

Προσοχή: Η αντίστοιχη θύρα θα πρέπει να έχει οριστεί ως εξόδου στη διαδικασία setup(), με χρήση της συνάρτησης pinMode.

Για παράδειγμα:

pinMode(10, OUTPUT);

1η Συνάντηση: Γνωριμία με το Arduino

Εισαγωγικά για το Arduino

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

Επίδειξη

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

3ο Μάθημα Αυξομείωση φωτεινότητας

Με τι ασχοληθήκαμε στο 3ο μάθημα;

Στο τρίτο μάθημα ασχοληθήκαμε με :

  • το πως μπορούμε να αυξομειώσουμε τη φωτεινότητα ενός Led.
  • Μαθαίνουμε τις PWM θύρες, ώστε να προσομειώσουμε αναλογική έξοδο στο Arduino
  • Μαθαίνουμε τις εντολές: ifanalogWrite

Αν θέλετε να δείτε το φύλλο εργασίας και τον σχετικό κώδικα:

Μάθημα 5ο Β Μέρος

Χρησιμοποιώντας τον ήχο (Buzzer και Piezo Element)
Βίντεο

Μπορείτε να παρακολουθείσετε το παρακάτω βίντεο, για να μάθετε να υλοποιείτε το απλό κύκλωμα της συγκεκριμένης άσκησης:

Κατεβάστε τον κώδικα και επικολλήστε το αρχείο στο Arduino IDE.

Επίσης είναι ενδιαφέρον για κάποιον που θέλει να εξασκηθεί παραπάνω να δει το tutorial που βρίσκεται στον παρακάτω σύνδεσμο: https://www.arduino.cc/en/Tutorial/ToneMelody?from=Tutorial.Tone

Μάθημα 5ο

Χρησιμοποιώντας τον ήχο (Buzzer και Piezo Element)

Ένα επίσης απλό εξάρτημα που μπορούμε να συνδέσουμε με το Arduino μας είναι ένα ηχείο.

Δουλεύει ακριβώς όπως ένα led, με δύο καλώδια, ένα για την πηγή (5V) κι ένα για τη γείωση (GND), όπως βλέπετε και στην εικόνα. Αν του δώσουμε σταθερή τάση (π.χ. 5V) θα μας δώσει σταθερό ήχο, ενώ μεταβλητή τάση (π.χ. αντί στην πηγή (5V), σύνδεσή του με ένα PWM pin στο Arduino και αυξομείωση της τάσης που του παρέχεται) θα μας δώσει μεταβλητό ήχο, δηλαδή ηχητικό εφέ.
Εκτός από τα απλά ηχεία υπάρχουν και διατάξεις ηχείων που αλλάζουν τις ιδιότητές τους ανάλογα με την πίεση που τους ασκείται . Η συνδεσμολογία τους είναι ίδια και μπορούμε να τα χρησιμοποιήσουμε για να ανιχνεύσουμε ασκούμενη δύναμη πάνω τους.

Υλικά:

  • Breadboard
  • Buzzer ή piezo element

Πως λειτουργεί:

Πως λειτουργεί; Είναι αρκετά απλό, με την tone(buzzer,1000) στέλνουμε ενα σήμα 1KHz στο pin 9, κάνουμε μια παύση ενός δευτερολέπτου με την delay(1000) και με την noTone(buzzer) σταματάμε αυτό το σήμα. Η διαδικασία επαναλαμβάνεται μέσα στην loop() δημιουργώντας έτσι έναν ήχο μπιπ-μπιπ.
(μπορείτε επίσης να κάνετε χρήση της συνάρτησης tone(pin, frequency, duration) )

Ο κώδικας:

const int buzzer = 9; //buzzer to arduino pin 9

void setup(){
  pinMode(buzzer, OUTPUT); // Set buzzer - pin 9 as an output
}

void loop(){
  tone(buzzer, 1000); // Send 1KHz sound signal...
  delay(1000);        // ...for 1 sec
  noTone(buzzer);     // Stop sound...
  delay(1000);        // ...for 1sec
}