【行空板K10】硬件及I/O接口

引言

最近参加了DFRobot搞的活动:义教信息科技教学活动实践案例征集 DF创客社区。开发板昨天才拿到,今天先做一些资料学习。

硬件参数

开发板非常小巧,从下面的照片可以看出。

 开发板的核心参数如下:

  • MCU:ESP32-S3 32位 双核 240MHz
  • 内存:512KB
  • 硬盘:16MB
  • Wi-Fi:2.4G
  • 蓝牙:5.0
  • 板载元件:
    • 摄像头
    • 麦克风 * 2
    • 扬声器
    • 数字环境光传感器
    • 温湿度传感器
    • 加速度传感器
    • RGB灯 * 3
    • 实体按键 * 2
  • 接口:
    • USB Type-C * 1
    • microSD卡座 * 1
    • 3Pin Gravity I/O * 2
    • 3Pin Gravity I2C * 1
    • 2Pin 电池接口
    • 金手指:17路I/O(支持I2Cx1、ADCx2、PWMx2)
  • 供电电压:
    • Type-C 5V
    • 电池口 3.0-4.2V
  • 工作电压:3.3V
  • 功耗:典型0.5W、峰值0.8w

DFrobot还有一款行空板M10,价格大概是K10的两倍。M10采用RK3308+Linux。

板载器件和I/O接口

K10的板载器件和I/O接口是非常丰富的,下面是整体布局的图。

其实板载的传感器已经挺多的了,像一般物联网常用温湿度、环境光、加速度传感器,人工智能入门的摄像头、麦克风和扬声器都挺全面的。

不过,我此次测试的任务需要外接开发板上没有的传感器,所以看了一下它的扩展接口。

金手指接口

 K10提供了金手指接口,这个接口和大多数micro:bit扩展板兼容。

 3pin和4pin接口

K10还提供了2个3pin接口,用于接数字I/O或模拟I/O。在DF创客商城中有很多接口扩展板可以将这些3pin接口扩展为更多接口。4pin接口主要用于I2C。

原理图

 K10的原理图是公开的,可以免费下载:https://img.dfrobot.com.cn/wikicn/62b2fb5caa613609f271523c/cecdbafa7940027b1a554f02bc294547.PDF

结语

K10是基于ESP32的开发板,得益于ESP32的生态,这款开发板功能强大,确实是入门嵌入式的不错选择。

### 行空 K10 在信息科技创新大赛中的创意智造代码示例 行空 K10 是一款专为快速体验物联网和学习人工智能设计的开发学习,其易用性和强大的功能使其成为适合各个年龄段学生的理想选择[^1]。以下是一个基于行空 K10 的屏幕显示循环图文“行空 K10”的代码示例,该示例展示了如何初始化屏幕、设置背景颜色并实现循环显示文字。 #### 初始化屏幕并显示循环图文的代码示例 ```python from pinpong.board import Board, Pin from pinpong.extension.unihiker import * # 初始化行空对象 k10 = Unihiker() def setup(): # 初始化行空 k10.begin() # 初始化行空对象[^2] # 初始化屏幕方向 k10.initScreen(screen_dir=3) # 设置屏幕方向[^2] # 创建画布 k10.creatCanvas() # 创建画布[^2] # 设置屏幕背景颜色为黑色 k10.setScreenBackground(0x000000) # 设置背景颜色为黑色 def loop(): while True: # 显示文字 k10.clearDisplay() # 清除屏幕内容 k10.setTextSize(2) # 设置文字大小 k10.setTextColor(0xFFFFFF) # 设置文字颜色为白色 k10.drawText("行空 K10", 50, 50) # 在屏幕上绘制文字 k10.display() # 刷新屏幕显示 time.sleep(1) # 延时一秒 # 显示图案(例如一个简单的矩形) k10.drawRect(50, 100, 100, 50, 0xFFFFFF) # 绘制矩形 k10.display() # 刷新屏幕显示 time.sleep(1) # 延时一秒 # 调用函数 setup() loop() ``` #### 代码说明 - `k10.begin()`:初始化行空对象,确保硬件正常工作[^2]。 - `k10.initScreen(screen_dir)`:设置屏幕方向,参数`screen_dir`可选值为0至3,分别代表不同的屏幕旋转角度。 - `k10.creatCanvas()`:创建一个用于绘图的画布[^2]。 - `k10.setScreenBackground(color)`:设置屏幕背景颜色,参数`color`为十六进制颜色值。 - `k10.drawText(text, x, y)`:在屏幕上指定位置`(x, y)`绘制文字。 - `k10.drawRect(x, y, width, height, color)`:绘制矩形,参数分别为左上角坐标、宽高和颜色。 此代码示例展示了如何使用行空 K10 实现屏幕上的循环图文显示,适用于信息科技创新大赛中的创意智造项目。 #### 硬件控制扩展示例 以下是一个扩展示例,展示如何通过按钮控制 LED 灯的开关状态: ```python from pinpong.board import Board, Pin # 初始化引脚 button_pin = Pin(Pin.P16, Pin.IN) # 按钮连接到P16 led_pin = Pin(Pin.P17, Pin.OUT) # LED连接到P17 def loop(): while True: button_state = button_pin.read_digital() # 读取按钮状态 if button_state == 0: # 按钮按下时 led_pin.write_digital(1) # 打开LED灯 else: led_pin.write_digital(0) # 关闭LED灯 # 调用函数 loop() ``` #### 代码说明 - `Pin(Pin.P16, Pin.IN)`:将 P16 引脚设置为输入模式,用于检测按钮状态。 - `Pin(Pin.P17, Pin.OUT)`:将 P17 引脚设置为输出模式,用于控制 LED 灯。 - `button_pin.read_digital()`:读取按钮的数字状态,返回值为 0 或 1。 - `led_pin.write_digital(state)`:设置 LED 灯的状态,`state` 参数为 0 或 1。 此代码示例展示了如何通过按钮控制 LED 灯的开关状态,适用于信息科技创新大赛中的互动硬件设计项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神一样的老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值