- 2025-02-27
-
回复了主题帖:
《控制之美(卷2)——最优化控制MPC与卡尔曼滤波器》——轨迹追踪
好巧,我刚好也买了这本书,这本书是写的真的好,帖主有在哪里用到MPC算法吗?
- 2025-02-15
-
回复了主题帖:
【哪吒2观后感】奔赴热爱,沉下心来,追求卓越
欧阳熟 发表于 2025-2-14 17:51
作为嵌入式工程师,我觉得《哪吒2》在技术层面展现了国产动画的巨大进步。影片中角色的动作和特效表现极为 ...
哈哈,厉害了,加油!
- 2025-02-14
-
回复了主题帖:
【哪吒2观后感】奔赴热爱,沉下心来,追求卓越
wangerxian 发表于 2025-2-14 08:59
回想往事还是很多感概的地方呀!凑空我也去看看哪吒2,不过对象不喜欢看动漫。
哈哈,不知从什么时候开始,我也喜欢回想往事了,但我想人还是要多向前看的。哪吒2几乎对所有观众全覆盖,值得一看,相信看完以后你们会有很多话题。
-
回复了主题帖:
【哪吒2观后感】奔赴热爱,沉下心来,追求卓越
okhxyyo 发表于 2025-2-14 06:20
那种全身心投入的感觉真的非常棒!
现在真的感觉时间越来越少了。其实想想,也可能是担着年轻的时候有 ...
嗯嗯,是的,全身心投入确实非常棒,成家立业后这种感觉越来越少,我感觉一方面是需要承担的事确实越来越多了起来,另一方面我感觉是专注力越来越弱了,慢慢培养,我相信会好的。
-
回复了主题帖:
你参加哪吒2的百亿项目了吗?
哈哈,受宠若惊,谢谢管管,祝大家越来越好,相信美好的事情即将发生!ps:丙丙画的很好看哦!
-
发表了主题帖:
【哪吒2观后感】奔赴热爱,沉下心来,追求卓越
本帖最后由 lb8820265 于 2025-2-14 00:37 编辑
《哪吒2》现在票房破百亿了,这个电影真是太好看了,一直到现在我还在回味电影中的情节,这破百亿也让我深感自豪,仿佛是自己获得了巨大的肯定一般。这个电影的制作过程给我颇多感触,导演饺子大学是学医的,但是由于从小便热爱动画,便弃医从影,这必定是顶着巨大的压力的,好在并没有颓废,坚持自己热爱的事业,我完全能体会到这种心情,当全心投入其中后,会欲罢不能,这就是热爱的力量,会像都对待孩子一样对待自己的作品。《哪吒2》和《黑神话悟空》中有许多工作者宁愿不要钱也要将东西做出来,这就是奔赴热爱。除此之外,还有对效果的不将就,国外团队做不好那就自己做,要做就要做最好,追求卓越,能取得这样的票房成绩也就顺理成章了。
我也有不少这样的时刻,无一例外都给我带来了巨大的好处,我试举几例:
其一,是在读大学的时候,在快考试之前临时抱佛脚,下午在教室里面自习,坐在窗户旁边,一坐就是一下午,直到感觉肚子饿了才走出教室,却被眼前的一切惊呆了,外面白茫茫的一片,下大雪了,可明明中午还没下呀,我不禁被自己感动,坐在窗户旁边的我却不知道外面何时下起了雪,我记得我那门课叫做《矩阵论》,其他同学都觉得考试很难,而我考了极高分。
其二,是备战飞思卡尔智能小车竞赛的时候,已经不记得多少个夜晚我披星戴月,在学习、思考和实验中度过的,睡觉时候想,吃饭时候想,这段时间让我学到了不少。结果也是不错的,虽然在小车比赛中没有取得很好的成绩,但是参加了电赛,取得了好成绩,并因此保研。
其三,是在公司,我成为了一个节目的导演,那段时候天天都扑在上面,细细打磨节目,制作特效视频,当然,效果不错,我也有了个导演的诨名,随后这个节目用相同的名字延续了4次,不过后面都不是我来主导了。
2024年我完成了新房装修,特地弄了一个工作间,却用来坐在里面玩游戏刷短视频。有了宝宝,现在宝宝3个多月了,假期中,我几乎天天陪着宝宝,完全没有完整的时间。现在,身边的杂事越来越多,要做和想做的事也越来越多,现在社会很奇怪,明明什么都比以前快了,理应有更多时间,但现在最缺的就是时间,周围的吸引也越来越多,越来越难沉下心来做一件事,有一种老骥伏枥的感慨。
2025年给自己的寄语:奔赴热爱,沉下心来,追求卓越,成功自然追随你!
- 2024-12-29
-
发表了主题帖:
【Follow me第二季第4期】提交帖:全部任务
本帖最后由 lb8820265 于 2025-1-12 10:23 编辑
项目演示视频
物料展示
整个学习的过程只需要一个Arduino RP2040 开发板即可,开发板上自带有许多的传感器。
前期准备工作
Arduino® Nano RP2040 Connect这个开发板是Arduino公司生产的产品,用的是树莓派Pico中的RP2040,树莓派有针对该芯片有专门的专门的SDK,是用C语言写的,我之前有学习过,但这次Arduino公司有对其进行封装,让其上手变得特别简单,使用Arduino IDE可以非常简单的完成一些简单的任务,完全不需要关注底层的驱动和相关的配置。但是也有许多不便的地方,比如定时器需要另外的安装库,PIO的功能甚至连库也没找到,而且许多的库也没法看到源码。最后还是决定用Arduino IDE来完成本次的任务。
先在Arduino官网上将IDE软件下载下来然后安装,使用USB线连接好电脑与开发板,正常情况会默认识别出硬件与端口号,如下图所示。
而且提示安装对应的库文件,没安装也可以在后期搜索Arduino Mbed OS Nano Boards安装,如下图所示。
任务成果展示
任务一:
搭建环境并开启第一步Blink三色LED / 串口打印Hello DigiKey & EEWorld!;
三色LED灯的原理是通过三个引脚来控制的,引脚拉低,对应颜色的灯就发光。
但是,三个引脚是从Wifi芯片上引出的,这点和官方树莓派Pico的做法一样。
因此,需要安装WiFi芯片的库文件,在库文件搜索处,搜索WifiNINA,然后安装,如下图所示。
程序流程图如下:
程序全部源码如下:
#include "WiFiNINA.h"
void setup() {
Serial.begin(9600);
pinMode(LEDR, OUTPUT);
pinMode(LEDG, OUTPUT);
pinMode(LEDB, OUTPUT);
}
void loop() {
Serial.println("Hello DigiKey & EEWorld!");
// Red
digitalWrite(LEDR, LOW);
digitalWrite(LEDG, HIGH);
digitalWrite(LEDB, HIGH);
delay(500);
// Green
digitalWrite(LEDR, HIGH);
digitalWrite(LEDG, LOW);
digitalWrite(LEDB, HIGH);
delay(500);
// Blue
digitalWrite(LEDR, HIGH);
digitalWrite(LEDG, HIGH);
digitalWrite(LEDB, LOW);
delay(500);
}
代码是然后LED三色闪烁,同时串口发送"Hello DigiKey & EEWorld!"。
可以先点击IDE的“√”按钮,看看语法有没有错误,然后点击“->”按钮进行程序烧录。
看到提示”Done uploading”就说明烧录成功了,如下图。
串口可以使用IDE软件自带的串口工具,在Tools->Serial Monitor中,设置好波特率后,就可以看到打印的字符。
任务二:
学习IMU基础知识,调试IMU传感器,通过串口打印六轴原始数据;
板子上有ST公司的陀螺仪加速度计芯片,叫做LSM6DSOX,Arduino IDE有IMU的库函数,但是需要额外安装,在库中搜索安装如下。
可以去Arduino官网中查看该库的详细介绍:Arduino_LSM6DSOX | Arduino Documentation,这个库函数写的非常的简单,而且限制了数据的跟新频率为104Hz,详细的源码可以去官方Github库中查看:arduino-libraries/Arduino_LSM6DSOX。
程序流程图如下:
程序全部源码如下:
#include <Arduino_LSM6DSOX.h>
float Ax, Ay, Az;
float Gx, Gy, Gz;
float data[6];
char tail[] = {0x00, 0x00, 0x80, 0x7f};
void setup() {
Serial.begin(115200);
while(!Serial);
if (!IMU.begin()) {
Serial.println("Failed to initialize IMU!");
while (1);
}
}
void loop() {
if (IMU.accelerationAvailable()) {
IMU.readAcceleration(Ax, Ay, Az);
data[0]=Ax;
data[1]=Ay;
data[2]=Az;
}
if (IMU.gyroscopeAvailable()) {
IMU.readGyroscope(Gx, Gy, Gz);
data[3]=Gx;
data[4]=Gy;
data[5]=Gz;
}
Serial.write((char *)data, sizeof(float) * 6);
Serial.write(tail, 4);
}
程序是在loop中不断的查询数据是否准备好,然后获取数据并发送出来。烧录程序后数据的展示使用的是一个叫做VOFA+的软件,这是一个免费的数据波形展示软件,设定两个波形显示控件,左边是加速度计的值,右边是陀螺仪的值,配置好数据引擎为JustFloat,配置好串口参数,打开DTR,如下图所示。
然后转动开发板,显示的结果如下图所示。
任务三:
学习PDM麦克风技术知识,调试PDM麦克风,通过串口打印收音数据和音频波形。
该任务在库例程中有一个直接可用的例程,在File->Examples->PDM,这个例子可以直接烧录运行,然后在IDE自带的数据显示工具中显示波形数据,但是波形显示的数据量太少,不太直观,这里仍然用VOFA+软件进行波形的展示,稍微修改一下例程中的代码,将波特率改为115200,数据按照通信协议进行发送。
程序流程图如下:
程序全部源码如下:
#include <PDM.h>
float data[2];
char tail[] = {0x00, 0x00, 0x80, 0x7f};
// default number of output channels
static const char channels = 1;
// default PCM output frequency
static const int frequency = 16000;
// Buffer to read samples into, each sample is 16-bits
short sampleBuffer[512];
// Number of audio samples read
volatile int samplesRead;
void setup() {
Serial.begin(115200);
while (!Serial);
// Configure the data receive callback
PDM.onReceive(onPDMdata);
// Optionally set the gain
// Defaults to 20 on the BLE Sense and 24 on the Portenta Vision Shield
// PDM.setGain(30);
// Initialize PDM with:
// - one channel (mono mode)
// - a 16 kHz sample rate for the Arduino Nano 33 BLE Sense
// - a 32 kHz or 64 kHz sample rate for the Arduino Portenta Vision Shield
if (!PDM.begin(channels, frequency)) {
Serial.println("Failed to start PDM!");
while (1);
}
}
void loop() {
// Wait for samples to be read
if (samplesRead) {
for (int i = 0; i < samplesRead; i++) {
data[0] = sampleBuffer[i];
Serial.write((char *)data, sizeof(float) * 1);
Serial.write(tail, 4);
}
samplesRead = 0;
}
}
/**
* Callback function to process the data from the PDM microphone.
* NOTE: This callback is executed as part of an ISR.
* Therefore using `Serial` to print messages inside this function isn't supported.
* */
void onPDMdata() {
// Query the number of available bytes
int bytesAvailable = PDM.available();
// Read into the sample buffer
PDM.read(sampleBuffer, bytesAvailable);
// 16-bit, 2 bytes per sample
samplesRead = bytesAvailable / 2;
}
烧录后对着板子说话,就可以在波形上位机中看到变化的声音波形数据了,如下图所示。
项目总结
这次使用Arduino® Nano RP2040 Connect开发板结合Arduino IDE确实体验到了开发的便利性,但是如果想要更好的发挥出这个板子的全部性能,做出有意思的东西,则还需要进行探索,期望后期能用这块板子做更多有意思的东西。
程序源码
Follow me 第二季第4期任务一-嵌入式开发相关资料下载-EEWORLD下载中心
Follow me 第二季第4期任务二-嵌入式开发相关资料下载-EEWORLD下载中心
Follow me 第二季第4期任务三-嵌入式开发相关资料下载-EEWORLD下载中心
-
加入了学习《Arduino? Nano RP2040任务讲解视频》,观看 Arduino Nano RP2040任务讲解视频
- 2024-12-28
-
上传了资料:
Follow me 第二季第4期任务三
-
上传了资料:
Follow me 第二季第4期任务二
-
上传了资料:
Follow me 第二季第4期任务一
- 2024-12-27
-
加入了学习《直播回放: DigiKey FollowMe 第二季 第4期 Arduino Nano RP2040 Connect 任务讲解》,观看 Arduino Nano RP2040 Connect 任务讲解
-
加入了学习《 【Follow me第二季第4期】任务汇总》,观看 FM4
-
加入了学习《【Follow me第二季第1期】全部任务演示》,观看 全部任务演示2.0
- 2024-09-28
-
加入了学习《Quartus Prime开发流程(英特尔官方教程)》,观看 Quartus_Prime与基于硬件描述语言的开发流程2
-
加入了学习《Quartus Prime开发流程(英特尔官方教程)》,观看 Quartus_Prime与基于硬件描述语言的开发流程1
- 2024-05-13
-
发表了主题帖:
【2023 DigiKey大赛参与奖】开箱帖 Raspberry Pi 5 4G
参与奖购买了Raspberry Pi 5 4G,之前一直玩的树莓派4,听说5升级很大,买一个来玩玩
-
回复了主题帖:
51“万里”树莓派小车——树莓派图传遥控小车(视频展示)
lkh747566933 发表于 2024-5-8 17:28
大佬厉害啊,图传用的什么方案,无人机能用吗?
哈哈,图传就是树莓派的WiFi呀,电脑和树莓派连在同一个WiFi上,通过视频推流就可以获取,无人机的话应该不太行,WiFi的距离有限。
-
回复了主题帖:
16“万里”树莓派小车——光电编码器学习(转速的获取)
nicklgw 发表于 2024-5-12 19:06
电机转速的正反,怎么获取了?
由于编码器是有AB相的,可以通过相位获取,Pico的PIO编码器接口可以自动的获取电机的正反转