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

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

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

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

Αισθητήρας βροχόπτωσης

Ο αισθητήρας βροχόπτωσης διαθέτει μια επιφάνεια η οποία μπορεί να αντιληφθεί την ποσότητα του νερού που υπάρχει πάνω της με τον εξής τρόπο:

  • Όσο περισσότερο νερό υπάρχει στην επιφάνεια τόσο περισσότερη αγωγιμότητα έχει και λιγότερη αντίσταση στο ρεύμα.
  • Όσο λιγότερο νερό υπάρχει στην επιφάνεια τόσο μικρότερη αγωγιμότητα έχει και μεγαλύτερη αντίσταση στο ρεύμα.
Βλέπουμε πως αλλάζει η αντίσταση του αισθητήρα στο ρεύμα ανάλογα με την ποσότητα νερού που έχει. Εικόνα από τους Last minute engineers

Για να συνδέσουμε τον αισθητήρα με το Arduino θα χρειαστούμε τρία καλώδια:

  • Ένα καλώδιο για την παροχή ρεύματος 5V από την υποδοχή VCC του αισθητήρα στην υποδοχή 5V του Arduino. Συνήθως βάζουμε κόκκινα καλώδια για αυτές τις συνδέσεις.
  • Ένα καλώδιο για την γείωση ώστε να κλείσει το κύκλωμα, από την υποδοχή GND του αισθητήρα στην υποδοχή GND του Arduino. Συνήθως βάζουμε μαύρα ή σκούρα καφέ καλώδια για αυτές τις συνδέσεις.
  • Ένα καλώδιο για την μεταφορά δεδομένων, από την υποδοχή A0 του αισθητήρα στην υποδοχή Α0 του Arduino.
Σχηματικό σύνδεσης με το Arduino

Αισθητήρας υγρασίας εδάφους

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

  • Όσο περισσότερο νερό υπάρχει στο χώμα τόσο περισσότερη αγωγιμότητα έχουν και λιγότερη αντίσταση στο ρεύμα.
  • Όσο λιγότερο νερό υπάρχει στο χώμα τόσο μικρότερη αγωγιμότητα έχουν και μεγαλύτερη αντίσταση στο ρεύμα.
Βλέπουμε πως αλλάζει η αντίσταση του αισθητήρα στο ρεύμα ανάλογα με την ποσότητα υγρασίας στο χώμα. Εικόνα από τους Last minute engineers

Για να συνδέσουμε τον αισθητήρα με το Arduino θα χρειαστούμε και εδώ τρία καλώδια:

  • Ένα καλώδιο για την παροχή ρεύματος 5V από την υποδοχή VCC του αισθητήρα στην υποδοχή 5V του Arduino. Συνήθως βάζουμε κόκκινα καλώδια για αυτές τις συνδέσεις.
  • Ένα καλώδιο για την γείωση ώστε να κλείσει το κύκλωμα, από την υποδοχή GND του αισθητήρα στην υποδοχή GND του Arduino. Συνήθως βάζουμε μαύρα ή σκούρα καφέ καλώδια για αυτές τις συνδέσεις.
  • Ένα καλώδιο για την μεταφορά δεδομένων, από την υποδοχή A0 του αισθητήρα στην υποδοχή Α0 του Arduino.
Σχηματικό σύνδεσης με το Arduino

Αισθητήρας στάθμης νερού

Ο αισθητήρας στάθμης νερού διαθέτει μια επιφάνεια η οποία μπορεί να αντιληφθεί το σημείο στο οποίο είναι καλυμμένη με νερό με τον παρακάτω τρόπο:

  • Όσο περισσότερο νερό υπάρχει στο δοχείο τόσο περισσότερη αγωγιμότητα έχει και λιγότερη αντίσταση στο ρεύμα.
  • Όσο λιγότερο νερό υπάρχει στο δοχείο τόσο μικρότερη αγωγιμότητα έχει και μεγαλύτερη αντίσταση στο ρεύμα.
Βλέπουμε πως αλλάζει η αντίσταση του αισθητήρα στο ρεύμα ανάλογα με την ποσότητα υγρασίας στο χώμα. Εικόνα από τους Last minute engineers

Για να συνδέσουμε τον αισθητήρα με το Arduino θα χρειαστούμε και εδώ τρία καλώδια:

  • Ένα καλώδιο για την παροχή ρεύματος 5V από την υποδοχή + του αισθητήρα στην υποδοχή 5V του Arduino. Συνήθως βάζουμε κόκκινα καλώδια για αυτές τις συνδέσεις.
  • Ένα καλώδιο για την γείωση ώστε να κλείσει το κύκλωμα, από την υποδοχή του αισθητήρα στην υποδοχή GND του Arduino. Συνήθως βάζουμε μαύρα ή σκούρα καφέ καλώδια για αυτές τις συνδέσεις.
  • Ένα καλώδιο για την μεταφορά δεδομένων, από την υποδοχή S του αισθητήρα στην υποδοχή Α0 του Arduino.
Σχηματικό σύνδεσης με το Arduino

Σύνδεση Arduino με υπολογιστή

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

Αρχικά θα πρέπει να συνδέσουμε το Arduino με τον υπολογιστή μας με το καλώδιο USB και να ανοίξουμε το Pictoblox. Αφού ανοίξουμε το Pictoblox, επιλέγουμε από το μενού το board και εκεί διαλέγουμε το Arduino UNO.

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

Προγραμματισμός

Ωραία συνδεθήκαμε! Και τώρα τι; Θα πρέπει να δώσουμε οδηγίες στο Arduino ώστε να πάρει τις τιμές που στέλνει ο αισθητήρας και να τις κάνουμε εμείς κάτι στο Pictoblox. Μπορούμε για παράδειγμα να βάλουμε έναν χαρακτήρα να μας τις λέει! Το πρόγραμμα είναι αρκετά απλό. Θέλουμε διαρκώς ο χαρακτήρας μας να λέει (χρησιμοποιώντας την εντολή πες από τις όψεις), την τιμή του αισθητήρα που παίρνει με την εντολή read analog sensor, η οποία βρίσκεται στην κατηγορία Sensors.

Η εντολή read analog sensor έχει δυο παραμέτρους. Η πρώτη αφορά το είδος του αισθητήρα που έχουμε συνδέσει και η δεύτερη είναι η υποδοχή του Arduino στην οποία έχουμε συνδέσει τον αισθητήρα. Βλέπουμε ότι στις επιλογές του είδους του αισθητήρα έχει τον αισθητήρα βροχόπτωσης (raindrop) και τον αισθητήρα υγρασίας εδάφους (soil moisture), αλλά δεν έχει τον αισθητήρα στάθμης του νερού. Σε αυτή την περίπτωση επιλέγου το generic, που σημαίνει γενικά κάποιος αισθητήρας.

Για να μπορέσουμε να εκτελέσουμε το πρόγραμμα μας, θα πρέπει πρώτα να στείλουμε στο Arduino τις απαραίτητες οδηγίες πατώντας το πλήκτρο upload firmware, όπως φαίνεται στην παρακάτω εικόνα.

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

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γιατί δεν ξεκινάτε τη συζήτηση;

Αφήστε μια απάντηση