最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

清扫的地板清洁机器人!

时间:2017-05-17 20:46来源:未知 作者:admin 点击:
其余的引脚都必须按下面的连接: 信号1D6在Arduino 信号2D9在Arduino 信号3D10在Arduino 信号4D11在Arduino +5 +5在Arduino ---- GND,GND的Arduino +12V(汽车将在这个电压移动)----被连接到电池后 接下来是蓝牙
清扫的地板清洁机器人!

清扫(想不出更好的名字:P)是一款智能手机控制的机器人,清洁你的房子的地板!旋转拖把在机器人的前面,随着泡沫轴(用于粉刷墙壁,不在这里)在后面可以很好的完成工作。还有一个水泵和储水器可切换的时候,需要把水放在地板上,把拖把湿一个适当的清洁。泡沫轴是活动的,这意味着你可以把它在不使用时。我还增加了速度控制的驱动电机。

该项目采用蓝牙通信通过hc-05蓝牙模块发送命令最常用的单片机Arduino Uno。机器人是供电,12V铅酸电池,所有电机的理想电压..驱动电机,对100rpm的而我用75rpm塑料的拖把。

最好的部分是,拖把使用自制,从旧CD和破烂的衣服,他们只是很干净。这是一个较小的版本,可能不适合大面积。有吨的其他附加功能,像是完全自主的,我不能由于缺乏时间。

我花了大概4-5天完成这件事,同时制作过程的视频。希望你能喜欢。

你甚至可以通过对建筑过程视频观看这一走:

这是行动中的一个视频的机器人:

订阅我的更多这样棒的DIY渠道!

_______________________

我知道这个项目是很棒的XD。所以请投票给它在'机器人'和'微'比赛在它适合的类别。还有,别忘了跟我。

一如既往,问题和建议在评论框总是受欢迎的(或者你可以给我发邮件)。

订阅我的YouTube更多这样的项目渠道!;)

步骤1:零件和工具

零件和工具

下面的部件和工具建设这个项目所需的:

零件

  • 2x 100rpm减速电机
  • 2x轮毂电机
  • 2x 75rpm塑料齿轮减速电机/轮
  • 1x Arduino Uno
  • 1x hc-05 / 06蓝牙模块
  • 1x L293D电机驱动板
  • 1X标准伺服电机(旋转180度)
  • 1x 12V密封铅酸蓄电池
  • 1x 12V水泵泵
  • 2x tip31c / TIP122 NPN功率晶体管
  • 2x旧CD
  • 油漆滚筒轴W /
  • 擦拭布/餐巾/碎布
  • 针和线
  • 乙烯管
  • 彩虹丝
  • 男男/女女/男女跳线
  • 男/女头
  • 穿孔板
  • 螺母和螺钉
  • 胶合板基地
  • 油漆滚筒轴W /
  • 600毫升塑料瓶

工具

  • W /焊锡烙铁
  • 热胶枪/胶棒
  • Rotatory的工具
  • 钳子
  • 线切割机/汽提塔
  • 切纸机
  • 磁带
  • 安全设备同时工作(重要!)

 

零件的总成本:约30美元(2000卢比)

步骤2:把基地的准备

获得基础准备

第一步是准备基础上的部分将被放置。为此,首先得到一块胶合板切割,测量12x9英寸。基本不看伟大,所以使它看起来有吸引力,我把它漆成白色和橙色条纹的黑色在与丙烯酸涂料的边界。

在这之后,每回都钻在电机夹两孔。做适当的测量,两者应相互平行。解决他们在使用一些螺丝然后将电机夹。

步骤3:使地板moppers和重视他们的基地

使地板moppers和重视他们的基地

我在一个YouTube视频发现这个想法(点击这里)。使廉价的DIY moppers圆形楼,你可以用同一块布旧光盘。

第一个标志上应大于CD布一圈。把它用一把剪刀。

用针和线开始缝制褶皱布以这样一种方式,它环绕着整个CD。(我很坏)

参考上面的图片或看看视频,或者T他的一个。

在你完成了所有的褶皱,使2-3节最后把剩下的线。

重复相同的第二CD。

附上轮子的塑料齿轮减速电机。热胶车轮的CD。

的moppers必须放在前面。在这样一种方式,保持布的相互远离的马达和马达是从两边相等距离热胶。确保适当的触底布

步骤4:供水机制

水的供给机制

这是一个进行从水库水12V水泵泵和溢出在地板上的拖把。第一关,钻和修复您的泵到位。

以600毫升空塑料瓶切成一半用裁纸刀。使用较低的一半放在使用一些热胶机器人基地。

拿两条橡胶管。一个将被连接到泵的入口要从泵和二将用来从泵把水送到楼水库的水。添加秸秆出口稍后将做。

该泵可打开/关闭通过你的智能手机就像其他控件。

步骤5:辊机构

辊机构

托辊的目的是把小尘粒本身。它将不需要每次机器人移动所以我决定做一个简单的机制,可以把它向上或向下通过伺服电机。

