K210-关于K210基本操作

news2024/11/28 14:38:05

1.点亮RGB灯

from modules import ybrgb
RGB = ybrgb()
#设置RGB颜色:RGB.set(r, g, b)
#参数r控制红灯开关,
#参数g控制绿灯开关,
#参数b控制蓝灯开关,
#输入0表示关闭,输入1表示开启。
RGB.set(1, 0, 0)

2.按键功能

from modules import ybkey
from modules import ybrgb
import time


KEY = ybkey()
RGB = ybrgb()

while True:
#读取按键K1是否被按下,返回0表示释放状态,返回1表示按下状态。
    state = KEY.is_press()
    if state == 1 : RGB.set(1,0,0)
    else :RGB.set(0,0,0)
    print("key press:", state)    
    time.sleep_ms(100)

3.定时器

timer = machine.Timer(id, channel, 
mode=Timer.MODE_ONE_SHOT, 
period=1000, 
unit=Timer.UNIT_MS,
callback=None, 
arg=None, 
start=True,
priority=1,
div=0)

在这里插入图片描述

from modules import ybkey
from modules import ybrgb
from machine import Timer
import time


KEY = ybkey()
RGB = ybrgb()

def on_timer(timer):
    print("This is on_timer callback")

timer = Timer(Timer.TIMER0, Timer.CHANNEL0,
            mode=Timer.MODE_PERIODIC, period=100,
            unit=Timer.UNIT_MS, callback=on_timer, arg=None)


last_time = time.ticks_ms()

try:
    while True:
        if time.ticks_ms() - last_time >= 200:
            last_time = time.ticks_ms()
            print(time.ticks_ms())
except:
    timer.deinit()
    del timer

4.PWM呼吸灯实验

由于PWM信号需要来源自定时器,所以新建一个定时器对象,设置参数为定时器0,通道0,PWM模式。PWM输出依赖于定时器,目前K210总共有3个定时器,每个定时器有4个通道,所以最多可以输出12个PWM信号。PWM占空比为输出高电平时间与周期的比值。

tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)

通过指定的参数新建一个 PWM 对象

pwm = machine.PWM(tim, freq, duty, pin, enable=True)

在这里插入图片描述
RGB灯对应的引脚
红色RED=27
绿色GREEN=26
蓝色BLUE=29

from machine import Timer, PWM
import time


tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)

pwm = PWM(tim, 1000, 0, 27, enable=True)


duty=0
add = True
while True:
    if add:
        duty += 5
    else:
        duty -= 5
    if duty > 100:
        duty = 100
        add = False
    elif duty < 0:
        duty = 0
        add = True
    time.sleep(0.05)
    pwm.duty(duty)

LCD显示

import lcd
import time
# 初始化lcd显示屏。
lcd.init()
#把屏幕设置为蓝色背景,在屏幕左上角显示“Hello Yahboom”。
lcd.clear(lcd.PURPLE)
time.sleep(1)
lcd.rotation(0)
lcd.draw_string(30, 30, "Hello Yahboom", lcd.WHITE, lcd.BLUE)

其中,lcd.clear(color)的参数color为设置颜色,可选BLACK(黑色)
NAVY(藏青色)
DARKGREEN(墨绿色)
DARKCYAN(深青色)
MAROON(褐红色)
PURPLE(紫色)
OLIVE(橄榄色)
LIGHTGREY(浅灰色)
DARKGREY(深灰色)
BLUE(蓝色)
GREEN(绿色)
CYAN(青色)
RED(红色)
MAGENTA(品红色)
YELLOW(黄色)
WHITE(白色)
ORANGE(橘黄色)
GREENYELLOW(黄绿色)
PINK(粉红色)。

lcd.rotation(dir)的参数dir为设置旋转方向
dir=0为正面显示
dir=1表示屏幕顺时针旋转90度
dir=2表示屏幕顺时针旋转180度
dir=3表示屏幕顺时针旋转270度。

lcd.draw_string(x, y, "contents", color_text, color_background)的参数
x,y表示文字的开始坐标
“contents”表示显示的字符
,color_text表示字符串的显示颜色
color_background表示字符串背景颜色

time.sleep(1)表示延迟1秒,保证有足够时间显示内容。

6. 触摸板读取坐标

image.draw_string(x, y, text[, color[, scale=1[, x_spacing=0[, y_spacing=0[, mono_space=True]]]]])
表示添加字符串
x, y:表示字符串开始点的坐标
text:表示显示的字符串内容
color:表示颜色RGB值
scale:表示字符串大小
x_spacing:表示字间距,允许在字符之间添加(如果是正数)或减去(如果是负数)x像素
y_spacing:表示行间距,允许在字符之间添加(如果是正数)或减去(如果是负数)y像素
mono_space:强制文本间距固定,默认为True。对于大文本,可设置False以获得非固定宽度的字符间距,会有更好的显示效果

(status, x, y) = ts.read()表示读取当前屏幕的状态以及触摸的点的坐标值;返回值是一个由3个整型值组成的元组,status: 状态, 取值有 STATUS_RELEASE=1,STATUS_PRESS=2, STATUS_MOVE=3 ,x: 触摸点X轴坐标,y: 触摸点Y 轴坐标;

