目录

  • 前言
  • 一、方案讲解
    • 1、功能
    • 2、硬件选择
      • 1、主控器:STM32F103C8T6
      • 2、通信:HC-05主从机一体蓝牙模块(重点)
      • 3、舵机:SG90
      • 4、电源:18650
      • 5、充放电一体模块
      • 6、触摸模块
      • 7、人体检测模块
  • 二、AD电路
  • 三、3D建模
  • 四、32程序

前言

工科男是如何通过送礼物气死女朋友的?对于优秀的硬件师,这存在吗?(嘴角疯狂上扬)(其实我之前把电工作业——一个51摩天轮送女朋友,差点没被揍,哈哈哈哈)
      这次应客户要求,做一个异地互动玩偶,话不多说,先看视频(目前是第一版本,暂未优化,客户经费有限,嘿嘿,所以只是简陋版的,可继续优化)

小怪兽&情侣互动玩偶~别被女朋友看到,点赞过万,开源模型跟代码

一、方案讲解

1、功能

智能互动玩偶,当抚摸一只的头部,另一只的心脏会亮起来;当人出现在一只的后面的时候,另外一只的翅膀会动起来。
      两个玩偶是通过蓝牙模块进行交互的,起初是想选用ESP8266利用物联网的方式进行通信,这样可以实现异地的功能,但是客户不想连WiFi,所以只能选蓝牙,有利有弊。相比之下,蓝牙设计起来其实更简单,配置没有那么复杂。

2、硬件选择

1、主控器:STM32F103C8T6

这个玩偶,因为体积不能太大,所以只能用最小系统板,选32不选arduino nano的原因是,nano3.0玄学实在是太多了,调起来是真的麻烦,代码没问题的情况下,能一直出错,过一会去编译又好了(你就说玄不玄学,这还这只是其中一点)

2、通信:HC-05主从机一体蓝牙模块(重点)

这里一定要买主从一体的蓝牙模块,因为要实现互连的动能。

连接方式:

1、【AT模式】两个蓝牙模块的PIO11(也就是EN引脚,HC-05有6个脚,HC-06是4个)接VCC,上电后即进入AT指令模式,都用USB转TTL模块连接到电脑的USB接口。

2、【打开串口调试助手】开启2个串口调试窗口,一个打开蓝牙A的COM口,一个打开蓝牙B的COM口。【默认波特率一般为38400】

3、【恢复A默认设置】串口调试助手A,将蓝牙A恢复默认设置:AT+ORGL 【 即回车、换行,在串口调试助手上输入一个回车即可】

4、【设置A配对码】串口调试助手A,配置蓝牙A的配密码:AT+PSWD=0000 【蓝牙A与蓝牙B的密码相同,这样才能成功配对】

5、【设置A主模式】串口调试助手A,将蓝牙A配置为主机模式:AT+ROLE=1

6、【恢复B默认设置】串口调试助手B,将蓝牙B恢复默认设置:AT+ORGL

7、【设置B配对码】串口调试助手B,配置蓝牙B的密码与蓝牙A一致:AT+PSWD=0000

8、【设置B从模式】串口调试助手B,将蓝牙B配置为从机模式:AT+ROLE=0

第8步完成后直接跳到第11步,因为绑定地址后,有玄学,两个蓝牙没办法互连,让他们任意自动连就没问题

11、【常规工作模式】2个模块的PIO11引脚都接地,重新上电后进入常规工作模式,自动完成配对。之后,串口调试助手A和串口调试助手B就能互传数据了。

3、舵机:SG90

4只小蓝舵机(如果翅膀用连杆结构,那么一只玩偶可以只用一只舵机,这里考虑到单独控制,所以一只玩偶是用了两只舵机)

4、电源:18650

2个18650电池加电池盒子。(一只玩偶一个)

5、充放电一体模块

用这个模块主要是为了能实现重放电,因为客户非工科专业所以如果把电池拿进拿出就会很不方便。

6、触摸模块

触摸后,会反馈高电平信号,记得做按键滤波,不然会有毛刺,检测不准。

7、人体检测模块

主要用来检测人,从而让翅膀震动。

二、AD电路

