备战电赛之K210篇(第一天)

K210学习第一天,了解K210也可以GPIO,I2C

《一》

import sensor, lcd

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames()

lcd.init(freq=15000000)

while(True):
    lcd.display(sensor.snapshot())

这个是在官网上看的,

但是运行之后,电脑上的正常,LCD却显示不正常

在多次查找之后

import sensor, lcd

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames()

lcd.init(freq=15000000)
lcd.init(type=2)
lcd.rotation(2)

while(True):
    lcd.display(sensor.snapshot())
lcd.init(type=2)少了这一句,

lcd.init(type=1, freq=15000000, color=lcd.BLACK)

这是默认为一,我的改为二,就可以。

学会K210先会玩玩LCD——显示hello,这是以图片的形式

import lcd
import image


lcd.init(type=2,freq=15000000,color=lcd.BLACK)#初始化
lcd.rotation(2)#方向

img = image.Image()
img.draw_string(100, 100, "hello maixpy", scale=2)#(位置,内容,大小) 
lcd.display(img)

正常显示,我的LCD必须这么设置才能正常显示

import lcd
import image


lcd.init(type=2,freq=15000000,color=lcd.BLACK)
lcd.rotation(2)
lcd.draw_string(100, 100, "hello maixpy", lcd.RED, lcd.BLACK)
1.3. lcd.width()
返回 LCD 的宽度(水平分辨率)

1.4. lcd.height()
返回 LCD 的高度(垂直分辨率)。

《二》——点灯

       GPIO和Pin的理解——GPIO可以为功能,Pin为口。我们要做的是将,让Pin口有GPIO的功能。

from fpioa_manager import fm    # 导入库
fm.register(28, fm.fpioa.GPIO0)

这样Pin28有GPIO0的功能

import utime
from Maix import GPIO
from board import board_info
from fpioa_manager import fm#主要用于引脚和外设的映射


while True:
    fm.register(board_info.LED_R,fm.fpioa.GPIO0)#fm.fpioa.GPIO0 注册到了LED_R上为实际为pin——14
    led_r=GPIO(GPIO.GPIO0,GPIO.OUT)#GPIO配置为输出模式
    utime.sleep_ms(100)#Delay
    led_r.value(0)#低电平点亮
    utime.sleep_ms(100)
    led_r.value(1)
    fm.unregister(board_info.LED_R)#释放

以此推出了灯的变化

import utime
from Maix import GPIO
from board import board_info
from fpioa_manager import fm

a=True
while a:
    #fm.register(board_info.LED_R,fm.fpioa.GPIO0)
    #print(board_info.LED_R)
    fm.register(14,fm.fpioa.GPIO4)
    led_r=GPIO(GPIO.GPIO4,GPIO.OUT)
    fm.register(13,fm.fpioa.GPIO3)
    led_b=GPIO(GPIO.GPIO3,GPIO.OUT)
    fm.register(12,fm.fpioa.GPIO2)
    led_g=GPIO(GPIO.GPIO2,GPIO.OUT)
    for i in range(11):
        utime.sleep_ms(100)
        led_r.value(0)
        utime.sleep_ms(100)
        led_r.value(1)
        
        utime.sleep_ms(100)
        led_b.value(0)
        utime.sleep_ms(100)
        led_b.value(1)
        
        utime.sleep_ms(100)
        led_g.value(0)
        utime.sleep_ms(100)
        led_g.value(1)
        utime.sleep_ms(100)
      
        if i==9:
            a=False
fm.unregister(board_info.LED_R)

下来是视频——

电灯结束

《GPIO进一步理解》

   GPIO

只有GPIO的高速口有上拉和下拉:

详细看这里:GPIO - Sipeed Wiki

下来是GPIO的配置:
记住Pin是IO口,而GPIO是一种功能

from Maix import GPIO
from board import board_info
from fpioa_manager import fm
print("开始")
while 1:

    fm.register(1,fm.fpioa.GPIO1)#配置Pin1口
    P1=GPIO(GPIO.GPIO1,GPIO.OUT)
    P1.value(1)

在Pin1口就会是高电平。

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值