Czy czujnik PMS7003 będzie działał po połączeniu na I2C z biblioteką #include "Adafruit_PM25AQI.h" ?
Nie, czujnik PMS7003 nie będzie działał z biblioteką Adafruit_PM25AQI.h
po połączeniu przez interfejs I2C. Biblioteka ta obsługuje czujniki jakości powietrza w trybie UART (szeregowy), a nie w trybie I2C, który nie jest natywnie wspierany przez PMS7003.
Czujnik PMS7003 firmy Plantower jest zaprojektowany do pracy głównie w trybie UART (TTL). Chociaż w dokumentacji technicznej wspomina się o możliwości pracy w trybie I2C, jest to rzadko stosowane i wymaga dodatkowej konfiguracji sprzętowej (np. przylutowania rezystorów lub zmiany ustawień na płytce czujnika). W praktyce większość użytkowników korzysta z trybu UART, który jest bardziej stabilny i szeroko wspierany.
Adafruit_PM25AQI.h
Biblioteka Adafruit_PM25AQI.h
została zaprojektowana do obsługi czujników jakości powietrza PM2.5, takich jak PMS5003, PMS7003 czy PMSA003, ale wyłącznie w trybie UART. Obsługa I2C w tej bibliotece dotyczy jedynie czujników, które natywnie wspierają ten interfejs, takich jak PMSA003I.
Adafruit_PM25AQI.h
w trybie I2C.Jeśli chcesz używać PMS7003 z Arduino:
Adafruit_PM25AQI.h
, która obsługuje PMS7003 w trybie UART.Adafruit_PM25AQI.h
.Zgodnie z najnowszymi informacjami z dokumentacji Adafruit oraz społeczności GitHub:
Adafruit_PM25AQI.h
obsługuje czujniki PM2.5 w trybie UART i I2C, ale tylko dla modeli z natywnym wsparciem I2C, takich jak PMSA003I.Podłączenie PMS7003 do Arduino w trybie UART:
Przykładowy kod:
#include <Adafruit_PM25AQI.h>
#include <SoftwareSerial.h>
SoftwareSerial pmsSerial(2, 3); // RX, TX
Adafruit_PM25AQI aqi;
void setup() {
Serial.begin(115200);
pmsSerial.begin(9600); // Standardowa prędkość dla PMS7003
if (!aqi.begin_UART(&pmsSerial)) {
Serial.println("Nie można podłączyć do PMS7003!");
while (1);
}
Serial.println("Czujnik PMS7003 gotowy.");
}
void loop() {
PM25_AQI_Data data;
if (aqi.read(&data)) {
Serial.println("Pomiar PM2.5 wykonany:");
Serial.print("PM 1.0: "); Serial.print(data.pm10_standard); Serial.println(" µg/m3");
Serial.print("PM 2.5: "); Serial.print(data.pm25_standard); Serial.println(" µg/m3");
Serial.print("PM 10: "); Serial.print(data.pm100_standard); Serial.println(" µg/m3");
} else {
Serial.println("Nie można odczytać danych z PMS7003!");
}
delay(1000);
}
Adafruit_PM25AQI.h
nie obsługuje PMS7003 w trybie I2C, co ogranicza jej zastosowanie w tym przypadku.Czujnik PMS7003 nie będzie działał z biblioteką Adafruit_PM25AQI.h
w trybie I2C, ponieważ biblioteka ta obsługuje PMS7003 wyłącznie w trybie UART. Zaleca się użycie trybu UART do komunikacji z tym czujnikiem lub wybór innego modelu, który natywnie wspiera I2C, jeśli jest to wymagane.