【S103】自助饮品调配机
作品说明 |
作者:陈子豪、邓振宇、黄鹏伟、孙志伟
单位:莆田学院
指导老师:范剑红、佘栋梁
1. 市场调研及市场前景说明
目前只有阿里的智慧系统使用到这种桌面级的机械臂,属于前沿作品,主要面向市场有奶茶店或是酒吧,一方面可以制造噱头,试想在区域内只有独此一家的科技产物,想必可以成为一条街上最靓的崽!另一方面,奶茶店这类店铺,通常都不会有太大的店面,这样一来,小巧的机械臂就十分受到欢迎!
2. 作品功能介绍及先进性说明
2.1 功能
可实现的功能有,蓝牙控制,自己编写软件可控,将数据传输给单片机,从而做到——混搭的效果。主要路径就是蓝牙连接,选择需要饮料的量,发送数据给单片机,舵机开始动作,到相应的点取相应的饮料。程序上可使舵机保持水平!
2.2 先进性
本作品主要用于酒吧或者奶茶店等位置不需要大,可以放在旮旯的角落。独创的桌面固定,简单可拆卸,可以调整的机械臂定点,可转180°的大范围区间,放上较多的原料。
作品说明
自助饮品调配机
3. 工作流程图
4. 技术说明
4.1 主要技术支持
蓝牙模块也算是比较常见的了,我们用它来与一些智能设备(手机,电脑及其他支持蓝牙的设备)连接,利用它来传输一些数据,指导机械臂进行运作。
4.2 手机APP的源程序及界面
5. 作品制作过程说明
5.1 思路来源
奶茶店人工打奶茶的过程,所需的人工可以通过机械代替,响应国家2025计划,就想出一个代替这个过程的器械,自助饮料调配机。以下是本作品想进行的改进,可用加热且保温的奶茶桶:
5.2 方案选择过程
有过多组方案:夹具选择搭配上述保温桶,机械臂的选择,用得不同的舵机,修改WiFi还是蓝牙的控制,最后经过讨论,决定使用这样一套方案。因为保温桶的开关不是很好打开,才使用了塑料的杯桶,还有就是后期会添加。夹具使用一个舵机啮合齿轮控制,容易失效,后期3D打印会用刚性更好的材料。
5.3 制作过程的照片
6. 示例程序源代码
#include <Servo.h> #include <SoftwareSerial.h> SoftwareSerial BT(11,12); Servo myservo; Servo myservo1;//定义数字接口7 连接伺服舵机信号线 Servo myservo2;//定义数字接口4 连接伺服舵机信号线 Servo myservo3;//定义数字接口3 连接伺服舵机信号线 Servo myservo4;//定义数字接口8 连接伺服舵机信号线 Servo myservo5;//定义数字接口A2 连接伺服舵机信号线 float a,b,i,h,j,k,l; void setup() { //初始化电机驱动IO为输出方式 myservo1.attach(7);//h myservo2.attach(4);//j myservo3.attach(3);//k myservo4.attach(8);//l myservo5.attach(A2);//b
Serial.begin(115200); BT.begin(115200); //告诉电脑,蓝牙准备好了 Serial.println("BT is ready!"); }
void loop() { // put your main code here, to run repeatedly: //===================机械臂取水杯====================
while(BT.available()>0) { chushihua();
yidian();
erdian();
sandian();
zhongdian();
while(1); }
}
void chushihua()//杯子存放点及其过渡点坐标 { myservo1.write(5);//设置舵机旋转的角度 myservo2.write(0);//设置舵机旋转的角度 myservo3.write(0);//设置舵机旋转的角度 myservo4.write(0);//设置舵机旋转的角度 myservo5.write(130);//设置舵机旋转的角度 delay(500);
for(j=0,k=0,l=20;j<90;j++,k++,l++) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000);
for(b=130;b>60;b--) { myservo5.write(b);//设置舵机旋转的角度 delay(30); // 等待电机旋转到目标角度 } delay(500);
for(j=90,k=90,l=110;j>70;j--,k--,l--) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000); }
void yidian() //饮料1及其过渡点坐标 { for(h=5;h<70;h++) { myservo1.write(h);//设置舵机旋转的角度 delay(30); // 等待电机旋转到目标角度 } delay(1000);
for(j=70,k=70,l=90;j>50;j--,k--,l-=2.5) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000);
for(j=50,k=50,l=40;j<70;j++,k++,l+=2.5) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000); }
void erdian() //饮料2及其过渡点坐标 { for(h=70;h<110;h++) { myservo1.write(h);//设置舵机旋转的角度 delay(30); // 等待电机旋转到目标角度 } delay(1000);
for(j=70,k=70,l=90;j>50;j--,k--,l-=2.5) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000);
for(j=50,k=50,l=40;j<70;j++,k++,l+=2.5) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000); }
void sandian() //饮料3及其过渡点坐标 { for(h=110;h<150;h++) { myservo1.write(h);//设置舵机旋转的角度 delay(30); // 等待电机旋转到目标角度 } delay(1000);
for(j=70,k=70,l=90;j>50;j--,k--,l-=2.5) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000);
for(j=50,k=50,l=40;j<70;j++,k++,l+=2.5) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000); }
void zhongdian() { for(h=150;h>5;h--) { myservo1.write(h);//设置舵机旋转的角度 delay(30); // 等待电机旋转到目标角度 } delay(1000);
for(j=70,k=70,l=90;j<90;j++,k++,l++) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000); for(b=60;b<130;b++) { myservo5.write(b);//设置舵机旋转的角度 delay(30); // 等待电机旋转到目标角度 } delay(500); }
void sidian() { for(h=110;h>5;h--) { myservo1.write(h);//设置舵机旋转的角度 delay(30); // 等待电机旋转到目标角度 } delay(1000);
for(j=70,k=70,l=90;j<90;j++,k++,l++) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000); for(b=60;b<130;b++) { myservo5.write(b);//设置舵机旋转的角度 delay(30); // 等待电机旋转到目标角度 } delay(500); }
void erkai() {
for(b=130;b>60;b--) { myservo5.write(b);//设置舵机旋转的角度 delay(30); // 等待电机旋转到目标角度 } delay(500);
for(j=90,k=90,l=110;j>70;j--,k--,l--) { myservo2.write(j); myservo3.write(k); myservo4.write(l); delay(50); } delay(1000); } |
* 本项目未获得作者开源授权,无法提供资料下载。
|