Arduino Masterclass - Μάθημα 2.2: Ποιότητα Αέρα (Air Quality) 🌬️
Στο προηγούμενο μάθημα είδαμε τον MQ-135. Σήμερα, ανεβαίνουμε επίπεδο με τον Sensirion SCD40. Αυτός ο αισθητήρας χρησιμοποιεί φωτοακουστική τεχνολογία για να μετρήσει τα πραγματικά μόρια του
🛠️ Τι θα χρειαστούμε;
Arduino Uno ή ESP32.
Αισθητήρας SCD40 (I2C interface).
Καλώδια Jumper.
🔌 Η Συνδεσμολογία (I2C)
Ο SCD40 επικοινωνεί μέσω του πρωτοκόλλου I2C, οπότε χρειαζόμαστε μόνο 4 καλώδια:
VCC ➡️ 3.3V ή 5V (ανάλογα το breakout)
GND ➡️ GND
SCL ➡️ Arduino A5 (ή SCL pin)
SDA ➡️ Arduino A4 (ή SDA pin)
💻 Ο Κώδικας (SCD4x Basic Reading)
Θα χρειαστείτε τη βιβλιοθήκη "Sensirion I2C SCD4x" από το Library Manager του Arduino IDE.
/*
* Unique Tech - Arduino Masterclass
* Lesson 2.2b: True CO2 with Sensirion SCD40
* Χρήση βιβλιοθήκης Sensirion I2C SCD4x
*/
#include <Arduino.h>
#include <SensirionI2cScd4x.h>
#include <Wire.h>
SensirionI2cScd4x scd4x;
void setup() {
Serial.begin(115200);
Wire.begin();
scd4x.begin(Wire);
// Σταμάτημα προηγούμενων μετρήσεων
scd4x.stopPeriodicMeasurement();
// Έναρξη μετρήσεων (κάθε 5 δευτερόλεπτα)
uint16_t error = scd4x.startPeriodicMeasurement();
if (error) {
Serial.print("Error starting measurement: ");
Serial.println(error);
}
Serial.println("SCD40 Initialized. Waiting for first reading...");
}
void loop() {
uint16_t co2;
float temperature;
float humidity;
// Διάβασμα δεδομένων
uint16_t error = scd4x.readMeasurement(co2, temperature, humidity);
if (error) {
Serial.print("Error reading measurement: ");
} else if (co2 == 0) {
Serial.println("Invalid sample detected.");
} else {
Serial.print("CO2: ");
Serial.print(co2);
Serial.print(" ppm | Temp: ");
Serial.print(temperature);
Serial.print(" °C | Humidity: ");
Serial.print(humidity);
Serial.println(" %");
}
delay(5000); // Ο SCD40 ανανεώνει κάθε 5 δευτερόλεπτα
}
Βρες το πλήρες αποθετήριο στο GitHub!🚀 Unique Tech Pro-Tips (Project MLA Insights)
Αυτόματη Βαθμονόμηση (ASC): Ο SCD40 έχει ενσωματωμένο αλγόριθμο που αυτο-ρυθμίζεται αν εκτίθεται σε φρέσκο αέρα για λίγες ώρες την εβδομάδα.
Θερμοκρασία: Ο αισθητήρας ζεσταίνεται ελαφρώς κατά τη λειτουργία. Στο MLA, χρησιμοποιούμε offset στον κώδικα για να διορθώνουμε τη θερμοκρασία, ώστε να μην επηρεάζεται από το ίδιο το hardware.
Challenge: Φτιάξτε ένα σύστημα που αν το
📜 Άδεια Χρήσης & Πνευματικά Δικαιώματα
Το περιεχόμενο αυτής της ανάρτησης (κείμενα, οδηγίες και φωτογραφίες) αποτελεί πνευματική ιδιοκτησία της Unique Tech. Ο παρεχόμενος κώδικας διατίθεται υπό την άδεια MIT License.
Προϋπόθεση χρήσης: Επιτρέπεται η ελεύθερη χρήση και αναπαραγωγή, αρκεί να συμπεριλαμβάνεται η αρχική δήλωση πνευματικών δικαιωμάτων και η αναφορά στην Unique Tech ως αρχική πηγή. Για την πλήρη ανάλυση των δικαιωμάτων σας, διαβάστε τους
#UniqueTech #SCD40 #CO2Sensor #AirQuality #MLAProject #STEM #Robotics

Σχόλια
Δημοσίευση σχολίου