DHT21/AM2301 数字温度传感器使用单总线串行接口,完整的湿度温度数据是 40 位;读时高位先出,每次读一位,连续读取 40bit,其中高 16 位是湿度,中间 16 位是温度,后 8 位是校验数据:

0000 0010 1000 1100 | 0000 0001 0101 1111 | 1110 1110
湿度数据 温度数据 校验和

其中校验和应为: 湿度高8位 + 湿度低8位 + 温度高8位 + 温度低8位

例如:0000 0010 + 1000 1100 + 0000 0001 + 0101 1111 = 1110 1110

上面的数值表示:湿度 = 65.2%RH 温度 = 35.1℃

当温度低于0℃时温度数据的最高位置1。

例如:-10.1℃表示为1000 0000 0110 0101

用户主机(MCU)发送一次开始信号后,DHT21从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT21发送响应信号,送出40bit的数据,并触发一次信号采集

空闲时总线为高电平,通讯开始时主机(MCU)拉低总线 1~10ms 后释放总线,延时20-40us后主机开始检测从机(DHT21)的响应信号。

踏进 Arduino 互动媒体世界

Arduino 是一个能够让你的计算机更好地感知和控制外部世界的平台,它基于一个源码开放的微控制器电路板,并提供了相应的集成开发环境来进行软件的开发。

Arduino 的核心板的电路非常精简,仅有一个手掌的大小。

Arduino 能够被用来进行交互式对象的开发,例如从一组开关或者传感器中获得用户输入,控制一组输出。用Arduino开发的项目即能够单独运行,也能够同运行在计算机上的其他软件(如 Flash、Processing 或 Max/MSP)进行通信,从而共同完成相应的任务。

Arduino 特色:

开放源码的电路图、集成开发环境

可按需要裁简官方电路图,定制自己的微处理控制

可简单快速地与传感器、各种电子元件连接(红外,超声波,WiFi,蓝牙,Ethernet,光敏电阻……)

可快速与常用的互动媒体设计软件连接(如 Flash)

低成本(核心使用 ATMEGA8-16 单片机,价格在 RMB 20 以内)

利用 Arduino 可突破以往只能使用键盘、鼠标、CCD 等作为输入的互动媒体应用

Arduino 的官方网站位于:http://www.arduino.cc
Arduino 台湾:http://www.arduino.tw
Arduino 中文:http://blog.flamingoeda.com
Arduino 豆瓣:http://www.douban.com/group/arduino/