Στην πρώτη συνάντηση μας για την φετινή χρονιά προσπαθήσαμε να συνδέσουμε το Arduino και μερικούς αισθητήρες που παίρνουν μετρήσεις σχετικές με το νερό, στον υπολογιστή μας. Πιο συγκεκριμένα συνδέσαμε αισθητήρες βροχόπτωσης, αισθητήρες στάθμης νερού και αισθητήρες υγρασίας εδάφους και προσπαθήσουμε να στείλουμε τις τιμές που διαβάζουν στον υπολογιστή μας.
Πριν προχωρήσουμε καλό είναι να ρίξουμε μια ματιά στο εργαστήριο Μελετώντας τιμές από αισθητήρες για να καταλάβουμε τον τρόπο σύνδεσης των αισθητήρων και του Arduino
Αισθητήρας βροχόπτωσης
Ο αισθητήρας βροχόπτωσης διαθέτει μια επιφάνεια η οποία μπορεί να αντιληφθεί την ποσότητα του νερού που υπάρχει πάνω της με τον εξής τρόπο:
- Όσο περισσότερο νερό υπάρχει στην επιφάνεια τόσο περισσότερη αγωγιμότητα έχει και λιγότερη αντίσταση στο ρεύμα.
- Όσο λιγότερο νερό υπάρχει στην επιφάνεια τόσο μικρότερη αγωγιμότητα έχει και μεγαλύτερη αντίσταση στο ρεύμα.
Για να συνδέσουμε τον αισθητήρα με το Arduino θα χρειαστούμε τρία καλώδια:
- Ένα καλώδιο για την παροχή ρεύματος 5V από την υποδοχή VCC του αισθητήρα στην υποδοχή 5V του Arduino. Συνήθως βάζουμε κόκκινα καλώδια για αυτές τις συνδέσεις.
- Ένα καλώδιο για την γείωση ώστε να κλείσει το κύκλωμα, από την υποδοχή GND του αισθητήρα στην υποδοχή GND του Arduino. Συνήθως βάζουμε μαύρα ή σκούρα καφέ καλώδια για αυτές τις συνδέσεις.
- Ένα καλώδιο για την μεταφορά δεδομένων, από την υποδοχή A0 του αισθητήρα στην υποδοχή Α0 του Arduino.
Αισθητήρας υγρασίας εδάφους
Ο αισθητήρας υγρασίας εδάφους διαθέτει δύο στοιχεία σαν μύτες οι οποίες τοποθετούνται μέσα στο χώμα και μπορούν να αντιληφθούν την ποσότητα υγρασίας του εδάφους με τον παρακάτω τρόπο:
- Όσο περισσότερο νερό υπάρχει στο χώμα τόσο περισσότερη αγωγιμότητα έχουν και λιγότερη αντίσταση στο ρεύμα.
- Όσο λιγότερο νερό υπάρχει στο χώμα τόσο μικρότερη αγωγιμότητα έχουν και μεγαλύτερη αντίσταση στο ρεύμα.
Για να συνδέσουμε τον αισθητήρα με το Arduino θα χρειαστούμε και εδώ τρία καλώδια:
- Ένα καλώδιο για την παροχή ρεύματος 5V από την υποδοχή VCC του αισθητήρα στην υποδοχή 5V του Arduino. Συνήθως βάζουμε κόκκινα καλώδια για αυτές τις συνδέσεις.
- Ένα καλώδιο για την γείωση ώστε να κλείσει το κύκλωμα, από την υποδοχή GND του αισθητήρα στην υποδοχή GND του Arduino. Συνήθως βάζουμε μαύρα ή σκούρα καφέ καλώδια για αυτές τις συνδέσεις.
- Ένα καλώδιο για την μεταφορά δεδομένων, από την υποδοχή A0 του αισθητήρα στην υποδοχή Α0 του Arduino.
Αισθητήρας στάθμης νερού
Ο αισθητήρας στάθμης νερού διαθέτει μια επιφάνεια η οποία μπορεί να αντιληφθεί το σημείο στο οποίο είναι καλυμμένη με νερό με τον παρακάτω τρόπο:
- Όσο περισσότερο νερό υπάρχει στο δοχείο τόσο περισσότερη αγωγιμότητα έχει και λιγότερη αντίσταση στο ρεύμα.
- Όσο λιγότερο νερό υπάρχει στο δοχείο τόσο μικρότερη αγωγιμότητα έχει και μεγαλύτερη αντίσταση στο ρεύμα.
Για να συνδέσουμε τον αισθητήρα με το Arduino θα χρειαστούμε και εδώ τρία καλώδια:
- Ένα καλώδιο για την παροχή ρεύματος 5V από την υποδοχή + του αισθητήρα στην υποδοχή 5V του Arduino. Συνήθως βάζουμε κόκκινα καλώδια για αυτές τις συνδέσεις.
- Ένα καλώδιο για την γείωση ώστε να κλείσει το κύκλωμα, από την υποδοχή – του αισθητήρα στην υποδοχή GND του Arduino. Συνήθως βάζουμε μαύρα ή σκούρα καφέ καλώδια για αυτές τις συνδέσεις.
- Ένα καλώδιο για την μεταφορά δεδομένων, από την υποδοχή S του αισθητήρα στην υποδοχή Α0 του Arduino.
Σύνδεση Arduino με υπολογιστή
Για να μπορέσουμε να επικοινωνήσουμε με το Arduino και να πάρουμε τις τιμές των αισθητήρων θα χρησιμοποιήσουμε το λογισμικό Pictoblox το οποίο μπορούμε να το κατεβάσουμε δωρεάν και το περιβάλλον του μοιάζει πάρα πολύ με το Scratch.
Αρχικά θα πρέπει να συνδέσουμε το Arduino με τον υπολογιστή μας με το καλώδιο USB και να ανοίξουμε το Pictoblox. Αφού ανοίξουμε το Pictoblox, επιλέγουμε από το μενού το board και εκεί διαλέγουμε το Arduino UNO.
Αφού διαλέξουμε την μονάδα Arduino Uno, το Pictoblox θα ψάξει να βρει σε όλες τις θύρες USB του υπολογιστή μήπως υπάρχει κάποια συσκευή που να ταιριάζει. Είναι πολύ πιθανό να βρει εκτός από το Arduino και άλλες συσκευές που μπορεί να έχουμε στον υπολογιστή μας, όπως το ποντίκι και το πληκτρολόγιο. Συνήθως όταν βρει μια συσκευή Arduino μας εμφανίζει σε παρένθεση κάποιες επιπλέον πληροφορίες. Αφού επιλέξουμε προσεκτικά πατάμε το πλήκτρο σύνδεση.
Προγραμματισμός
Ωραία συνδεθήκαμε! Και τώρα τι; Θα πρέπει να δώσουμε οδηγίες στο Arduino ώστε να πάρει τις τιμές που στέλνει ο αισθητήρας και να τις κάνουμε εμείς κάτι στο Pictoblox. Μπορούμε για παράδειγμα να βάλουμε έναν χαρακτήρα να μας τις λέει! Το πρόγραμμα είναι αρκετά απλό. Θέλουμε διαρκώς ο χαρακτήρας μας να λέει (χρησιμοποιώντας την εντολή πες από τις όψεις), την τιμή του αισθητήρα που παίρνει με την εντολή read analog sensor, η οποία βρίσκεται στην κατηγορία Sensors.
Για να μπορέσουμε να εκτελέσουμε το πρόγραμμα μας, θα πρέπει πρώτα να στείλουμε στο Arduino τις απαραίτητες οδηγίες πατώντας το πλήκτρο upload firmware, όπως φαίνεται στην παρακάτω εικόνα.
Αν όλα πάνε καλά το Pictoblox θα μας ενημερώσει ότι οι οδηγίες ανέβηκαν με το μήνυμα upload succesfull. Μετά μπορούμε να πατήσουμε την πράσινη σημαία και ο χαρακτήρας μας να μας λέει τις τιμές που διαβάζει ο αισθητήρας, οι οποίες είναι μεταξύ του 0 και του 1023.