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); }