一、硬件介绍
行空板K10基于ESP32-S3 N16R8(240Mhz)模组开发,该板集成2.8寸LCD彩屏(ILI9341)、WiFi蓝牙、摄像头(200W像素,80度镜头 GC2145)、MEMS双麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口,以及底部的3个RGB灯等;
| 板载功能 | 功能介绍 |
|---|---|
| 双麦克风 | 配备双麦克风,提供更好的降噪效果,显著提高语音唤醒和识别的准确性,确保清晰的录音质量。 |
| 摄像头 | 支持离线人脸检测、宠物检测等AI任务,并能进行拍照和监控,增强设备智能化应用。 |
| 扬声器 | 不仅支持简单的音符播放,还支持语音合成、录音播放和音乐播放,音质清晰,应用广泛。 |
| Wi-Fi和蓝牙 | 内置高效Wi-Fi和蓝牙模块,适用于物联网技术学习和项目开发,确保稳定连接。 |
| 2.8寸高清彩色显示屏 | 可显示彩色文字、图片和摄像头画面,提供丰富的信息展示和视觉效果,增强用户交互体验。 |
| 温湿度传感器 | 内置温湿度传感器,实时监控温湿度环境数据,可快速搭建简易物联网气象站。 |
| 环境光传感器 | 内置数字环境光传感器,输出环境光的物理量数值而不仅仅是光线的强弱等级,为探究实验提供准确的数据来源。 |
| 三轴加速度传感器 | 免校准三轴加速度传感器,实时获取x、y、z轴的加速度数据,可检测设备的各种姿态,适用于多种动态应用。 |
| RGB灯x3 | 可用于流水灯效果和状态指示,提供动感的视觉体验,提升设备的互动性。 |
| 状态指示灯 | 在语音唤醒、拍照、录音等操作时亮灯,让用户快速了解设备状态,提升操作的直观性和便利性。 |
| microSD卡接口 | 支持扩充存储空间,可存储照片、音乐、录音等数据,满足更多数据的存储需求,可实现电子相册、音乐播放器、留声机等项目。 |
二、环境搭建
主要开发环境有【Mind+】、【Arduino IDE】、【VSCode】、【MicroPython】等;
在此使用【Arduino IDE】开发环境,完成相关的开发;
1、添加开发板管理地址 https://downloadcd.dfrobot.com.cn/UNIHIKER/package_unihiker_index.json;
2、安装开发板库 unihiker;
三、代码编写
#include "unihiker_k10.h"
UNIHIKER_K10 k10;
AHT20 aht20;
uint8_t screen_dir = 2;
const char* dir;
void setup() {
k10.begin();
k10.initScreen(screen_dir);
k10.creatCanvas();
k10.setScreenBackground(0x000000);
k10.canvas->canvasText("加速度计方向:", 1, 0x44cef6);
k10.canvas->canvasText("温度:", 4, 0x1685a9);
k10.canvas->canvasText("湿度:", 7, 0xdb5a6b);
k10.canvas->canvasText("光强:", 10, 0xca6924);
k10.canvas->updateCanvas();
}
void loop() {
float temp = aht20.getData(AHT20::eAHT20TempC);
float hum = aht20.getData(AHT20::eAHT20HumiRH);
uint16_t light = k10.readALS();
k10.canvas->canvasText(temp, 5, 0x0000FF);
k10.canvas->canvasText(hum, 8, 0x0000FF);
k10.canvas->canvasText(light, 11, 0x0000FF);
if (k10.isGesture(TiltForward)) dir = "向上";
else if (k10.isGesture(TiltBack)) dir = "向下";
else if (k10.isGesture(TiltLeft)) dir = "向左";
else if (k10.isGesture(TiltRight)) dir = "向右";
k10.canvas->canvasText(dir, 2, 0x0000FF);
k10.canvas->updateCanvas();
delay(500);
}
四、效果演示
在LCD屏幕上显示板载的温湿度、光照强度、加速度传感器方向等信息;
五、总结
通过使用官方的Arduino开发板库,很容易上手使用;
本次的项目,将板载的温湿度、光照强度、加速度传感器等一系列传感器的数值,实时的显示在LCD屏幕上;
并且通过不同的颜色加以区分,更加方便后续直观读取 / 测试板载相关传感器的功能;


