【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十一:Maixduino AI开发板 k210 RISC-V AI+lOT ESP32视觉听觉开发套装

在这里插入图片描述
在这里插入图片描述

知识点:勘智K210
2018年9月6日,嘉楠科技推出自主设计研发的全球首款基于RISC-V的量产商用边缘智能计算芯片勘智K210。该芯片依托于完全自主研发的AI神经网络加速器KPU,具备自主IP、视听兼具与可编程能力三大特点,能够充分适配多个业务场景的需求。

作为嘉楠科技自主研发的边缘侧AI芯片,勘智K210兼具高能耗比和灵活性。在算力方面,勘智K210可在0.3W的条件下提供1TOP的算力支持,充分适配在多数业务场景中低功耗约束下的算力需求。在芯片集成度方面,勘智K210采用视听一体化设计。在机器视觉上,芯片基于自主研发的神经网络加速器KPU,可完成基于神经网络的图像分类任务,进行人脸识别与检测,以及实时获被检测目标的分类。在听觉能力上,芯片自带APU语音处理单元,最高可支持8路音频数据及16个方向,无需占用CPU即可实现声源定向、声场成像、波束形成、语音识别与唤醒等功能。在算法定制化方面,勘智K210在可编程能力上呈现出更高的灵活性。首先,相比ARM等架构,勘智K210采用RISC-V架构,拥有更强的可定制化能力,便于开发者根据具体应用场景定制算法。其次,芯片搭载FPIOA现场可编程IO阵列,支持TensorFlow、Keras、Darknet、PaddlePaddle和Caffe等主流AI编程框架,以及全面的开发文档,对开发者十分友好。此外,芯片内置64位双核处理器架构,分为计算核与应用核,能够为开发者提供足以应对复杂业务场景的计算资源。

在这里插入图片描述
Maixduino AI开发板功能特性

CPU:RISC-V 双核64bit、内置FPU、400Mhz标准频率(可超频)
内置神经网络处理器
OV2640摄像头:200W像素通用24P摄像头
连接器:兼容Arduino 接口、TF卡槽、扬声器接口
无线功能:支持2.4G 802.11.b/g/n、支持Bluetooth 4.2
音频功能:MEMS 麦克风、3W扬声器输出
8 Bit(256 级) 可调颜色,5Bit (32 级)亮度调节
DVP 摄像头接口:24P 0.5mm FPC 连接器,支持OV2640、5640、7740等
LCD接口:24P 0.5mm FPC 连接器,支持8bit MCU LCD
ESP32模块:支持2.4G 802.11.b/g/n
802.11 n(2.4G)速率达到150Mbps

                     Bluetooth v4.2全规格,包含传统蓝牙(BR/EDR)和低功耗蓝牙(BLE)

开发环境:支持Arduino IDE、MaixPy IDE、OpenMV IDE等

技术规格
尺寸:68mm 54mm
电源输入:USB Type-C(支持6~12V输入)
温升:<20K
工作温度范围:-30~85ºC
MCU:ESP8285
无线标准:802.11 b/g/n
频率范围:2400Mhz~2483.5Mhz
发射功率:802.11.b:+15dBm
802.11.g:+10dBm(54Mbps)

                    802.11.n:+10dBm(65Mbps)

无线连接器:IPEX 3.03.0mm
Wi-Fi模式:Station/SoftAP/SoftAP+Station

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第1张图片

