立即注册

micropython-microbit 中文社区

查看: 545|回复: 0

SWM320-RTT-MPY使用B1750光线传感器

[复制链接]
  • TA的每日心情
    慵懒
    2019-10-23 20:05
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    发表于 2018-7-21 16:54:33 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    写入rtthread.bin固件,使用USB连接计算机并在终端上成功出现msh提示符,就可以输入python命令进入micropython环境了。测试了LED功能后,就想试试I2C。
    首先测试连接硬件I2C,结果出现下面结果:

    1. >>> i2c=I2C(1)
    2. can't find i2c1 device
    3. Traceback (most recent call last):
    4.   File "<stdin>", in <module>
    5. ValueError: I2C(i2c1) doesn't exist
    6. >>> i2c=I2C(2)
    7. can't find i2c2 device
    8. Traceback (most recent call last):
    9.   File "<stdin>", in <module>
    10. ValueError: I2C(i2c2) doesn't exist
    复制代码


    说明硬件I2C还没有移植好。不过mpy是支持软件I2C的,使用任意两个GPIO就可以模拟I2C功能。使用了C3和C4引脚,连接到B1750传感器的I2C上。然后用下面代码搜索设备:

    1. >>>
    2. paste mode; Ctrl-C to cancel, Ctrl-D to finish
    3. === from machine import Pin, I2C
    4. ===
    5. === SDA=Pin(('C4', 21))
    6. === SCL=Pin(('C3', 26))
    7. ===
    8. === i2c=I2C(-1, sda=SDA, scl=SCL)
    9. === i2c.scan()
    10. [35]
    11. >>>
    复制代码


    可以搜索到芯片,说明软件I2C是正常的,就可以测试B1750的功能了。下面是完整的B1750测试代码,大家可以参考一下。

    1. from machine import Pin, I2C
    2. from time import sleep_ms

    3. B1750_I2C_ADDRESS = 0x23

    4. class B1750():
    5.     def __init__(self, i2c, addr = B1750_I2C_ADDRESS):
    6.         self.addr = addr
    7.         self.i2c = i2c
    8.         self.set(0x10)
    9.         
    10.     def set(self, dat):
    11.         self.i2c.writeto(self.addr, bytearray([dat]))
    12.         
    13.     def get(self):
    14.         t = self.i2c.readfrom(self.addr, 2)
    15.         return (t[0]*256 + t[1])/1.2

    16. SDA=Pin(('C4', 21))
    17. SCL=Pin(('C3', 26))

    18. i2c=I2C(-1, sda=SDA, scl=SCL)
    19. lx = B1750(i2c)

    20. while True:
    21.     sleep_ms(500)
    22.     lx.get()
    复制代码


    注:
    • 本来想测试一下BMP280气压传感器,但是RTT-MPY预留的RAM太小了,程序无法加载。



    回复

    使用道具 举报

    游客
    回复
    您需要登录后才可以回帖 登录 | 立即注册

    Archiver|手机版|小黑屋|micropython-microbit 中文社区

    GMT+8, 2019-12-9 12:35 , Processed in 0.088109 second(s), 20 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表