技术支持网站:
Maixpy文档简介:
MaixPy 文档简介 - Sipeed Wiki
01Studio社区:
01Studio社区 - Powered by Discuz!
K210数据下载地址:
pyAI-K210 — 01Studio资料下载站 v1.0 文档
K210社区:
pyAI-K210 - 01Studio - Powered by Discuz!
- 传感器(本文以气味传感器为例)
- 模数转换器
- K210模块(包括数据线)SD卡、LCD显示屏)
K210读取传感器的值是传感器A/D通过转换输出信号I2C总线传送。
I2C参考总线协议:
machine.I2C - Sipeed Wiki
接线注意:
1.4个传感器的AO分别与A/D的AIN0、AIN1、AIN2、AIN3相接
2.4个传感器的VCC、A/D的VCC应共同由K210的3V3供电
3.4个传感器的GND、A/D的GND应共同与K210的GND共地
4.本文选择K210IO口中的I6为SCL,I7为SDA,根据接线方式调整代码
# -*- coding:utf-8 -*- """ 作者:Alex Tsang 时间:2021年12月14日 """ from machine import I2C import lcd, utime # 定义传感器返回数值 def return_value(i2c, addr): data = i2c.readfrom(addr, 1) value = data[0] return value # 初始化屏幕 lcd.init(freq=15000000) lcd.clear(lcd.WHITE) utime.sleep(2) lcd.clear(lcd.BLACK) # 初始化地址 address = 0x48 # 显示传感器数值的主程序 while 1: # 定义i2c总线,SCL->I7 SDA->I6 i2c1 = I2C(I2C.I2C0, mode=I2C.MODE_MASTER, freq=5000, scl=7, sda=6) i2c1.writeto(address, b'\x44') utime.sleep(1) x1 = return_value(i2c1, address) x2 = return_value(i2c1, address) x3 = return_value(i2c1, address) x4 = return_value(i2c1, address) # 注销之前的总线 i2c1.deinit() #显示每个传感器的值 lcd.draw_string(50, 100, str(x1), lcd.WHITE, lcd.BLACK) lcd.draw_string(100, 100, str(x2), lcd.WHITE, lcd.BLACK) lcd.draw_string(150, 100, str(x3), lcd.WHITE, lcd.BLACK) lcd.draw_string(200, 100, str(x4), lcd.WHITE, lcd.BLACK)