|
【S127】基于语音控制的多功能衣架
作品说明 |
作者:李国凯 孙圆 柳林志 王富升
单位:山东农业工程学院
指导老师:赵志桓 姜明明
1. 市场调研及市场前景说明
晾衣架主要分为手摇晾衣架、电动晾衣架两种类型。
由于手摇晾衣架本身存在构造简陋,使用寿命短、保养繁琐等种种缺陷,无法满足消费者日益发展的家居智能化需求。原始的晾衣架是只有一根绳子或者铁丝到穿一根钢管,之后出现了尼龙绳拉着升降,后来又发明了尼龙绳式手摇晾衣架,八九十年代,晾衣架进化到了钢丝手摇式。
电动晾衣架随着现代科技的发展,人们对生活水平不断提高电动晾衣架必然是未来发展的潮流。电动晾衣架不仅具有时尚美观、款式新颖及种类的多样性,而且可以将晾衣架的各种智能模块集成到一起,如遥控自动升降、智能风干、LED照明、暖风烘干、蓝牙模块、联网控制等等......
自二十一世纪来随着国内经济高速发展及房地产的快速扩张,直接促进了装修家居行业飞速发展,其中晾衣架市场已顺势脱颖而出,十年间得以迅猛发展。智能晾衣架作为一个独立的行业,逐步由起步阶段慢慢成熟。
2. 作品功能介绍及先进性说明
本作品设计的多功能衣架拥有市面上大部分产品没有的语音识别功能,可以通过语音控制衣架升降,控制晾衣杆旋转来调节衣服位置,并有灯光提供照明。
① 普及性:材料简单,易于安装,操作简单,受众广,可大面积推广。
② 便捷性:操作简单,不再需要人手动操作衣架升降,也不需要人来回移动调整挂衣服的位置,只需语音控制,站在原地即可控制衣架升降,调整挂衣服的位置。
③ 个性化:可调整语音使之符合人的个人习惯
④ 安全性:结构稳定,操作简单,安全可靠。
3. 作品制作过程说明
思路来源:看到学校宿舍传统衣架操作繁杂,需要人来回移动操作,不智能不人性化,于是想到对衣架进行改进,使之更智能更便于使用,能够使人减少移动,通过语音控制衣架移动升降。
方案选择方式:利用语音控制直流电机转动,直流电机带动绳子带动衣架上升下降和左右旋转。
作品说明
制作过程照片
2. 示例程序
控制程序源代码:#include <SoftwareSerial.h>
//实例化软串口 SoftwareSerial yuyinSerial(12, 11); // RX, TX #define DebugSerial Serial int a;//定义一个全局变量a,用来存放串口接收到的数据的。 void setup() { pinMode( 5, OUTPUT); pinMode( 6, OUTPUT); pinMode( 9, OUTPUT); pinMode( 10, OUTPUT); yuyinSerial.begin(9600); DebugSerial.begin(9600); delay(3000);//每次上电需延时3秒钟,等待M6SE模块初始化,这个延时不能省略。 } void loop()//循环执行 { if(yuyinSerial.available()) { a = yuyinSerial.read();//读取串口接收到的值,并且存放在a中保存起来 DebugSerial.println(a); } /*if (a == 1) { //Serial.print(a); up_to_down(); //digitalWrite(13, HIGH);//如果识别到开灯,就点亮LED } if (a == 2) { //Serial.print(a); dowm_to_up();
} delay(200);*/ //up_to_down(); // move_right(); switch(a) { case 1:up_to_down();break; case 2:move_left();break; case 3:dowm_to_up();break; case 4:move_right();break; default:break; } a = 0; }
void up_to_down() { analogWrite(9 , 250); analogWrite(10 , 0); delay(5000); analogWrite(9 , 0); analogWrite(10 , 0); }
void dowm_to_up() { analogWrite(9 , 0); analogWrite(10 , 250); delay(5000); analogWrite(9 , 0); analogWrite(10 , 0); }
void move_left() { analogWrite(5 , 80); analogWrite(6 , 0); delay(1000); analogWrite(5 , 0); analogWrite(6 , 0); }
void move_right() { analogWrite(5 , 0); analogWrite(6 , 80); delay(1000); analogWrite(5 , 0); analogWrite(6 , 0); } |
* 本项目未获得作者开源授权,无法提供资料下载。