Πίνακας περιεχομένων:

Μετεωρολογικός σταθμός δωματίου χρησιμοποιώντας Arduino & BME280: 4 βήματα
Μετεωρολογικός σταθμός δωματίου χρησιμοποιώντας Arduino & BME280: 4 βήματα

Βίντεο: Μετεωρολογικός σταθμός δωματίου χρησιμοποιώντας Arduino & BME280: 4 βήματα

Βίντεο: Μετεωρολογικός σταθμός δωματίου χρησιμοποιώντας Arduino & BME280: 4 βήματα
Βίντεο: Ασύρματος Μετεωρολογικός Σταθμός Ψηφιακός. 2024, Νοέμβριος
Anonim
Μετεωρολογικός σταθμός δωματίου χρησιμοποιώντας Arduino & BME280
Μετεωρολογικός σταθμός δωματίου χρησιμοποιώντας Arduino & BME280

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

Έτσι, χωρίς να χάσουμε άλλο χρόνο, ας ξεκινήσουμε.

Βήμα 1: Απαιτήσεις:

Απαιτήσεις
Απαιτήσεις
Απαιτήσεις
Απαιτήσεις
Απαιτήσεις
Απαιτήσεις
Απαιτήσεις
Απαιτήσεις

Εδώ είναι η λίστα με τα μέρη που θα χρησιμοποιήσουμε για την κατασκευή.

  • Αισθητήρας GY-BME280 …………… (Amazon US / Amazon EU)
  • Arduino UNO …………………….. (Amazon US / Amazon EU)
  • Arduino Pro Mini ………………… (Amazon US / Amazon EU)
  • OLED 128*64 Οθόνη …………. (Amazon US/ Amazon EU)
  • Breadboard με άλτες ……. (Amazon US / Amazon EU)

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

  • Arduino IDE
  • Βιβλιοθήκη Adafruit_BME280.h
  • Βιβλιοθήκη Adafruit_SH1106.h
  • Βιβλιοθήκη Adafruit_GFX.h

Βήμα 2: Συνδέσεις:

Συνδέσεις
Συνδέσεις
Συνδέσεις
Συνδέσεις
Συνδέσεις
Συνδέσεις

Θα χρησιμοποιήσουμε σύνδεση I2C για επικοινωνία μεταξύ των συσκευών. Το I2C χρησιμοποιεί 2 ακίδες Serial Data (SDA) και Serial Clock (SCL) για επικοινωνία. Έτσι, στις συνδέσεις έχω συνδέσει τις ακίδες με την ακόλουθη διαμόρφωση:

  • SDA = A5
  • SCL = A4
  • GND = GND
  • VCC = 3,3v

Οι συνδέσεις είναι ίδιες για το Arduino UNO και το Pro Mini.

Βήμα 3: Κωδικοποίηση:

Κωδικοποίηση
Κωδικοποίηση
Κωδικοποίηση
Κωδικοποίηση

Πριν από τη μεταφόρτωση οποιουδήποτε κώδικα, πρέπει να εγκαταστήσουμε τις απαιτούμενες βιβλιοθήκες. Για να εγκαταστήσουμε βιβλιοθήκες Goto >> Tools >> Manage Libraries

Στο πλαίσιο αναζήτησης εισαγάγετε το όνομα των βιβλιοθηκών και εγκαταστήστε τα όλα ένα προς ένα.

Μετά την εγκατάσταση των βιβλιοθηκών επανεκκινήστε το IDE.

ΣΗΜΕΙΩΣΗ: Οι βιβλιοθήκες και ο κώδικας είναι για τη μονάδα αισθητήρα και OLED που έχω χρησιμοποιήσει (οι σύνδεσμοι παρέχονται στο προηγούμενο βήμα). Εάν χρησιμοποιείτε άλλες ενότητες, ανατρέξτε στα φύλλα δεδομένων για να μάθετε ποιες βιβλιοθήκες χρησιμοποιούνται.

Γράψτε τον παρακάτω κώδικα σε νέο αρχείο στο Arduino IDE:

#περιλαμβάνω

#include #include #include #define OLED_RESET 4 Adafruit_SH1106 display (OLED_RESET)? Adafruit_BME280 bme; void setup () {Serial.begin (9600); display.begin (SH1106_SWITCHCAPVCC, 0x3C); display.setFont (& FreeSerif9pt7b); display.display (); καθυστέρηση (2000). display.clearDisplay (); if (! bme.begin (0x76)) {Serial.println ("Δεν βρέθηκε έγκυρος αισθητήρας BME280, ελέγξτε την καλωδίωση!"); ενώ (1)? }} void loop () {display.clearDisplay (); Serial.print ("Θερμοκρασία ="); Serial.print (bme.readTemperature ()); // εκτυπώνει σε * C //Serial.print (bme.readTemperature () * 9 /5 + 32); // εκτυπώνει σε *F Serial.println (" *C"); display.setTextSize (1); display.setTextColor (ΛΕΥΚΟ); display.setCursor (0, 15); display.print ("Temp:"); display.print ((int) bme.readTemperature ()); // εκτυπώνει σε * C //display.print (bme.readTemperature () * 9 /5 + 32); // εκτυπώνει σε *F display.println (" *C"); display.display (); Serial.print ("Πίεση ="); Serial.print (bme.readPressure ()/100.0F); Serial.println ("hPa"); display.setTextSize (1); display.setTextColor (ΛΕΥΚΟ); display.print ("Πατήστε:"); display.print (bme.readPressure ()/100.0F); display.println ("Pa"); display.display (); Serial.print ("Υγρασία ="); Serial.print (bme.readHumidity ()); Serial.println ("%"); display.setTextSize (1); display.setTextColor (ΛΕΥΚΟ); display.print ("Hum:"); display.print ((int) bme.readHumidity ()); display.println ("%"); display.display (); Serial.println (); καθυστέρηση (1000)? }

Συνδέστε το arduino στον υπολογιστή σας, επιλέξτε τη σωστή θύρα και πατήστε upload. Μετά από μερικά δευτερόλεπτα θα πρέπει να δείτε την οθόνη να ενεργοποιείται.

Βήμα 4: Τελική σημείωση:

Τελική σημείωση
Τελική σημείωση

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

Εάν ενδιαφέρεστε για τη ρομποτική και θέλετε να φτιάξετε ένα απλό ρομπότ, ελέγξτε το ebook μου "Mini WiFi Robot". Έχει βήμα προς βήμα οδηγίες για την κατασκευή ενός απλού ρομπότ που μπορεί να ελεγχθεί μέσω δικτύου WiFi.

Ελπίζω ότι αυτό το διδακτικό είναι ενημερωτικό. Εάν έχετε οποιαδήποτε αμφιβολία, μη διστάσετε να ρωτήσετε στα σχόλια.

Συνιστάται: