Πληροφορίες για την παλαιότερη έκδοση του συστήματος μας που πλέον έχει αντικατασταθεί.

Κεντρική μονάδα

Η κεντρική μονάδα ελέγχεται από το Arduino Nano.

Αισθητήρες

  • Θερμοκρασία, υγρασία, βαρομετρική πίεση και υψόμετρο: Χρησιμοποιήσουμε τον αισθητήρα BME280 Environmental Sensor της WaveShare, ο οποίος μπορεί να μετρήσει και την βαρομετρική πίεση και κατά συνέπεια να υπολογίσει και το υψόμετρο στο οποίο βρισκόμαστε. Ο συγκεκριμένος αισθητήρας μπορεί να συνδεθεί στο Arduino είτε μέσω I2C είτε μέσω SPI. Εμείς χρησιμοποιήσαμε την σύνδεση μέσω I2C η οποία απαιτεί δυο pin (A4 και Α5) από το Arduino Nano.
Αιαθητήρας bme280Arduino Nano
SDA (Δεδομένα)A4
SCL (Ρολόι)A5
VCC (Τροφοδοσία)5V
GND (Γείωση)GND
  • Μικροσωματίδια: Για την μέτρηση των μικροσωματιδίων που αιωρούνται στην ατμόσφαιρα χρησιμοποιήσαμε τον αισθητήρα Waveshare Sharp GP2Y1010AU0F Dust Sensor. Ο συγκεκριμένος επιστρέφει συγκεντρώσεις μικροσωματιδιών σε mg ανά κυβικό μέτρο χρησιμοποιώντας το δοκιμαστικό πρόγραμμα που υπάρχει στην σελίδα wiki. Για την σύνδεση με το Arduino χρειάζεται ένα αναλογικό pin για τα δεδομένα της μέτρησης, καθώς και ένα ψηφιακό pin το οποίο συνδέεται με το εσωτερικό led που διαθέτει ο αισθητήρας.
Αισθητήρας Sharp GP2Y1010AU0FArduino Nano
Aout (Δεδομένα)A2
Iled (Φως led)D10
VCC (Τροφοδοσία)5V
GND (Γείωση)GND

Σύστημα Bluetooth

Για την σύνδεση της συσκευής μας με το κινητό τηλέφωνο χρησιμοποιήσαμε την μονάδα HC-05 και την βιβλιοθήκη Software Serial για να στέλνουμε τα δεδομένα των μετρήσεων στην εφαρμογή μας. Η μονάδα HC-05 χρειάζεται δυο pin από το Arduino τα οποία είναι το RX και TX για αποστολή και λήψη δεδομένων. Επειδή δεν θέλουμε να τα δεσμεύσουμε, αφού θα τα χρειαστούμε για την επικοινωνία του Arduino με τον υπολογιστή όσο φτιάχνουμε το πρόγραμμα μας, χρησιμοποιούμε την βιβλιοθήκη Software Serial η οποία μας δίνει τη δυνατότητα να χρησιμοποιήσουμε οποιαδήποτε ψηφιακά pin από το Arduino. Επίσης θα πρέπει να προσέξουμε κατά την σύνδεση του pin RX της μονάδας HC-05 να μειώσουμε την τάση στα 3.3V γιατί αλλιώς μπορεί η μονάδα να μην λειτουργεί καλά. Περισσότερες πληροφορίες για την μονάδα HC-05 μπορείτε να δείτε σε αυτό το άρθρο.

Μονάδα Bluetooth HC-05Arduino Nano
TX (Αποστολή δεδομένων)D8
RX (Λήψη δεδομένων)D9 με διαίρεση τάσης
VCC (Τροφοδοσία)5V
GND (Γείωση)GND

Μπαταρία και φόρτιση

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

  • Συνδέσαμε το ηλιακό πάνελ με την μονάδα CN3065 Solar Lithium Battery Charger και συγκεκριμένα με την υποδοχή Solar.
  • Συνδέσαμε την μπαταρία με την μονάδα CN3065 Solar Lithium Battery Charger και συγκεκριμένα με την υποδοχή Battery. Με αυτές τις δυο συνδέσεις εξασφαλίζουμε την φόρτιση της μπαταρίας από το ηλιακό πάνελ ανεξάρτητα με το αν είναι η συσκευή ανοιχτή ή όχι.
  • Συνδέσαμε το καλώδιο + από την υποδοχή System του CN3065 Solar Lithium Battery Charger με την μια υποδοχή από το πλήκτρο on/off. Έτσι όταν ο διακόπτης είναι κλειστός δεν μπορεί το ρεύμα να περάσει από την μπαταρία παρακάτω στο σύστημα.
  • Συνδέσαμε την άλλη υποδοχή του πλήκτρου on/off με την υποδοχή Vi (Vin) της μονάδας DC-DC Step up. Αυτή η υποδοχή παίρνει το ρεύμα χαμηλής τάσης της μπαταρίας (3,7V) για να το μετατρέψει σε τάση 5V.
  • Συνδέσαμε την υποδοχή Vo (Vout) της μονάδας DC-DC Step up στέλνει το ρεύμα στη νέα τάση (5V), με την υποδοχή 5V του Arduino Nano. Είναι σημαντικό να το συνδέσουμε στο pin 5V του Arduino και όχι στο Vin, αφού το Vin θέλει παραπάνω τάση.
  • Συνδέσαμε την υποδοχή γείωσης (δεν έχει ένδειξη) της μονάδας DC-DC Step up με την υποδοχή GND του Arduino Nano.
  • Συνδέσαμε το καλώδιο – από την υποδοχή System του CN3065 Solar Lithium Battery Charger με την γείωση του Arduino Nano.

