Arduino 和 LM75 的 I2C 总线通讯(4) – 温度小数部分(2)

知识的进步,在于不断的积累。某个关键的技术点,也许当时没有意识到解决方法,那么放一放,在以后的日子里,也许那个解决方法就会到来。这当中原因,很大程度是受当时认识水平的局限性所致。

就拿 LM75 温度的小数部分来说,LT 的上篇文章《Arduino 和 LM75 的 I2C 总线通讯(2) – 温度小数部分》写于 2014 年 10 月份,当时留了一个坑,是说“温度为负数时,显示的数值不正确,这个将在下一个版本里更新”,那么,现在 2016 年的 12 月的今天可以把这个坑填上了。

上图是使用新的代码( 版本0.03 ),把 LM75 放入冰箱冷冻室降温做的一个测试曲线。

Continue reading

《Arduino 电子》系列文章索引

  1. 入手白色版的 Arduino Duemilanove
  2. Arduino Duemilanove 电源切换分析
  3. 给Arduino灌装那初始的灵魂bootloader
  4. Arduino 和 LM75 的 I2C 总线通讯(1)
  5. Arduino 和 LM75 的 I2C 总线通讯(2) – 温度小数部分
  6. Arduino 和 LM75 的 I2C 总线通讯(3) – 定义LM75类
  7. Arduino 和 LM75 的 I2C 总线通讯(4) – 温度小数部分(2)
  8. 在 Arduino 中使用 Watchdog 看门狗 Reset 功能
  9. 测试 Arduino 的省电模式
  10. 面向过程编程中的阻塞和非阻塞 – 从闪烁LED说起
  11. 用 Arduino 给 PC 上位机程序增加一个按钮输入
  12. 入手中文版 Arduino UNO R3
  13. 初试 W5500 模块给 Arduino 增加 Ethernet 功能
  14. 在 Arduino + W5500 上实现 Modbus TCP 功能
  15. 用 Arduino 来测量 Basler 相机曝光时间
  16. USART HMI 串口屏与 Arduino 绝配
  17. 用 Saleae 分析 LM75 的 I2C 协议

Arduino 和 LM75 的 I2C 总线通讯(2) – 温度小数部分

上篇文章《Arduino 和 LM75 的 I2C 总线通讯》里,没用到LM75的小数位,现在补充上来。这样可以由原来1度的分辨率提高到0.5度的分辨率。

从LM75的datasheet上看,温度是9bits,前8bits是整数部分,第9个bit是小数部分。所以读取2个byte,第2个byte,保留最高位,然后将此位右移7位,得到1或者0两种值,如果为1,即为0.5度。

Continue reading

WII控制机器人揭密

WII 自带3D加速度传感器,于是爱好者便用来控制某些东西,比如机器人。在“于仁颇黎”的blog上看到这个视频,感觉的传感器对于机器人来说实在太重要了。没有传感器的机器人犹如没有灵魂的躯体,只能机械地执行命令,从一个点移到另一个点。

Continue reading