k210 RISC-V AI+lOT ESP32视觉听觉开发套装 ,包括有
OV2640摄像头:200W像素通用24P摄像头
ST7789驱动器芯片2.4寸LCD屏(24P 320X240)

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第2张图片
板载MEMS麦克风
MEMS(微型机电系统) 麦克风是基于MEMS技术制造的麦克风,简单的说就是一个电容器集成在微硅晶片上,可以采用表贴工艺进行制造,能够承受很高的回流焊温度,容易与 CMOS 工艺及其它音频电路相集成,并具有改进的噪声消除性能与良好的 RF 及 EMI 抑制能。MEMS麦克风的全部潜能还有待挖掘,但是采用这种技术的产品已经在多种应用中体现出了诸多优势,特别是中高端手机应用中。

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第3张图片
【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第4张图片
MEMS MIC优势
实际使用的大多数麦克风都是ECM(驻极体电容器)麦克风,这种技术已经有几十年的历史。ECM 的工作原理是利用驻有永久电荷的聚合材料振动膜。与ECM的聚合材料振动膜相比,MEMS麦克风在不同温度下的性能都十分稳定,其敏感性不会受温度、振动、湿度和时间的影响。由于耐热性强,MEMS麦克风可承受260℃的高温回流焊,而性能不会有任何变化。由于组装前后敏感性变化很小,还可以节省制造过程中的音频调试成本。MEMS麦克风需要ASIC提供的外部偏置,而ECM没有这种偏置。有效的偏置将使MEMS麦克风在整个操作温度范围内都可保持稳定的声学和电气参数,还支持具有不同敏感性的麦克风设计。传统ECM的尺寸通常比MEMS麦克风大,并且不能进行SMT(表面贴装技术)操作。在MEMS麦克风的制造过程中,SMT回流焊简化了制造流程,可以省略一个通常以手工方式进行的制造步骤。在ECM麦克风内,必须添加进行信号处理的电子元件;而在MEMS麦克风中,只需在上添加额外的专用功能即可。与ECM相比,这种额外功能的优点是使麦克风具有很高的电源抑制比,能够有效抑制电源电压的波动。另一个优点是,集成在芯片上的宽带RF抑制功能,这一点不仅对手机这样的RF应用尤其重要,而且对所有与手机操作原理类似的设备(如助听器)都非常重要。MEMS麦克风的小型振动膜还有另一个优点,直径不到1mm的小型薄膜的重量同样轻巧,这意味着,与ECM相比,MEMS麦克风会对由安装在同一PCB上的扬声器引起的PCB 噪声产生更低的振动耦合。

MEMS MIC发展前景
对于大型的半导体制造商来说,他们具备制造该产品系列的核心能力。首先是MEMS 设计和制造能力,其次是ASIC设计和制造能力,最后是大容量、低成本的封装能力。迄今为止,音频公司一直占据着几乎整个MEMS麦克风市场,它们必须依赖半导体代工厂提供相关技术并与他们分享利润。现在,英飞凌的进入意味着该市场拥有了新的选择,并且降低了元件购买者的风险。尺寸方面的限制主要来自MEMS本身。另外,由于音频端口不能采用真空工具进行操作,尺寸的进一步缩小将会受到制造过程中标准自动化贴装工具的限制。ASIC中将会集成更多功能:和数字输出是第一步;还可利用标准组件,如风噪信号过滤组件;专用接口和信号预处理将成为很大的应用领域;RF屏蔽也会得到进一步改进。在音频方面,MEMS麦克风也会有很多变化。SMM310不只在20Hz20kHz的频率范围内针对人声进行了优化,还有较高的声学敏感性。很难预测何时会出现带有集成式麦克风并能记录美妙立体声的单芯片摄像电话,但毫无疑问,技术正在朝着这个方向发展。
【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第5张图片

MEMS麦克风的构造图
相较于ECM麦克风的聚合材料振动膜,在不同温度下,MEMS麦克风所展现的性能都相当稳定,不会受到时间、温度、湿度和振动的影响。MEMS麦克风的耐热性相当强,可以承受摄氏260度的高温回流焊,但是其性能不会有任何变化。再加上MEMS麦克风可以有效的降低射频所产生的干扰,这就让其逐渐发展成为麦克风主流。MEMS麦克风包含一个灵活悬浮的薄膜,它可在一个固定背板之上自由移动,所有元件均在一个硅晶圆上制造。该结构形成一个可变电容,固定电荷施加于薄膜与背板之间。传入的声压波通过背板中的孔,引起薄膜运动,其运动量与压缩和稀疏波的幅度成比例。这种运动改变薄膜与背板之间的距离,进而改变电容,如下图所示。在电荷恒定的情况下,此电容变化转换为电信号。

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第6张图片

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第7张图片
【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第8张图片
【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第9张图片

