Posts

Bus Pirate是一个开源硬件,让开发人员能够直接通过USB和命令行程序和不同的数字,模拟接口的电子模块通讯。

SHT21号称世界上最小的数字式湿度、温度传感器,只有3x3mm大。数字接口和上一代的SHT系列传感器一样使用I2C。

SHT21的电路板可以在这里购买:
http://www.misenso.com/shop/humidity-and-temperature-sensor-sht21-breakout/

SHT21的说明书:
http://www.sensirion.com/en/pdf/product_information/Datasheet-humidity-sensor-SHT21.pdf (英文)
http://www.sensirion.com.cn/product/downimg/C-Datasheet_SHT21_V1.0.pdf (中文)

和总线海盗连接

Bus Pirate +3.3V       –>       SHT21 VCC
Bus Pirate   GND       –>       SHT21 GND
Bus Pirate   CLK       –>       SHT21 SCL
Bus Pirate MOSI       –>       SHT21 SDA

操作脚本

HiZ> m   <<< 选择总线类型,因为SHT21是I2C总线
1. HiZ
2. 1-WIRE
3. UART
4. I2C
5. SPI
6. 2WIRE
7. 3WIRE
8. KEYB
9. LCD
x. exit(without change)
(1)> 4   <<< 选择I2C总线
Set speed:
1. ~5KHz
2. ~50KHz
3. ~100KHz
4. ~400KHz
(1)> 2   <<< 选择总线时钟频率,根据SHT21手册,SHT21自适应最高400KHz的频率,所以请选择1,2或者3
Ready
I2C> W   <<< 打开3.3v电源
Power supplies ON
I2C> (1)   <<< 搜索连接到I2C总线上的设备地址
Searching I2C address space. Found devices at:
0x80(0x40 W)   <<< 找到SHT21
I2C> [0x80 0xE3][0x81 %:1000 r:3]   <<< 测量温度,读取温度数据
I2C START BIT
WRITE: 0x80 ACK
WRITE: 0xE3 ACK
I2C STOP BIT
I2C START BIT
WRITE: 0x81 ACK
DELAY 1000ms
READ: 0x59  ACK 0x4C  ACK 0x64
NACK
I2C STOP BIT
I2C> [0x80 0xE5][0x81 %:1000 r:3]   <<< 测量湿度,读取湿度数据
I2C START BIT
WRITE: 0x80 ACK
WRITE: 0xE5 ACK
I2C STOP BIT
I2C START BIT
WRITE: 0x81 ACK
DELAY 1000ms
READ: 0x8B  ACK 0x22  ACK 0xDD
NACK
I2C STOP BIT
I2C>

好了,我们获得了温度0x59 0x4C 0x64,湿度0x8B 0x22 0xDD。最后一个字节是校验位,可以忽略。同时,数据最末两位状态位需要被清零,所以我们得到

类型 原始16进制 原始2进制 结果2进制 10进制结果
温度 0x59 0x4C 01011001 01001100 01011001 01001100 22860
湿度 0x8B 0x22 10001011 00100010 10001011 00100000 35616

根据公式

温度= -46.85+175.72*S_T/2^16 =-46.85+175.72*22860/2^16 =14.4435 ℃

相对湿度 = -6+125*  S_RH/2^16 =-6+125*  35616/2^16 =61.932128906%

所以最后我们得到当前温度14.44度,相对湿度61.93%。

总线海盗是一个开源的电子元器件测试与开发工具。总线海盗将常用的电子设备通讯总线集成在一起,方便开发人员快速的测试项目原型。


支持0到5.5伏的多种串行协议:

  • 1-Wire
  • I2C
  • SPI
  • JTAG
  • 异步串行总线 Asynchronous serial
  • MIDI
  • 键盘 PC keyboard
  • HD44780 LCD
  • 2- and 3-wire libraries with bitwise pin control
  • Scriptable binary bitbang, 1-Wire, I2C, SPI, and UART modes

其他功能:

  • 0-6V电压测量
  • 1Hz-40MHz 频率测量
  • 1kHz-4MHz 脉冲宽度调变器,频率产生器
  • 板载多电压上拉电阻
  • 软件可控,板载3.3伏和5伏电压电源
  • 常用功能宏
  • 总线数据监听
  • 设有引导区,方便固件升级
  • 透明USB到串口模式
  • 10Hz-1MHz低速兼容SUMP的逻辑分析器
  • AVR STK500 V2编程器
  • 支持AVRDude编程器
  • 支持Perl、Python等脚本语言

0.1版使用说明:

总线海盗中文说明书0.1

原始docx文档在这里,欢迎转载,协作:http://download.sensorapp.net/总线海盗中文说明书.docx