- 2025-01-08
-
回复了主题帖:
【测评入围名单(最后1批)】年终回炉:FPGA、AI、高性能MCU、书籍等65个测品邀你来~
个人信息无误,确认可以完成测评计划
- 2025-01-02
-
回复了主题帖:
【Follow me第二季第4期】任务提交
lugl4313820 发表于 2024-12-30 22:20
恭喜大佬完成了作品,这个开发板可玩的东西挺多的吧。
是的板载器件还是很多的,蓝牙什么的都还没来得及体验。
- 2024-12-30
-
回复了主题帖:
【Follow me第二季第4期】任务提交
补上源码链接:Follow me第二季第4期-嵌入式开发相关资料下载-EEWORLD下载中心
- 2024-12-29
-
加入了学习《【Follow me第二季第4期】任务提交》,观看 【Follow me第二季第4期】任务提交
-
加入了学习《【Follow me第二季第4期】ARDUINO NANO RP2040 CONNECT》,观看 Arduino NANO RP2040演示合集
-
发表了主题帖:
【Follow me第二季第4期】任务提交
本帖最后由 eew_kTvRL7 于 2025-1-12 21:25 编辑
# 任务介绍
本帖为[Follow me第二季第4期](https://www.eeworld.com.cn/huodong/digikey_follow_me_2024_04/ "Follow me第二季第4期")的任务提交帖。
任务包含以下内容:
1. 搭建环境并开启第一步Blink三色LED / 串口打印Hello DigiKey & EEWorld!
2. 调试IMU传感器,通过串口打印数据;
3. 调试PDM麦克风,通过串口打印收音数据和音频波形。
4. 通过RGB LED不同颜色显示PDM麦克风收到的声音大小;
5. 通过IMU数据结合机器学习算法,识别运动状态,并通过串口打印。
使用到的物料包括:
1. Arduino Nano RP2040 Connect
2. 无源蜂鸣器
3. 面包板
设计思路:除发声单元使用蜂鸣器模块,其它任务可使用板载器件完成。
# 软件流程图
## 任务1
```cpp
void rgbBlink(){
for(int i = 0; i < 100; i++){
digitalWrite(LEDR,HIGH);
digitalWrite(LEDG,LOW);
digitalWrite(LEDB,LOW);
delay(100);
digitalWrite(LEDR,LOW);
digitalWrite(LEDG,HIGH);
digitalWrite(LEDB,LOW);
delay(100);
digitalWrite(LEDR,LOW);
digitalWrite(LEDG,LOW);
digitalWrite(LEDB,HIGH);
delay(100);
}
}
void task1(){
Serial.println("********** Task 1 **********");
rgbBlink();
Serial.println("Hello DigiKey & EEWorld!");
Serial.println("********** Task 1 **********");
}
```
## 任务2
```cpp
void task2(){
Serial.println("********** Task 2 **********");
static float Ax, Ay, Az;
static float Gx, Gy, Gz;
if (!IMU.begin()) {
Serial.println("Failed to initialize IMU!");
while (1);
}
Serial.print("Accelerometer sample rate = ");
Serial.print(IMU.accelerationSampleRate());
Serial.println("Hz");
Serial.println();
Serial.print("Gyroscope sample rate = ");
Serial.print(IMU.gyroscopeSampleRate());
Serial.println("Hz");
Serial.println();
for(int i = 0; i < 100; i++){
if (IMU.accelerationAvailable()) {
IMU.readAcceleration(Ax, Ay, Az);
Serial.println("Accelerometer data: ");
Serial.print(Ax);
Serial.print('\t');
Serial.print(Ay);
Serial.print('\t');
Serial.println(Az);
Serial.println();
}
if (IMU.gyroscopeAvailable()) {
IMU.readGyroscope(Gx, Gy, Gz);
Serial.println("Gyroscope data: ");
Serial.print(Gx);
Serial.print('\t');
Serial.print(Gy);
Serial.print('\t');
Serial.println(Gz);
Serial.println();
}
delay(500);
}
IMU.end();
Serial.println("********** Task 2 **********");
}
```
## 任务3 & 4
```cpp
void task3(){
Serial.println("********** Task 3 **********");
static const char channels = 1;
static const int frequency = 16000;
// Configure the data receive callback
PDM.onReceive(onPDMdata);
if (!PDM.begin(channels, frequency)) {
Serial.println("Failed to start PDM!");
while (1);
}
setPWM(pwm, 13, 4000, 50);
for(int i = 0; i < 100; i++){
if (samplesRead) {
// Print samples to the serial monitor or plotter
for (int i = 0; i < samplesRead; i++) {
if(channels == 2) {
Serial.print("L:");
Serial.print(sampleBuffer);
Serial.print(" R:");
i++;
}
if(sampleBuffer > 1000){
digitalWrite(LEDR,HIGH);
digitalWrite(LEDG,LOW);
digitalWrite(LEDB,LOW);
}else{
digitalWrite(LEDR,LOW);
digitalWrite(LEDG,HIGH);
digitalWrite(LEDB,LOW);
}
Serial.println(sampleBuffer);
}
// Clear the read count
samplesRead = 0;
static int fq=4000;
if(fq>=10000) fq=2000;
fq+=1000;
}
delay(500);
}
setPWM(pwm, 13, 100, 0);
Serial.println("********** Task 3 **********");
}
```
视频演示:[任务演示汇总](https://training.eeworld.com.cn/video/42209"任务演示汇总")
任务源码:https://download.eeworld.com.cn/detail/eew_kTvRL7/635462
心得体会:Arduino快速实现一个功能(在有现成库的情况下)与传统基于MCU进行裸机开发的便利程度几乎不可同日而语,加上Arduino IDE提供了一个开箱即用的开发环境,可以说Arduino对于电子爱好者或者希望实现某种特定功能的用户来说是一个非常实用的工具。很高兴能参与EEworld和得捷举行的本次活动,体验到Arduino这个高效的开发平台。
-
上传了资料:
Follow me第二季第4期
- 2024-12-15
-
加入了学习《【Follow me第二季第4期】任务汇总》,观看 【Follow me第二季第4期】任务汇总
- 2024-11-20
-
发表了主题帖:
【Follow me第二季第4期】 任务备忘录
本帖最后由 eew_kTvRL7 于 2024-11-20 22:49 编辑
活动主页
本次活动购买的器件先亮个相:
稍稍尴尬的是蜂鸣器的接口似乎跟2.54的杜邦线不太合,面包板用起来可能不大方便。后知后觉看到有网友买了配套的扩展板,事先没了解全只能默默羡慕。
任务列表
必做任务一:搭建环境并开启第一步Blink三色LED / 串口打印Hello DigiKey & EEWorld!
必做任务二:学习IMU基础知识,调试IMU传感器,通过串口打印六轴原始数据
必做任务三:学习PDM麦克风技术知识,调试PDM麦克风,通过串口打印收音数据和音频波形。
选做任务一(非必做):通过RGB LED不同颜色、亮度显示PDM麦克风收到的声音大小;
选做任务二(非必做):通过IMU数据结合机器学习算法,识别运动状态,并通过串口打印。
必做一
HelloWorld一下,工作正常。
必做二
按图示顺序安装后,很容易就可以实现读取IMU数据的功能
必做三
不需要第三方库,这个打印波形的功能还蛮有意思的
-
回复了主题帖:
【Follow me第二季第4期】活动备忘录
论坛的markdown支持似乎比较一般呀
-
发表了主题帖:
【Follow me第二季第4期】活动备忘录
本帖最后由 eew_kTvRL7 于 2024-11-20 22:10 编辑
# 【Follow me第二季第4期】 任务备忘录
[活动主页](https://www.eeworld.com.cn/huodong/digikey_follow_me_2024_04/)
本次活动购买的器件先亮个相:
稍稍尴尬的是蜂鸣器的接口似乎跟2.54的杜邦线不太合,面包板用起来可能不大方便。后知后觉看到有网友买了配套的扩展板,事先没了解全只能默默羡慕。
板子pinout
## 任务列表
必做任务一:搭建环境并开启第一步Blink三色LED / 串口打印Hello DigiKey & EEWorld!
必做任务二:学习IMU基础知识,调试IMU传感器,通过串口打印六轴原始数据
必做任务三:学习PDM麦克风技术知识,调试PDM麦克风,通过串口打印收音数据和音频波形。
选做任务一(非必做):通过RGB LED不同颜色、亮度显示PDM麦克风收到的声音大小;
选做任务二(非必做):通过IMU数据结合机器学习算法,识别运动状态,并通过串口打印。
## 必做一
HelloWorld一下,工作正常。
- 2024-11-12
-
回复了主题帖:
冲【Follow Me第二季第4期】已下单,等板子!!!!
:time:楼主打算用三块板子来完成任务么?我记得没在任务中使用的不报呀