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)少了这一句,
这是默认为一,我的改为二,就可以。
学会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的配置:
记住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口就会是高电平。