img.draw_line(x0, y0, x1, y1[, color[, thickness=1]])表示在img图像上画一条线,x0,y0表示起点坐标,x1,y1表示终点坐标,color表示颜色,默认为白色,thickness表示线的粗细像素;

lcd.display(img)表示LCD显示img图像。

import touchscreen as ts
import lcd, image
import time

lcd.init()
#初始化触摸屏幕
ts.init()
#通过image库新建一个空白图像
img = image.Image()
img.draw_string(100, 0, "Please touch the screen", color=(0, 0, 255), scale=1)
#初始化相关变量
status_last = ts.STATUS_IDLE
x_last = 0
y_last = 0


lcd.display(img)
while True:
    #读取屏幕的状态
    (status, x, y) = ts.read()
    #如果状态改变
    if status_last != status:
        print(status, x, y)
        status_last = status
    #如果状态为移动状态
    if status == ts.STATUS_MOVE:
        在图片上(x_last,y_last)到(x, y)画一条线
        img.draw_line(x_last, y_last, x, y)
    #如果是按下状态
    elif status == ts.STATUS_PRESS:
        img.draw_line(x, y, x, y)
    #显示img图片
    lcd.display(img)
    x_last = x
    y_last = y

7. 内存卡读写文件

import sensor, lcd
import time

#初始化LCD显示屏和摄像头,初始化完成后打印“init ok”。
lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames(10)
print("init ok")

#创建图片保存路径img_path
img_path = "/sd/image-1.jpg"

#打开摄像头捕获一帧图像,保存为img,并把img保存到内存卡中,名称为image-1.jpg。
img = sensor.snapshot()
print("save image")
img.save(img_path)

#将image-1.jpg从内存卡读取出来,并在LCD上显示。
#print("read image")
#img_read = image.Image(img_path)
#lcd.display(img_read)
#print("ok")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/975883.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Arduino实验笔记】机械臂篇(二) 开关控制LED灯

文章目录 前言硬件介绍实物接线图软件实现库函数介绍程序代码 下一篇的目标总结 前言 本章节介绍如何通过按键控制LED灯&#xff0c;在上一章节中&#xff0c;我们学习了如何控制IO输出电平。而本章节&#xff0c;我们将学会如何读取IO输入的电平。 硬件介绍 观察独立按键&am…

Taurus: 面向机器学习的数据面架构

日益复杂的网络和多样化的工作负载要求网络内置更多的自动化决策能力&#xff0c;通过可编程网络设备在用户面支持机器学习工作负载就是一个可能的选项&#xff0c;本文提出了一种支持用户面推理的架构设计&#xff0c;相对控制面机器学习的性能有数量级的提升。原文: Taurus: …

联想集团财报不及华尔街预期,财务业绩恐将继续恶化

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 华尔街对联想集团财报的预测 在联想集团&#xff08;00992&#xff09;公布2024财年第一季度财务业绩之前&#xff0c;华尔街分析师就曾预测&#xff0c;联想集团的收入和利润将实现强劲增长。 具体而言&#xff0c;根据S&…

VB6.0 设置窗体的默认焦点位置在 TextBox 中

文章目录 VB6.0 窗体的加载过程确定指针的焦点位置添加代码效果如下未设置指定焦点已设置焦点 VB6.0 窗体的加载过程 在VB6.0中&#xff0c;窗体&#xff08;Form&#xff09;加载时会触发多个事件&#xff0c;这些事件按照特定的顺序执行。下面是窗体加载过程中常见事件的执行…

高忆管理:光刻胶概念强势拉升,同益股份、格林达涨停

光刻胶概念5日盘中强势拉升&#xff0c;截至发稿&#xff0c;同益股份、格林达涨停&#xff0c;波长光电、晶瑞电材涨超7%&#xff0c;容大感光涨逾5%&#xff0c;华懋科技、茂莱光学、苏大维格、南大光电等均走强。 音讯面上&#xff0c;据新加坡《联合早报》网站9月2日报导&…

Android jni引用第三方so动态库和.a静态库并且调用(c)方法

最近花了一周时间来入门学习 Android JNI方面的知识&#xff0c;因为后续的工作很多需要用到c c库&#xff0c;我需要用jni来包装一下c函数&#xff0c;来提供给上次java调用。总之多学点知识对自己有好处。 案例效果&#xff1a; 上文我们讲解了 android studio cmake生成.a…

Python可复用函数的 6 种最佳实践

对于在一个有各种角色的团队中工作的数据科学家来说&#xff0c;编写干净的代码是一项必备的技能&#xff0c;因为&#xff1a; 清晰的代码增强了可读性&#xff0c;使团队成员更容易理解和贡献于代码库。 清晰的代码提高了可维护性&#xff0c;简化了调试、修改和扩展现有代码…

【机组】计算机系统组成课程笔记 第一章 计算机系统概论

