内容介绍
内容介绍
本设计使用第六期funpack的MAX32660板卡作为控制器,
利用MPU6050采集xyz各轴上的加速度,计算传感器的xy平面与重力方向夹角
使用atan2, 分别计算xy轴合力与z轴方向的夹角,并转化为角度值:
x_angle=atan2(aacx,aacz)*180/3;
y_angle=atan2(aacy,aacz)*180/3;
x_angle = x_angle<-30?-30:x_angle>30?30:x_angle;
y_angle = y_angle<-30?-30:y_angle>30?30:y_angle;
OLED_DrawCircle((uint8_t)(64+y_angle),(uint8_t)(32+x_angle),5);
OLED_Refresh();
以上参考了网站上的水平仪项目代码。
本次作业另一个要求是,结合屏幕实现手表效果
屏幕上会显示一个半径5像素的点,随着电路板的倾斜方向运动
sec = RTC_GetSecond();
day = sec / SECS_PER_DAY;
sec -= day * SECS_PER_DAY;
hr = sec / SECS_PER_HR;
sec -= hr * SECS_PER_HR;
min = sec / SECS_PER_MIN;
sec -= min * SECS_PER_MIN;
OLED_ShowChar(10, 8, (char)(48+hr/10),24);
OLED_ShowChar(20, 8, (char)(48+hr%10),24);
OLED_ShowChar(30, 8, (char)(46+(sec%2?12:13)),24);
OLED_ShowChar(40, 8, (char)(48+min/10),24);
OLED_ShowChar(50, 8, (char)(48+min%10),24);
这段代码是获取系统RTC时间,计算出小时和分钟后显示在屏幕上,就完成了作业的第二个要求
心得:在参加了项目的培训和交流之后,熟悉了官方函数的使用,接下来的移植工作就是C语言的基础知识了。这次活动大家有热心交流,也加快了开发速度,总之能收获很多知识。
软硬件
附件下载
b.zip
团队介绍
团队成员
大熊Bear
评论
0 / 100
查看更多
猜你喜欢
Funpack第六期-使用max32660实现智能手表硬件基于max32660, 软件基于rt-thread实现智能手表
james
2770
FastBond智能可穿戴之智能手表原型MAX32660主控芯片,ADXL345测量倾角,SHT40测量温湿度,配有SS1306 12864OLED屏,通过RTC计算、显示万年历、倾角、温湿度信息,时间每秒刷新一次,倾角、温湿度每一分钟刷新一次,按键可即刻更新倾角、温湿度信息。
葉SiR
3560
FastBond智能可穿戴之多功能心率手环本设计使用美信公司的MAX32660单片机为主控核心,心率测量使用MAX32660心率传感器。除此之外还设计搭载OLED显示,陀螺仪步数检测等功能。
Dino
2515