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

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

清扫的地板清洁机器人!(2)

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

  • 信号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.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%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片