【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
实验一百五十三:Maixduino AI开发板 k210 RISC-V AI+lOT ESP32视觉听觉开发套装
项目之四:测试板载MEMS麦克风之添加语音识别库
安装库,开发板自带

/*【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
实验一百五十三:Maixduino AI开发板 k210 RISC-V AI+lOT ESP32视觉听觉开发套装
项目之四:测试板载MEMS麦克风之添加语音识别库
安装库,开发板自带
*/

#include "Maix_Speech_Recognition.h"

SpeechRecognizer rec;//语音识别器记录

void setup()
{
rec.begin();
Serial.begin(115200);
Serial.println("start rec...");
if( rec.record(0, 0) == 0) // 关键字num,型号num
{
rec.print_model(0, 0);
}
else
Serial.println("rec failed");
}

void loop()
{
}

项目之四:测试板载MEMS麦克风之添加语音识别库
安装库,开发板自带

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第10张图片

【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
实验一百五十三:Maixduino AI开发板 k210 RISC-V AI+lOT ESP32视觉听觉开发套装
项目之五:寻找Maixduino板载LED端口号(pin1)
Maixduino 支持基本的 Arduino 输入输出函数,你可以像使用其他 Arduino 开发板一样使用它们。
Maixduino 可以自由操作不超过 32 个数字 IO 口,并可以将它们同时映射到 48 个 FPIO 上。

/*
【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
  实验一百五十三:Maixduino AI开发板 k210 RISC-V AI+lOT ESP32视觉听觉开发套装
  项目之五:寻找Maixduino板载LED端口号(pin1)
  Maixduino 支持基本的 Arduino 输入输出函数,你可以像使用其他 Arduino 开发板一样使用它们。
  Maixduino 可以自由操作不超过 32 个数字 IO 口,并可以将它们同时映射到 48 个 FPIO 上。
*/

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第11张图片
项目之六:通过模拟输出功能来设置呼吸灯
Maixduino 使用 K210 芯片的 PWM 模块实现模拟输出 analogWrite() 功能。
不能使用模拟输入 analogRead() 功能。
Maixduino 可以在 48 个自由引脚中最多选择 12 个设置模拟输出功能。

/*
【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
  实验一百五十三:Maixduino AI开发板 k210 RISC-V AI+lOT ESP32视觉听觉开发套装
  项目之六:通过模拟输出功能来设置呼吸灯
  Maixduino 使用 K210 芯片的 PWM 模块实现模拟输出 analogWrite() 功能。
  不能使用模拟输入 analogRead() 功能。
  Maixduino 可以在 48 个自由引脚中最多选择 12 个设置模拟输出功能。
*/

int led1 = 1; // 板载LED

void setup()
{
  pinMode(led1, OUTPUT);
}

void setColor(int value)
{
  analogWrite(led1, 220-value);
}

void loop()
{
  int i;
  for (i=0; i<221; i++)
  {
    setColor(i);
    delay(5);
  }
  delay(100);        
}

项目之七:串口输出 “Hello world!”

在Maixduino中,有两种类型的串行设备:UARTHSClass和UARTClass。
序列对应于UARTHSClass,其余的Serial1、Serial2和Serial3是UARTClass。
串行使用默认引脚4(RX),5(TX)。

/*
  【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
  实验一百五十三:Maixduino AI开发板 k210 RISC-V AI+lOT ESP32视觉听觉开发套装

  项目之七:串口输出"Hello world!"

  在Maixduino中,有两种类型的串行设备:UARTHSClass和UARTClass。
  序列对应于UARTHSClass,其余的Serial1、Serial2和Serial3是UARTClass。
  串行使用默认引脚4(RX),5(TX)。
*/

#include 

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.println("Hello world!");
  delay(2000);
}

实验串口返回情况

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板4_第12张图片

你可能感兴趣的:(人工智能,嵌入式硬件,单片机,物联网,Arduino,Maixduino,AI开发板)