首先你需要钻在伺服连接孔。以及钻一孔几乎相同大小的滚筒手柄。用螺丝拧紧和滚子附件。

电机将被放置在一个高度,滚子接触到地板,可以很容易解除。使用两7x2.5厘米的木制件和热熔胶伺服顶。

步骤6:焊接电路

焊接电路

为拖把齿轮减速电机和水泵是通过Arduino控制,必须要有一个外部电路都需要12V运行但是Arduino只能提供一个5V输出。我用TIP122 NPN功率晶体管和焊接到一块试验电路板。电路简单,提供以上。

另外,我焊接的一些男性和女性的头使+5V和GND的电源轨这些引脚被限制在Arduino和我们需要充足的他们为每个组件被连接。按照上面的图片和焊料两钢轨,每一个+5V和GND。

步骤7:连接

联系

现在这是典型的部分。你必须准确。为了使它更容易一点,我总是用跳线可以交换或删除任何时间。

在这之前,钻一些洞,用螺丝固定你的Arduino的地方。

开始连接减速电机的驱动板。焊料的一些线电机端子,然后将它们连接到驱动电路的螺丝端子。#p#分页标题#e#其余的引脚都必须按下面的连接:

  • 信号1——D6在Arduino
  • 信号2——D9在Arduino
  • 信号3——D10在Arduino
  • 信号4——D11在Arduino
  • +5 +5在Arduino ----
  • GND,GND的Arduino
  • +12V(汽车将在这个电压移动)----被连接到电池后

接下来是蓝牙模块。连接:

  • ---- + 5V VCC Arduino
  • GND,GND的Arduino
  • RX TX Arduino ----
  • RX TX ---- Arduino

添加一个分压器信号引脚,如果你害怕在Arduino的信号引脚烧。

两个拖把电动机必须并联运行,一个逆时针的和正确的顺时针方向转动,当看到从前方左。用热收缩管保持连接的安全。焊接电机线晶体管电路,按照上面给出的示意图。同样,连接水泵的电线以及。

我们将提供12V的电池直接向晶体管电路,然后12v将Arduino的VCC和电机驱动电路。

连接晶体管的两个基地,控制拖把D5在Arduino和晶体管,控制泵的D4在Arduino。从所有的汽车公共地线必须连接到Arduino的GND。

现在所剩下的就是伺服电机。连接:

  • ---- + 5V VCC Arduino
  • GND,GND的Arduino
  • 信号---- D3对Arduino

你总是可以在原理图一看。

步骤8:整理

完成

把所有的电路板,电线,用热胶在地方管。它应该看起来整洁,电线不应该纠缠和连接不中断,它可以刺激。

下一步,把两根吸管切成长度约7cm。粉碎和挤压的一端到水泵出水管。他们都在向相反的方向弯曲,并把它们粘在这样的水流从吸管和只是一个小瀑布前的旋转拖把(看图片)。别忘了把一些磁带,吸管连接使水不漏。

步骤9:上传代码

上传的代码

上传之前从Arduino删除RX和Tx电缆!

连接板的电脑程序与下面的代码。你可以做出必要的改变。

请务必设置正确的COM端口和板下的工具。

在完事之后,取代RX和Tx线。你需要删除它们,每次你上传的代码。