1.1 计算机的基本概念 电子计算机是一种不需要人工直接干预&#xff0c;能够自动、高速、准确地对各种信息进行处理和存储的电子设备。 1.1.1 存储程序的工作方式 1. 单一的处理部件 2. 存储单元是定长的线性组织 3. 存储空间的单元直接寻址 4. 使用低级机器语言&#xf…

基于Hugo 搭建个人博客网站

目录 1.环境搭建 2.生成博客 3.设置主题 4.将博客部署到github上 1.环境搭建 1&#xff09;安装Homebrew brew是一个在 macOS 操作系统上用于管理软件包的包管理器。类似于centos下的yum或者ubuntu下的apt&#xff0c;它允许用户通过命令行安装、更新和管理各种软件工具、…

JavaScript 执行上下文和作用域链

1 执行上下文 执行上下文决定了变量和函数可以访问哪些数据。 一个执行上下文就对应一个仅后台可访问的变量对象&#xff0c;其中保存有该上下文的局部变量、参数和函数声明。 最外层的上下文称为全局上下文。宿主环境不同&#xff0c;全局上下文的关联对象就不同。在浏览器…

在ubuntu20.04上安装arm-linux-gcc 4.4.3

1下载地址 [http://www.friendlyelec.com.cn/download.asp] 2.将 arm-linux-gcc-4.4.3.tar.gz 拷贝到 /bin目录 无法拷贝怎么办&#xff1f; 出现这种情况是 Linux 拷贝文件时权限不够&#xff0c; 运行命令 sudo nautilus&#xff0c; 打开一个具有管理员权限的文件管理器&am…

C# 子类如何访问子类的方法(同一父类)

在继承关系中&#xff0c;子类可以通过创建另一个子类的对象来访问其方法。下面是一个示例&#xff0c;展示了子类如何访问另一个子类的方法&#xff1a; public class Animal {public virtual void Speak(){Console.WriteLine("我是动物。");} }public class Cat :…

直播平台源码开发搭建APP的DASH协议:流媒体技术其中一环

在直播平台源码APP中&#xff0c;有着许许多多、多种多样的功能&#xff0c;比如短视频功能&#xff0c;帮助我们去获取信息&#xff0c;看到全世界用户身边发生的事情或是他们的生活&#xff1b;又比如直播功能&#xff0c;为用户提供了实时的娱乐享受&#xff0c;还让一些用户…

嬴图Ultipa | 实时图计算如何将反洗钱进行到底?

电影《孤注一掷》中&#xff0c;首度曝光了境外网络诈骗全产业链黑幕&#xff0c;而洗钱是最为关键的一环。 王大陆饰演的赌徒阿天将偷和抵押房产凑够的800万元一次性汇入欺诈团伙的博彩账户&#xff0c;由于涉及大额资金流动&#xff0c;警方已经开始监控。令人意外的是&#…

访问局域网内共享文件时报错0x80070043,找不到网络名

我是菜鸡 此篇只为分享一个我遇到的很简单的但是排查了好久的小问题。 我的网络环境是在校园网内&#xff0c; 自己的办公电脑设置了固定IP&#xff1a;10.11.128.236&#xff0c;同事电脑IP为&#xff1a;10.11.128.255 本人需要访问同事在局域网内分享的文件&#xff0c;…

统计学极简入门——数据分布

3. 数据分布 t分布、F分布和卡方分布是统计学中常用的三种概率分布&#xff0c;它们分别用于样本均值的推断、方差的比较和数据的拟合优度检验。 总之这3个分布很有用&#xff0c;首次接触你可能理解不了&#xff0c;但没关系你知道很重要就行了&#xff0c;接着往下看&#…

6.xpath的基本使用

xpath是python做数据解析的库 目录 1 安装 2 解析本地的html文件 2.1 只有一个标签的情况 2.2 有多个标签的情况 3 解析网上的页面 4 xpath表达式 4.1 绝对路径 4.2 两个斜杠表示中间隔了0级或多级 4.3 通过属性查找 4.4 通过索引查找 4.5 获取文本内容…

JavaScript-----运算符与流程控制

目录 前言&#xff1a; 1. 运算符 1.1 算术运算符 1.2 赋值运算符 1.3 比较运算符 1.4 逻辑运算符 2.流程控制 1.1 分支结构 switch语句 1.2 循环结构 while 循环 for循环 循环控制 : 1.3代码示例 前言&#xff1a; 今天我们就开始学习JavaScript里面的运算符和流…

【校招VIP】测试开发之字符串算法

考点介绍&#xff1a; 字符串匹配看起来是个很简单、很成熟的问题&#xff0c;但在很多领域都有着很多的应用&#xff0c;比如模式匹配、特征提取等等。字符串算法是很经典的面试题&#xff0c;既考察了求职者的写用例水平又考察了软件测试求职者的编码水平。 测试开发之字符串…

景联文数据标注:AI大模型在教育和医疗领域的应用

8月31日消息&#xff0c;备受行业瞩目的首批大模型产品获批名单发布&#xff0c;首批通过备案的8家大模型公司分别是&#xff1a;百度&#xff08;文心一言&#xff09;、抖音&#xff08;云雀大模型&#xff09;、智谱AI&#xff08;GLM大模型&#xff09;、中科院&#xff08…