“端口扩展”的版本间的差异

来自Labplus盛思维基百科
跳转至: 导航搜索
技术参数
MicroPython示例
第27行: 第27行:
 
from microbit import *
 
from microbit import *
  
def getTemp():
+
display.off()
  i2c.write(0x40,bytearray([0xE3]))
+
cfg=bytearray([0x03, 0x00])            
  sleep(85)
+
i2c.write(0x20,cfg)               #配置引脚的配置寄存器0x03,8个IO引脚设为输出模式,从机地址为0x20
  t=i2c.read(0x40,2)
+
 
  return -46.86+175.72*(t[0]*256+t[1])/65535
 
 
 
 
 
def getHumi():
 
  i2c.write(0x40,bytearray([0xE5]))
 
  sleep(40)
 
  t=i2c.read(0x40,2)
 
  return -6+125*(t[0]*256+t[1])/65536
 
 
 
 
while True:
 
while True:
     print('TEMP:',getTemp())   #获取温度并打印出来
+
  cfg = bytearray([0x01, 0x00])      
    print('HUMi:',getHumi()#获取湿度并打印出来
+
  i2c.write(0x20,cfg)              #配置输出引脚寄存器0x01,8个IO引脚设为输出低电平
    sleep(500)
+
  sleep(1000)
 +
  cfg = bytearray([0x01, 0xFF])     #配置输出引脚寄存器0x01,8个IO引脚设为输出低电平
 +
  i2c.write(0x20,cfg)
 +
   sleep(1000)
 +
 
 
</pre>
 
</pre>
  
 
=== 图形化示例 ===
 
=== 图形化示例 ===

2017年12月20日 (三) 15:11的版本

概述

当主控的引脚不够用时,可用该模块通过I2C接口拓展I/O口,最大支持8个I/O引脚拓展。

技术参数

  • 工作电压:3.3V~5V
  • I2C数字信号通讯
  • 最大支持8个I/O端口拓展
  • 模块尺寸:24x46x7.5mm

引脚定义

VCC 电源
SDA I2C数据
SCL I2C时钟
GND

使用教程

连接示意图

Arduino示例

MicroPython示例

from microbit import *

display.off()
cfg=bytearray([0x03, 0x00])             
i2c.write(0x20,cfg)                #配置引脚的配置寄存器0x03,8个IO引脚设为输出模式,从机地址为0x20

while True:
  cfg = bytearray([0x01, 0x00])     
  i2c.write(0x20,cfg)              #配置输出引脚寄存器0x01,8个IO引脚设为输出低电平
  sleep(1000)
  cfg = bytearray([0x01, 0xFF])      #配置输出引脚寄存器0x01,8个IO引脚设为输出低电平
  i2c.write(0x20,cfg)
  sleep(1000)

图形化示例