利用K210获取传感器数值

  • 介绍

技术支持网站:

Maixpy文档简介:

MaixPy 文档简介 - Sipeed Wiki

01Studio社区:

01Studio社区 - Powered by Discuz!

K210资料下载地址:

pyAI-K210 — 01Studio资料下载站 v1.0 文档

K210社区:

pyAI-K210 - 01Studio - Powered by Discuz!

  • 硬件准备
  1. 传感器(本文以气味传感器为例)
  2. 模数转换器
  3. 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)





版权声明:本文为CSDN博主「Alex Tsang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ali_nic/article/details/121929086

生成海报
点赞 0

Alex Tsang

我还没有学会写个人说明!

暂无评论

相关推荐

树莓派Pico-Raspberry Pi Pico简介

PI pico 产品特性: Raspberry Pi Pico 是一款低成本,高性能的微控制器开发板,具有灵活数字接口。硬件上,采用 Raspberry Pi 官方自主研发的 RP204

nodemcu 模块用mciropython 使用SD卡

使用sd卡可以扩大8266的存储器,使用时候很重要的是接线。 其他很容易。下面程序就是初始化、挂载sd卡、读sd卡里面main.cpp里面的代码行。 import machine, sdcard, os from machine

电脑不识别STM32的USB虚拟串口

电脑不识别STM32的USB虚拟串口 现象 板子和电脑联调的时候发现,USB线插入板子以后电脑不识别虚拟串口,通过禁用设备再启用,可以正常工作。也可以按一下复位键才能识别。 以前似乎没有这个问题&#