Σχεδιασμός και κατασκευή κουτιού

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

Μετά τις επιτυχημένες δοκιμές ξεκινήσαμε να σχεδιάζουμε το δικό μας κουτί. Τα πρώτα σχέδια έγιναν στο TinkerCAD και είχαμε ως σκοπό να χρησιμοποιήσουμε τον μοναδικό 3Δ εκτυπωτή του ομίλου που είχαμε στην διάθεση μας εκείνη την εποχή. Με το που ξεκινήσαμε τις πρώτες δοκιμαστικές εκτυπώσεις, ο εκτυπωτής παρουσίασε αρκετά προβλήματα (πολλά στοιχεία του που είναι και αυτά εκτυπωμένα σε PLA είχαν σπάσει ή ραγίσει) και δυστυχώς δεν ήταν αξιόπιστη λύση.

Για αυτόν τον λόγο αποφασίσαμε να χρησιμοποιήσουμε ένα μηχάνημα CNC Router το οποίο μας διέθεσε ιδιώτης. Για να υλοποιήσουμε τα σχέδια που απαιτούνται για το CNC Cutter χρησιμοποιήσαμε την πλατφόρμα Boxes.py η οποία παράγει διανυσματικά σχέδια έτοιμα για κοπή. Τα αρχεία αυτά μπορούμε να τα τροποποιήσουμε στο Inkscape για να προσθέσουμε διακόσμηση και επιπλέον στοιχεία.

Από την στιγμή που αποφασίσαμε να αντικαταστήσουμε το powerbank με μπαταρία λιθίου και ηλιακό πάνελ αλλάξαμε εντελώς και τον σχεδιασμό του κουτιού. Παράλληλα το εργαστήριο μας εξοπλίστηκε με άλλους δύο 3D εκτυπωτές που προήλθαν από χορηγίες και πλέον μπορούσαμε να εκτυπώσουμε με άνεση και ευκολία τα σχέδια μας. Όλα τα ηλεκτρονικά στοιχεία της κατασκευής μας βρίσκονται τοποθετημένα μέσα στο κουτί το οποίο στηρίζεται πάνω στο ποδήλατο. Για τον σχεδιασμό του κουτιού χρησιμοποιήσαμε την πλατφόρμα TinkerCAD και δημιουργήσαμε διάφορα σχέδια μέχρι να καταλήξουμε στην τελική μορφή. Το κουτί έχει διαστάσεις:

  • 12,6 εκατοστά μήκος
  • 6,6 εκατοστά πλάτος και
  • 7,6 εκατοστά ύψος

Το βασικό αντικείμενο που χρησιμοποιήσαμε ήταν το Project Box από την κατηγορία All shape generators, με το οποίο δημιουργήσαμε εύκολα το κουτί και το συρόμενο καπάκι του. Στη συνέχεια χρησιμοποιήσαμε απλά γεωμετρικά σχήματα για να δημιουργήσουμε διαμερίσματα για τους αισθητήρες και τα υπόλοιπα ηλεκτρονικά στοιχεία. Επίσης στο καπάκι του κουτιού δημιουργήσαμε μια εσοχή για να ταιριάζει το ηλιακό πάνελ, καθώς και ένα άνοιγμα για να περνάν τα καλώδια του και να μπορούν να συνδεθούν με την πλακέτα φόρτισης της μπαταρίας. Μπορείτε να δείτε παρακάτω το τρισδιάστατο αρχείο στο οποίο υπάρχει το κουτί μαζί με τα στοιχεία που περιλαμβάνει.

Παράλληλα δημιουργήσαμε και ένα σχέδιο για τα στηρίγματα του ποδηλάτου. Δυο στηρίγματα τοποθετούνται πάνω στο ποδήλατο χρησιμοποιώντας απλά πλαστικά δεματικά και το κουτί πλέον μπορεί να τοποθετηθεί πάνω τους.

Εφαρμογή

Η συσκευή επικοινωνεί με το κινητό μας τηλέφωνο μέσα από την εφαρμογή που έχουν αναπτύξει. Χρησιμοποιήσαμε το AppInventor στο οποίο είχαμε εμπειρία για να σχεδιάσουμε και να αναπτύξουμε την εφαρμογή. Τα βασικά συστατικά που χρησιμοποιήσαμε ήταν:

  • Bluetooth client για την διαχείριση της σύνδεσης bluetooth με το κινητό
  • Location Sensor για να μπορούμε να πάρουμε γεωγραφικά δεδομένα από το GPS
  • Firebase component για την αποθήκευση των δεδομένων σε απομακρυσμένη βάση
  • Text to Speech και Speech recognizer για τις φωνητικές εντολές

Μπορείτε να κατεβάσετε και να δείτε το πρόγραμμα μας (χρειάζεται να έχετε λογαριασμό στο AppInventor).

Χάρτης αποτελεσμάτων

Για τη δημιουργία του χάρτη όπου θα εμφανίζονται τα αποτελέσματα επιλέξαμε την χρήση της υπηρεσίας Open Street Map μαζί με την βιβλιοθήκη Leaflet JS.

Τον τελικό κώδικα της σελίδας με τον χάρτη αποτελεσμάτων, μπορείτε να τον δείτε στο αποθετήριο μας στο Github.