Lektionsmål
I den här lektionen utforskar vi AHT10-sensorn för temperatur & luftfuktighet, en viktig komponent i din IoT-station för luftkvalitetsövervakning. I slutet av lektionen kommer du att förstå vad AHT10-sensorn är, hur den fungerar och varför den passar för att mäta miljödata i det här projektet.
Vad är AHT10-sensorn?
AHT10 är en digital sensor med hög precision som är helt kalibrerad och utformad för att mäta både temperatur och luftfuktighet. Den kombinerar noggranna mätningar med ett kompakt format, vilket gör den idealisk för IoT-tillämpningar.
Lista över nödvändiga komponenter:
![]() |
AHT10 temperatur- och luftfuktighetsmätare med hög precision |
![]() |
TTGO T-Display ESP32 16MB med WiFi, Bluetooth och 1.1" LCD-färgskärm |
![]() |
Dupontkablar, 40 st |
Viktiga funktioner hos AHT10:
- Temperaturområde: -40°C till 85°C med en noggrannhet på ±0,3°C.
- Luftfuktighetsområde: 0% till 100% relativ luftfuktighet med en noggrannhet på ±2% rH.
- I2C-gränssnitt: Använder I2C-protokollet för kommunikation, vilket förenklar kabeldragning och programmering vid anslutning till ESP32.
- Låg strömförbrukning: Lämplig för batteridrivna IoT-enheter och möjliggör långvarig drift på avlägsna platser.
Hur fungerar AHT10-sensorn?
AHT10-sensorn använder en särskild polymerkondensator för att mäta relativ luftfuktighet och en termistor för att mäta temperatur. Här är en kort genomgång av hur den fungerar:
- Mätning av luftfuktighet: Sensorn registrerar förändringar i kapacitansen när luftens fuktnivå förändras, vilket gör det möjligt att beräkna den relativa luftfuktigheten.
- Mätning av temperatur: Sensorn använder en termistor, en typ av motstånd vars värde förändras med temperaturen, för att noggrant registrera omgivningstemperaturen.
Sensorn digitaliserar sedan dessa värden och skickar dem till ESP32 via I2C-gränssnittet.
Varför är AHT10-sensorn idealisk för vårt projekt?
AHT10-sensorn är ett utmärkt val för vår IoT-station för luftkvalitetsövervakning tack vare kombinationen av precision, låg strömförbrukning och enkel integrering. Här är några skäl till att den passar perfekt:
- Noggranna mätningar: Sensorn ger tillförlitliga data, vilket är avgörande för miljöövervakning.
- Kompakt konstruktion: Den lilla storleken gör det enkelt att integrera sensorn i alla slags IoT-projekt utan att ta mycket plats.
- Enkel kommunikation: Användning av I2C-protokollet gör anslutningen till ESP32 enkel eftersom bara två kablar krävs för kommunikationen, vilket minskar kretsens komplexitet.
Hur passar AHT10 in i vårt projekt?
Sensorns data bearbetas av ESP32 och visas antingen på en TFT-skärm eller skickas till en webbserver för fjärråtkomst.
Sensorns roll i projektet:
- Datainsamling: AHT10 övervakar kontinuerligt omgivningen och registrerar temperatur- och luftfuktighetsvärden.
Vad händer nu?
Viktiga punkter:
- AHT10 är en noggrann och strömsnål sensor för mätning av temperatur och luftfuktighet, vilket gör den idealisk för vår IoT-station för luftkvalitetsövervakning.
- Den kommunicerar med ESP32 via I2C-protokollet, vilket förenklar kabeldragning och programmering.
- I projektet samlar sensorn in miljödata i realtid som visas lokalt och delas via WiFi.
Om mätningarna: Stationen i den här serien mäter temperatur och relativ luftfuktighet med AHT10. Det är mätningar av inomhusklimatet, inte direkta mätningar av CO2, VOC eller partiklar. Seriens benämning ”luftkvalitetsövervakning” ska förstås med denna begränsning.
Skriv och kör sensorkoden
Installera Adafruit AHTX0 och de beroenden som Library Manager föreslår. Biblioteket Adafruit_AHTX0 introducerades i lektion 9. Anslut AHT10 som i lektion 7: VCC till 3.3V, GND till GND, SDA till GPIO 21 och SCL till GPIO 22. Dessa stift gäller det ursprungliga ESP32/TTGO T-Display-kortet i serien; kontrollera stiftlayouten för andra kortvarianter.
#include <Wire.h>
#include <Adafruit_AHTX0.h>
Adafruit_AHTX0 aht;
void setup() {
Serial.begin(115200);
Wire.begin(21, 22);
if (!aht.begin(&Wire)) {
Serial.println("AHT10 not found. Check power and I2C wiring.");
while (true) { delay(100); }
}
}
void loop() {
sensors_event_t humidity, temp;
aht.getEvent(&humidity, &temp);
Serial.print("Temperature: ");
Serial.print(temp.temperature);
Serial.println(" C");
Serial.print("Relative humidity: ");
Serial.print(humidity.relative_humidity);
Serial.println(" %");
delay(2000);
}Skapa en sketch, klistra in koden, välj rätt kort och port och ladda upp. Öppna den seriella monitorn med 115200 baud. Varannan sekund visas temperatur i °C och relativ luftfuktighet i %. Om sensorn inte hittas stannar programmet efter ett felmeddelande: kontrollera strömförsörjningen och I2C-kablarna.
Koden använder begin() för initiering och getEvent(&humidity, &temp) för avläsning. Ordningen är luftfuktighet först, därefter temperatur. API och fältnamn har kontrollerats mot Adafruits officiella exempel. Officiellt Adafruit AHTX0-exempel.
I nästa lektion, avsnitt 11, går vi igenom felsökning i Arduino IDE. Avsnitt 12 introducerar TFT-skärmar.


