AM2305 یک سنسور دما و رطوبت دقیق می باشد . این سنسور شامل یک NTC وهمچنین یک سنسور رطوبت خازنی می باشد که مقادیر آنها توسط یک میکروکنترلر داخلی اندازه گیری شده و در خروجی قرار می گیرد . اگرچه این سنسور به صورت کامل ضد آب نمی باشد ، اما قادر به اندازه گیری رطوبت های بالا است . همچنین به همراه آن براکت های نصب سطحی وجود دارد که امکان نصب آن بر روی دیوار و دیگر سطوح را فراهم می سازد . AM2305 یک سنسور مناسب جهت اندازه گیری دما در گلخانه ها ، دستگاه های میوه خشک کن و همچنین دستگاه های جوجه کشی با ظرفیت کم می باشد . وجود یک کاور متخلخل فلزی در اطراف سنسور ، خطای اندازه گیری رطوبت را به حداقل می رساند . سنسور های AM2305 دارای رابط ارتباطی I2C می باشد که تنها به دوپین از MCU احتیاج خواهد داشت . AM2305 دمای های 40- تا 80+ درجه سانتی گراد را با حداکثر خطای 0.3 درجه و نیز رطوبت های 0 تا 100 درصدی را با حداکثر خطای 1 درصدی اندازه گیری می کند .
در تصویر زیر خروجی های این ماژول نشان داده شده است :
سیم های قرمز و مشکی به ترتیب تغذیه و زمین سنسور می باشند .
پین های زرد و سپز نیز SDA و SCL ماژول در ارتباط I2C می باشند .
راه اندازی AM2305 با آدروینو :
#include <Wire.h>
#include <Adafruit_AM2315.h>
/***************************************************
This is an example for the AM2315 Humidity + Temp sensor
Designed specifically to work with the Adafruit AM2315 Sensor
----> https://www.adafruit.com/products/1293
These displays use I2C to communicate, 2 pins are required to
interface
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, all text above must be included in any redistribution
****************************************************/
// Connect RED of the AM2315 sensor to 5.0V
// Connect BLACK to Ground
// Connect WHITE to i2c clock
// Connect YELLOW to i2c data
Adafruit_AM2315 am2315;
void setup() {
Serial.begin(9600);
while (!Serial) {
delay(10);
}
Serial.println("AM2315 Test!");
if (! am2315.begin()) {
Serial.println("Sensor not found, check wiring & pullups!");
while (1);
}
}
void loop() {
float temperature, humidity;
if (! am2315.readTemperatureAndHumidity(&temperature, &humidity)) {
Serial.println("Failed to read data from AM2315");
return;
}
Serial.print("Temp *C: "); Serial.println(temperature);
Serial.print("Hum %: "); Serial.println(humidity);
delay(2000);
}