因为客户时间赶,本来这块板子是我用来调试作品用的,所以看起来并不是最优的,如果后面有做第二版应该优化一下的。(电路不做过多解释,主要是给核心板做个扩展板,方便调试)


三、3D建模

3D建模主要由不眠者科技团队的向子声设计:
      交互玩偶采用的是PLA材料用FDM3D打印技术制造完成,由于受到FDM技术成型原理的影响,所以把玩偶的畸角从模型上分割开来单独打印,不仅可以减少支撑用料,而且还可以让模型更加光滑细腻,除此之外,模型的整体曲线设计也有一定的技巧,可以让模型的成品效果更好。因为模型里面要放传感器之类的电子元器件,所以在模型后面开了个后盖,使用自攻螺丝安装固定后盖。对于PLA材料打印的模型,市面上有专门的PLA涂料可以给模型上色DIY,可以让每个模型都独具特色。

打印注意事项:
1.冬天打印要把热床温度稍微调高一点,防止翘边。
2.模型整体比较大,如果是近端挤出的打印机建议把喷头温度调到190度,不然打印时间长了容易卡料。
3.翅膀打印的时候和热床接触面比较小,建议加个底板打印,防止打印途中模型翻倒。

四、32程序

//主函数main.c
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "led.h"
#include "usart.h"
#include "string.h"
#include "timer.h"/************************************************
PB6、7作为按键CM_KEY
PC13作为LED测试
PA11作为舵机口
按键为单次按键,按下后松开程序才会正常运行,不可一直按着不动,会丢失另一端发过来的数据
PB0 LED
RX接B10 TX接B11
************************************************/ //USART_PRINTF_FLAG=1   就是用串口1打印数据,USART_PRINTF_FLAG=3,就是用串口3打印数据
extern int USART_PRINTF_FLAG;u8 TX_flag1=0;
u8 TX_flag2=0;
u8 RX_flag1=0;
u8 RX_flag2=0;
u8 DJ_flag=1;void usart3(void);int main(void){  delay_init();       //延时函数初始化NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级LED_Init();    //初始化与LED连接的硬件接口(LED0 端口PC13)KEY_Init();    //初始化按键uart1_init(9600);   //串口1初始化为115200//一般连电脑,可以作为蓝牙的接收端,波特率要与蓝牙一致。uart3_init(9600);//蓝牙波特率一般都是9600TIM1_PWM_Init(199,7199); TIM_SetCompare4(TIM1,195);TIM_SetCompare1(TIM1,195);while(1){if(CM_KEY1==1){if(TX_flag1==1)TX_flag1=0;else TX_flag1=1;printf("[%d,%d]\r\n",TX_flag1,TX_flag2);while(CM_KEY1==1);}if(CM_KEY2==1){if(TX_flag2==1)TX_flag2=0;else TX_flag2=1;printf("[%d,%d]\r\n",TX_flag1,TX_flag2);while(CM_KEY2==1);}  delay_ms(10);usart3();if(LED1==1){TIM_SetCompare4(TIM1,190);TIM_SetCompare1(TIM1,182);delay_ms(1000);TIM_SetCompare4(TIM1,182);TIM_SetCompare1(TIM1,190);delay_ms(1000);}if (LED1==0) {TIM_SetCompare4(TIM1,180);TIM_SetCompare1(TIM1,180);}if(LED5==1)GPIO_ResetBits(GPIOA,GPIO_Pin_7);if(LED5==0)GPIO_SetBits(GPIOA,GPIO_Pin_7);}
}void usart3(void)//接收函数
{if(USART3_RX_STA&0x8000){if((USART3_RX_BUF[0]==0x5B)&&(USART3_RX_BUF[4]==0x5D))  //判断第0位是否是"["和第2位是否是“]”{RX_flag1=USART3_RX_BUF[1]-'0';LED5=RX_flag1;RX_flag2=USART3_RX_BUF[3]-'0';LED1=RX_flag2;}USART3_RX_STA=0;}
}

五、完整工程获取(32程序+3D模型+AD电路)
(2022年1月22号上传,还在整理)
获取方式①:关注公共号:不眠者科技。回复:情侣互动玩偶,即可免费获取资源链接。
获取方式②:直接点击下载:基于STM32:情侣互动玩偶(设计方案+源码+3D图纸+AD电路)
不眠者科技,一个专注于大学生竞赛的平台,欢迎大家关注交流。

基于STM32:情侣互动玩偶(设计方案+源码+3D图纸+AD电路)相关推荐

  1. 基于STM32的门禁系统源码分享

    哈哈哈,今晚把电脑里面以前做的库存都分享出来了.给大家一个参考吧.这个的功能好像还有点多,有一年了,我也记不清了.我记得是有 一个门禁的指纹录入,门禁的RFID卡录入,显示当前刷卡或者按指纹的是谁,以 ...

  2. 毕业论文 | 基于STM32的MPU6050程序设计(源码)——卡尔曼滤波

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 MPU_6050.h #defin ...

  3. 物联网毕业设计 基于STM32的环境质量监测系统(源码+原理图+论文)

    文章目录 0 前言 1 设计架构 功能设计 2 原理图 3 软件设计 4 实现效果 5 相关代码 6 最后 0 前言

  4. 物联网毕业设计 基于stm32的智能婴儿车系统(源码+硬件+论文)

    文章目录 0 前言 1 设计思路 2 硬件设计(原理图) 3 核心软件设计 4 实现效果 5 最后 0 前言

  5. 毕业设计 基于stm32的智能婴儿车系统(源码+硬件+论文)

    文章目录 0 前言 1 设计思路 2 硬件设计(原理图) 3 核心软件设计 4 实现效果 5 最后 0 前言

  6. 毕业设计 基于STM32的环境质量监测系统(源码+原理图+论文)

    文章目录 0 前言 1 设计架构 功能设计 2 原理图 3 软件设计 4 实现效果 5 相关代码 6 最后 0 前言

  7. 基于Java毕业设计学生课堂互动教学系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计学生课堂互动教学系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计学生课堂互动教学系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S ...

  8. 基于JAVA鞋店销售管理计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA鞋店销售管理计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA鞋店销售管理计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: 项目架构:B/S ...

  9. 基于JAVA汽车出租平台计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA汽车出租平台计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA汽车出租平台计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  10. java计算机毕业设计教学互动跟踪系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计教学互动跟踪系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计教学互动跟踪系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...

最新文章

  1. linux系统中文件编程,Linux当中的文件系统
  2. 双数据源其中一个数据源的dao文件报BindingException
  3. 完全背包:以重量分阶段
  4. 深度学习-Tensorflow2.2-图像处理{10}-图像语义分割-23
  5. Yii框架里用grid.CGridView调用pager扩展不显示最后一页按钮的解决
  6. 内向的人怎样改善人际关系
  7. 转:标准C++中的string类的用法总结
  8. Xamarin开发教程如何使用Xamarin开发Android应用
  9. android 横向长图,Android实现截超长图
  10. 【报告分享】2021抖音数据报告.pdf(附下载链接)
  11. 如何利用国内开源镜像站,下载想要的资源
  12. 2013年IT界25个最古怪的面试题
  13. 乐筑携手大通,共筑全球绳网产业互联网领导者平台
  14. springboot+mybatis+新加属性自动加数据库字段
  15. android 三星 蓝牙sco,android – 来电后蓝牙SCO失败
  16. php上传报未定义偏移量,PHP注意:未定义的偏移量:1,当读取数据时带数组
  17. android访问win10共享文件夹,手机怎么用ES浏览器访问Win10共享文件教程
  18. 思维导图 · B端业务的难点
  19. vc++ 调用winapi调节屏幕亮度
  20. 引入CSS样式的三种方法

热门文章

  1. Aras innovator: 如何搜索指定长度的字符串
  2. 【Java项目整理】-> CsFramework -> 从零开始手动搭建一个C/S模式中间件
  3. [Jzoj]3457. 沙耶的玩偶
  4. 国际植物基博览会2022年6月首次亮相上海;海瑞温斯顿珠宝王国在北京开设新零售沙龙 | 知消...
  5. Win10 Edge浏览器假死解决方案
  6. 互联网保险投诉量翻倍 众安与安心财险上榜
  7. laravel-admin模型表格和详情展示关联数据
  8. OSChina 周六乱弹 —— 女菩萨,你可愿做贫僧的……
  9. 关联规则-策略挖掘中必不可少的算法
  10. 小米11的root过程记录