<p>#include <br>Servo myServo;</p><p>int r_motor_n = 10; //PWM control Right Motor +
int r_motor_p = 11; //PWM control Right Motor -
int l_motor_p = 9; //PWM control Left Motor -
int l_motor_n = 6; //PWM control Left Motor +
int pump = 4;
int mop = 5;
int serv = 3;
int speedy = 255;
int incomingByte = 0; // for incoming serial data</p><p>void setup()
{
myServo.attach(3);
myServo.write(0);  
pinMode(r_motor_n, OUTPUT); //Set control pins to be outputs
pinMode(r_motor_p, OUTPUT);
pinMode(l_motor_p, OUTPUT);
pinMode(l_motor_n, OUTPUT);
pinMode(pump, OUTPUT);
pinMode(mop, OUTPUT);
digitalWrite(r_motor_n, LOW); //set both motors off for start-up
digitalWrite(r_motor_p, LOW);
digitalWrite(l_motor_p, LOW);
digitalWrite(l_motor_n, LOW);
digitalWrite(pump, LOW);
digitalWrite(mop, LOW);
Serial.begin(9600);
}</p><p>void loop()
{</p><p>if (Serial.available() > 0) 
{
incomingByte = Serial.read();
}</p><p>switch(incomingByte)
{</p><p>case 'S': // control to stop the robot
digitalWrite(r_motor_n, LOW); 
digitalWrite(r_motor_p, LOW);
digitalWrite(l_motor_p, LOW);
digitalWrite(l_motor_n, LOW);
Serial.println("Stop");
incomingByte='*';
break;</p><p>case 'R': //control for right
analogWrite(r_motor_n, speedy); 
digitalWrite(r_motor_p, LOW);
analogWrite(l_motor_p, speedy);
digitalWrite(l_motor_n, LOW);
Serial.println("right");
incomingByte='*';
break;</p><p>case 'L': //control for left
analogWrite(r_motor_n, LOW); 
digitalWrite(r_motor_p, speedy);
analogWrite(l_motor_p, LOW);
digitalWrite(l_motor_n, speedy);
Serial.println("right");
incomingByte='*';
break;</p><p>case 'F': //control for forward
analogWrite(r_motor_n, speedy); 
digitalWrite(r_motor_p, LOW);
analogWrite(l_motor_p, LOW);
digitalWrite(l_motor_n, speedy);
Serial.println("right");
incomingByte='*';
break;</p><p>case 'B': //control for backward
analogWrite(r_motor_n, LOW); 
digitalWrite(r_motor_p, speedy);
analogWrite(l_motor_p, speedy);
digitalWrite(l_motor_n, LOW);
Serial.println("right");
incomingByte='*';
break;</p><p>case 'P': // pump on
digitalWrite(pump, HIGH);
Serial.println("pump on");
incomingByte='*';
break;</p><p>case 'p': // pump off
digitalWrite(pump, LOW); 
Serial.println("pump off");
incomingByte='*';
break;</p><p>case 'M':
digitalWrite(mop, HIGH); // mopper on
Serial.println("mopper on");
incomingByte='*';
break;</p><p>case 'm':
digitalWrite(mop, LOW); // mopper off
Serial.println("mopper off");
incomingByte='*';
break;</p><p>case 'U': // roller up
myServo.write(0);
Serial.println("roller up");
incomingByte='*';
break;</p><p>case 'u': // roller down
myServo.write(135);
Serial.println("roller down");
incomingByte='*';
break;</p><p>case '1':
speedy = 155;
Serial.println("speed= 10");
incomingByte='*';
break;</p><p>case '2':
speedy = 185;
Serial.println("speed= 25");
incomingByte='*';
break;</p><p>case '3':
speedy = 215;
Serial.println("speed= 75");
incomingByte='*';
break;</p><p>case '4':
speedy = 255;
Serial.println("speed= 100");
incomingByte='*';
break;</p><p>delay(5000);
}
}</p>
 
  • code_for_cleansweep.inocode_for_cleansweep.ino
    下载

步骤10:将电池

连接电池

的电源,这是你要使用的电池类型的选择。电压是12V的。我会推荐一个铅酸电池或倍李离子18650,3.7v每个串联。

用双面胶带或热熔胶来保持电池的地方。+ VE终端将晶体管电路,将从那里走到VCC在Arduino和电机驱动电路。-我的终端将连接到共同接地。使用合适的电池连接器。

你甚至可以添加一个打开/关闭主开关。

如果在Arduino发光LED的功率,这一切都很好。立即删除源如果亮度迅速重新检查所有连接。不要用很高的电压调节器上的其他董事可能过热。

步骤11:配置应用程序和连接

配置应用程序和连接

去谷歌Play商店把这个程序称为“蓝牙串口控制器可让您设定自己的控制按钮和命令。

打开应用程序后,在“设置”,然后单击“能见度”

关闭按钮5,9度,12我们不需要他们。

下一步,走上“名”的图标,设置显示名为每个按钮。使他们短,3-4个字母。

例如,看看我上面的名字。

现在的“命令”选项下,设置以下命令(不含引号)为每个按钮(他们是区分大小写的):

  • 按钮1(FWD):F
  • 按钮2(BCK):B
  • 按钮3(LFT):L
  • 按钮4(RGT):R
  • 按钮6(mpon):m
  • 按钮7(MPOF):m
  • 按钮8(PMP):P
  • 按钮10(RUP):“U”
  • 按钮11(rdwn):“U”
  • 按钮13(S1):1
  • 按钮14(S2):“2”
  • 按钮15(S3):“3”
  • 按钮16(S4):“4”

在“停止命令”部分,在“命令”本身,你需要设置以下停止命令只提到下面的按钮:

  • 按钮1:“S”
  • 按钮2:“S”
  • 按钮3:“S”
  • 按钮4:“S”
  • 按钮8:P

这意味着,如果不按下按钮2,命令“S”将发送这将阻止机器人。

连接机器人,首先对蓝牙模块命名为“hc-05”或其他。密码是“0000”或“1234”

然后连接配对,通过程序模块。

新闻检查所有按钮的应用程序之一。

步骤12:结束!

结束!

所以这是我的第二十九个命令结束。去尝试其他项目以及。

这还可以有很多的修改。我想让它完全自主的超声波、红外传感器但不能由于缺乏时间。你可以试试这个功能。使它避免凹凸不平的表面和墙壁。添加一个真空吸尘器或移动的雨刮器连接到伺服。一如既往的,可能性是无止境的。

我希望你喜欢这一个,如果你做了,请投票!这是我的YouTube频道随着这些项目的视频教程。

疑惑或建议欢迎。在下面的评论或给我发邮件。


(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片