Hello, I'm new to arduino programming. I bought AM2305 outside sensor, but I have no clue how can I read data from it. I would really appreciate any help.
AM2305 info: -three wire device GND VDD DATA
Single bus interface: Single-bus data communication and synchronization between the microprocessor and the AM2305, a communication time 5ms around specific format described below, the current data transfer for 40bit high first-out.
Data format: 40bit data = data 16bit 16bit humidity temperature data 8bit checksum
Examples: receiving 40bit data are as follows:
0,000,001,010,001,100 0000 0001 0101 1111 1110 1110
Humidity data temperature data checksum
Checksum = 8 (high humidity low humidity 8 8 8 high temperature low temperature 8) the sum of the end of example: checksum = 0,000,001,010,001,100 0000 0001 0101 1111 1110 1110
This example humidity = 65.2% RH, humidity value calculation: humidity data from the binary 0,000,001,010,001,100 converted to decimal to get 652, humidity = 652/10 = 65.2% RH. The method of calculation of the temperature values and humidity values of the same, so in this case temperature = 35.1c
When the temperature is below 0c, the highest position of the temperature data.
For example: -10.1c said 1,000,000,001,100,101
User host (MCU) sends a start signal, AM2305 converted from the low-power mode to high-speed mode, the end of the wait for the host to start signal, AM2305 send a response signal to send 40bit data, and trigger a signal acquisition.
(Note: The host reads from AM2305 Temperature and humidity data is always measured before the first value, such as the two measurements for a long interval of time, continuous read twice in order to get real-time temperature and humidity values)