Ο μετεωρολογικός σταθμός καταγράφει 8 μετεωρολογικά μεγέθη. Σε σχέση με τον αρχικό σχεδιασμό δεν βάλαμε τον αισθητήρα καταμέτρησης κεραυνών διότι δεν βρήκαμε τον αισθητήρα στην ελληνική αγορά. Ακολουθεί το block διάγραμμα της μονάδας και η τελική υλοποίηση σε λειτουργία:
![]() |
![]() |
Στις ακόλουθες εικόνες φαίνεται η κατασκευή του πρωτοτύπου σε πλακέτα perfboard.
![]() |
![]() |
Ακολουθεί η περιγραφή όλων των οργανών και παρουσιάζεται ο τρόπος κατασκευής τα σχέδια και ο τρόπος βαθμονόμησης:
Το ανεμόμετρο μετράει την ταχύτητα του ανέμου. Την ιδέα την βρήκαμε στο https://www.yoctopuce.com/EN/article/how-to-measure-wind-part-1 και τα αρχεία για την εκτύπωση 3D υπάρχουν στον κατάλογο 3D.
- Ρουλεμάν. Τα δύο ρουλεμάν έχουν διαστάσεις 9mm(εξωτερ.), 5mm(εσωτερ.), 3mm(ύψος) και προέρχονται από κεφαλές παλαιών HDD 3,5".
- Άξονας. Για άξονα χρησιμοποιήσαμε βίδα 5mm(4,9) και την κόψαμε σε μήκος 51mm. Στο κάτω άκρο χαράξαμε εγκοπή ώστε να μπαίνει πλακέ κατσαβίδι.
- Επειδή υπάρχουν μικρά κενά στην εφαρμογή των ρουλεμάν με την φωλιά, κόβουμε κομμάτι αυτοκόλλητης αλουμινοταινίας 4,5mm x 100mm και τυλίγουμε 2-3 στροφές στην εξωτερική πλευρά των ρουλεμάν.
- Το ίδιο γίνεται και στον άξονα στα δύο σημεία που εφάπτεται με τα ρουλεμάν. Ταινία αλουμινίου 6,5mm x 56mm και τυλίγουμε 2 στροφές στον άξονα.
- Μεγαλώνουμε τις οπές στα καπάκια πάνω και κάτω σε διάμετρο 6,6 - 7mm ώστε να περνάει άνετα ο άξονας.
- Στον εσωτερικό δίσκο με τις 4 σχισμές μεγαλώνουμε την κεντρική οπή σε 4mm και με σπειροτόμο 5mm κάνουμε στροφές. Για σταθεροποίηση, από την πάνω πλευρά βάζουμε ροδέλα στην οποία έχουμε κάνει στροφές και βιδώνει κόντρα.
- Στον ρότορα με τα κουτάλια μεγαλώνουμε την οπή σε 4mm και κάνουμε στροφές.
- Ο εσωτερικός δίσκος βιδώνεται στον άξονα. Το ίδιο γίνεται και στον ρότορα κρατώντας με κατσαβίδι πλακέ τον άξονα από κάτω.
- Για φωτοδίοδο και φωτοτρανζίστορ χρησιμοποιούμε το υπέρυθρο TCRT5000. Βγάζουμε τα δύο στοιχεία από το πλαστικό πλαίσιο και βάζουμε το φωτοτρανζίστορ από την πάνω πλευρά και την φωτοδίοδο από την κάτω.
- Η φωτοδίοδος συνδέεται στα +5V μέσω αντιστάτη 220Ω και ο συλλέκτης του τρανζίστορ πάει στα +5V. Στην πλακέτα ο εκπομπός γειώνεται μέσω αντιστάτη pulldown 1Κ.
Για την σύνδεση με την πλακέτα θέλουμε 3 καλώδια (5V, GND και τα δεδομένα από τον εκπομπό του φωτοτρανζίστορ που είναι παλμοί μεταβλητής συχνότητας ανάλογα με την ταχύτητα περιστροφής του ρότορα.)
![]() |
![]() |
![]() |
![]() |
Μια μέρα με άπνοια τοποθετούμε το ανεμόμετρο σταθερά σε ένα αυτοκίνητο. Προσοχή !!! πρέπει να δεθεί πολύ σταθερά ώστε να αποφύγουμε ατυχήματα. Επίσης πρέπει να είναι αρκετά πάνω από την οροφή. Με ένα φορητό υπολογιστή συνδεδεμένο στο Arduino nano και παρουσιάζοντας τις μετρήσεις στο πρόγραμμα τερματικού PUTTY μετράμε τις στροφές / λεπτό της περιστροφής του ρότορα. (Για μια στροφή έχουμε 4 διακοπές). Καταγράφουμε τα rpm για ταχύτητες από 10 - 80Km/h με βήμα ανά 10Km/h. Αν υπάρχει μη γραμμική σχέση βάζουμε αυτές τις τιμές σε πίνακα και υπολογίζουμε τις ενδιάμεσες τιμές.
Ο ανεμοδείκτης δείχνει την κατεύθυνση του ανέμου. Την ιδέα την βρήκαμε στο https://www.yoctopuce.com/EN/article/how-to-measure-wind-part-2 και τα αρχεία για την εκτύπωση 3D υπάρχουν στον κατάλογο 3D. Ο ανεμοδείκτης μας χρησιμοποιεί την τεχνική του κώδικα Gray και συγκεκριμένα το Single Track Gray Code (STGC). Εδώ έχουμε 5 υπέρυθρα Led στο κάτω μέρος του οργάνου τα οποίο επισκιάζονται ή όχι ανάλογα με την θέση του δίσκου. Οι τρεις οπές του δίσκου έχουν μήκη σύμφωνα με τον κώδικα Gray 5 bit. Από την πάνω πλευρά υπάρχουν 5 υπέρυθρα φωτοτρανζίστορ ακριβώς απέναντι από καθένα Led. Οι δυνατοί συνδιασμοί που παράγονται με 5 bits είναι 32, αλλά σύμφωνα με τον τροποποιημένο κώδικα μπορούμε να έχουμε 30 συνδιασμούς. Δηλαδή 360 μοίρες / 30 = 12 μοίρες. Επομένως μπορούμε να ανιχνεύσουμε 30 διαφορετικές διευθύνσεις του ανέμου το οποίο είναι υπέρ αρκετό. Για τα υπέρυθρα Led και φωτοτρανζίστορ χρησιμοποιήθηκαν 5 TCRT5000. Εδώ στο αρχείο υπάρχουν οι συνδιασμοί του τροποποιημένου κώδικα που χρησιμοποιήσαμε.
Οι τροποποιήσεις είναι ίδιες με αυτές του ανεμόμετρου.
Για την σύνδεση με την πλακέτα θέλουμε 7 καλώδια (5V, GND και τα δεδομένα των 5 bits του κώδικα Gray.)
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Η βαθμονόμηση του ανεμοδείκτη είναι εύκολη. Φροντίζουμε να περιστρέψουμε όλο το σώμα του ανεμοδείκτη έτσι ώστε όταν ο ανεμοδείκτης είναι στραμμένος στις 0 μοίρες να δείχνει στον βορά.
Ο μετρητής ύψους βροχής μετράει την βροχόπτωση σε χιλιοστά. Τα αρχεία για την εκτύπωση 3D υπάρχουν στον κατάλογο 3D. Το νερό συλλέγεται από ένα χωνί διαμέτρου 9,6cm και οδηγείται σε ένα μηχανισμό τραμπάλας με δύο μικρά δοχεία στα άκρα. Όταν το δοχείο γεμίσει, η τραμπάλα γυρίζει λόγω της βαρύτητας και αδειάζει το νερό, ενώ το άλλο άκρο έχει ανέβει και γεμίζει από το χωνί. Όσο πιο πολύ είναι το νερό τόσο γρηγορότερα πάλλεται η τραμπάλα. Στα δύο άκρα έχουν τοποθετηθεί δύο μικροί μαγνήτες ίδιου βάρους. Εμείς ανιχνεύουμε τις ταλαντώσεις του ενός άκρου με έναν αισθητήρα hall. Το παλμικό σήμα οδηγείται σε ένα pin του arduino με δυνατότητα διακοπής. (External interrupt)
Για άξονα χρησιμοποιήσαμε μια βίδα διαμέτρου 3mm και για μαγνήτες βάλαμε μικρά κομματάκια από μαγνήτη κίνησης της κεφαλής ενός σκληρού δίσκου. Σπάμε τον μαγνήτη σε μικρά κομμάτια ίδιου μεγέθους. Από τους δύο μαγνήτες μόνο ο ένας χρησιμοποιείται ενώ ο άλλος λειτουργεί ως αντίβαρο. Επίσης πρέπει να προσέξουμε στην τοποθέτηση των πόλων του ενεργού μαγνήτη ώστε το μαγνητικό πεδίο να επιδρά στον αισθητήρα hall.
Για την σύνδεση με την πλακέτα θέλουμε 3 καλώδια (5V, GND και το παλμικό σήμα)
![]() |
![]() |
Με μια σύριγγα στάζουμε νερό στην τραμπάλα και βρίσκουμε τα ml που χρειάζονται για να αλλάξει η κατάσταση. Είδαμε ότι με 3 ml αλλάζει η ισορροπία της τραμπάλας. Για μεγαλύτερη ακρίβεια χρησιμοποιούμε μια σύριγγα 20ml και στάζουμε αργά νερό στο χωνί και μετράμε παλμούς. Έτσι μετρήσαμε ότι για 20ml κάνει 7 παλμούς και για 40ml κάνει 14 παλμούς. Δηλαδή 20 / 7 = 2,9ml ανά παλμό. Επειδή κάνουμε διακοπή στον microcontroller με κάθοδο παλμού τότε για 3ml θα μετρήσει ένα παλμό. Και τώρα λίγοι υπολογισμοί:
Διάμετρος χωνιού 9,6cm δηλαδή ακτίνα 4,8cm δηλαδή εμβαδόν = π*r2 = 3.14 * 4,82 = 72,4cm2. Επομένως αν το ύψος νερού είναι 10mm = 1cm τότε ο όγκος θα είναι 72,4cm2 * 1cm = 72,4cm3 ή 72,4ml. 72,4ml / 3ml = 24 παλμοί. Και σύμφωνα με τα παραπάνω δημιουργείται ο ακόλουθος πίνακας.
| Ύψος | Όγκος | Παλμοί |
| 10mm | 72,4ml | 24 |
| 20mm | 144,8ml | 46 |
| 30mm | 217,2ml | 72 |
| 40mm | 290ml | 96 |
| 50mm | 362,4ml | 120 |
Αν σε μια ώρα μετρήσουμε π.χ. 10 παλμούς τότε έχουμε 10 * 3 = 30ml / 7,24 = 4,1mm ύψος βροχής. Για κάθε 1mm ύψος βροχής ο μικροελεγκτής δέχεται 2,5 παλμούς. Ή για κάθε 1mm βροχής έχουμε όγκο 7,24ml => 7,24 / 2,9 = 2,5 παλμοί.
Οι αισθητήρες αυτοί τοποθετούνται σε μια μικρή πλακέτα η οποία με την σειρά της τοποθετείται μέσα στον μετεωρολογικό κλωβό τύπου Stevenson που εκτυπώσαμε στον εκτυπωτή 3D. Για την θερμοκρασία και την ατμοσφαιρική πίεση χρησιμοποιήσαμε τον αισθητήρα BMP280 ο οποίος συνδέεται με το Arduino nano με διασύνδεση IIC. Για μέτρηση της σχετικής υγρασίας χρησιμοποιήσαμε τον αισθητήρα DHT11 ο οποίος παρέχει επιπλέον και μέτρηση θερμοκρασίας. Ο DHT11 συνδέεται με ένα ξεχωριστό σειριακό δίαυλο.
![]() |
![]() |
Για την μέτρηση του δείκτη υπέρυθρης ακτινοβολίας UV έχουμε την δυνατότητα να χρησιμοποιήσουμε δύο αισθητήρες. Τον αναλογικό SEN0162 ο οποίος συνδέεται σε μια αναλογική είσοδο του arduino nano ή τον ψηφιακό VEML6075 ο οποίος συνδέεται με δίαυλο IIC και είναι πολύ πιο ακριβής και ευαίσθητος από τον πρώτο. Εμείς στην τελική φάση προτιμήσαμε τον ψηφιακό.
Για την μέτρηση της έντασης ηλιακής ακτινοβολίας πρέπει να χρησιμοποιηθεί ένα ειδικό όργανο που ονομάζεται πυρανόμετρο. Επειδή έχει υψηλό κόστος προτιμήσαμε να βάλουμε ένα μικρό φωτοβολταϊκό 3x3cm το οποίο συνδέεται σε μια αναλογική είσοδο. Με την μέθοδο αυτή δεν έχουμε καλή ακρίβεια αλλά αρκετή για ένα μαθητικό έργο. Και τα δύο όργανα και ειδικά ο μετρητής ακτινοβολίας UV πρέπει να τοποθετηθούν έξω από κάθε κουτί ή τζάμι γιατί έχουμε μεγάλη απόσβεση της ακτινοβολίας UV. Για να προστατέψουμε τον αισθητήρα από την υγρασία τον περνάμε πολλές στρώσεις διάφανο πλαστικοποιητικό σπρέυ εκτός από το παραθυράκι για την είσοδο του φωτός.
![]() |
![]() |
Το λογισμικό όπως και στα άλλα υποσυστήματα είναι γραμμένο σε γλώσσα wiring (c - c++) και για τους δύο microcontrollers. Επιπλέον υπάρχει και αρκετή HTML, CSS και JavaScript (JQuery) για την υλοποίηση του web interface.
![]() |
![]() |
Βίντεο δοκιμών του μετεωρολογικού σταθμού





























