步骤1:材料
该项目需要以下材料。
带驱动马达和转向马达的遥控车(我们使用了Elenco无线电遥控车套件:http://www.amazon.com/Elenco-Radio-Controlled-Car -。..)
跳线
焊铁
Arduino Uno(应该可以正常工作)
一个9伏电池
四节AA电池
接近传感器(我们使用https://www.sparkfun.com/products/242)
H-Bridge(我们使用http://www .ti.com/lit/ds/symlink/sn754410.pdf)
用于H桥的散热器
两个LED
两个100-200欧姆电阻
步骤2:组装汽车
取决于您开始使用的材料将RC汽车转换为自动汽车的第一步需要破解实际车辆。也就是说,为了控制汽车的运动,将有必要使用其电动机。对于大多数汽车,这需要拆卸所购车辆。但是,在此示例中,我们购买的车辆分批交付,因此我们描述了构建它的类似过程。
组装商用遥控车相对简单。可能引起混乱的唯一步骤是增加车轴,特别是前轮轴。前轴也很脆弱,应注意避免长时间运行前电动机,以免前轴折断。一旦安装了车轴和相应的齿轮,一个有效的工作车就会减掉电机。汽车附带的使用说明书可能会提示您将电动机连接到电池。但是,在这里,人们停止了原始装配并开始对汽车进行黑客攻击。在这一点上,应该从汽车内部卸下或忽略提供的接收器芯片。
在适当组装了RC汽车的其余部分之后,应收集步骤1中所述的材料并识别未连接的引线。总体而言,应该有7条未连接的电线可被黑客入侵。每个电动机应有两条引线,AA电池的电源应有两条引线。 AA电池中的一根引线也分成了两根引线。然后使用我们的方法将这七个引线引出到H桥。下一步中将给出有关H桥的一般信息。请注意,还附带了一个数据表供参考。
步骤3:Arduino基础
Arduino Uno是必不可少的部分破解汽车的方法如果您还没有Arduino Uno或Leonardo,则可以在线购买,价格为20-25美元。 Arduino非常重要,因为它是一种可以将代码上传到电路的工具。这是通过USB端口启用的,该端口通过电缆连接到计算机。如果您仔细查看提供的图片,您可能会注意到Arduino有用于多个输出以及5伏和地的引脚。 5伏输出由连接到Arduino另一个端口的9伏电池供电,为接近传感器和LED供电。在我们的示例中,我们在Arduino上连接了5V线,并将输出5、6、10和11连接到H桥。除了5V和接地以外,所有引脚实际上都是等效的,除了它们提供的是交流还是直流,因此我们的选择是任意的。实际上,您可以将Arduino视为中间人,它从计算机获取代码并将其中继到H桥。只要您正确连接5V并接地,它就应该易于使用。
第4步:H桥
对于此项目,我们需要一种切换电动机方向的方法,因此我们使用了一个具有8个引脚的SN754410(完整)H桥。全h桥与半h桥相反,可以改变两个电动机的方向,而不仅仅是一个电动机。我们使用的一种产品的数据表可以在上面的材料部分的链接上找到。我们的一侧用于驱动马达(位于汽车后部),另一侧用于转向马达(位于前部)。
销钉的顺序是从驱动器的逆时针方向读取的。半圆为:使能,输入,输出,接地,接地,输出,输入和VCC电源。如上图所示。在电桥的另一侧,引脚被颠倒(使能且vcc引脚位于相对的角上),输入将是arduino与h桥的通信方式,输出将是h桥与电机的通信方式。电机上的导线不必按特定顺序放置。使能引脚用于“接通” h桥,应始终提供电源。我们使用arduino的5伏电源为使能引脚供电,但只要它们始终设置为HIGH,它们也可以由arduino上的引脚之一供电。如果选择了第二个选项,则h桥的一侧的代码将如下所示:
int en1 = 4;
pinMode(EN1,OUTPUT);
要记住的重要一点是,在测试一台电动机时,h桥两端的vcc输入应连接到电源(在我们的案例中是四节AA电池)。我们不确定为什么会这样,但是使用h桥的单侧仍然需要同时为两个vcc输入供电。
要记住的另一个重要方面是,由于存在大量的为了确保电流通过H桥,应使用散热器。
步骤5:为电动机,H桥和接近传感器接线
将电动机和接近传感器接线到H桥是破解RC车最困难的部分。如上所示,创建此电路的一个好方法是使用面包板。但是,如果您遵循我们绘制的图表,则应该可以轻松构建它。首先将H桥放置在电路板的中间,然后用一条扎带将Arduino固定到顶部。接下来,将接近传感器连接到Arduino,将电机连接到H桥。这是在Arduino和H桥之间连接电线的简单问题。上图显示了此过程。请注意,Arduino上只有两个接地引脚,因此有必要在全部接地的面包板上创建一行或一列。在板上创建完全为5V的一行或一列并将Arduino的5V引脚布线到板上也可能会有所帮助。如果您有信心为电路布线,显然可以采用多种方法来修改我们创建的电路,但是您可能希望完全复制该电路以节省时间。
步骤6:替代面包板
如果要如果要使自动驾驶汽车的布线特别紧凑和耐用,则可以考虑制作电路“屏蔽”。这涉及将电路设计打印到铜片上,然后在适当的地方焊接所需的导线和电路元件。显然,不太可能拥有在铜板上印刷电路所需的设备。但是,如果您是一所大学的学生,则很可能会获得我们强烈建议的访问权限。在线有一个名为Eagle的免费程序,可以用来设计这种防护罩。这是链接:
http://www.cadsoftusa.com/download-eagle/?语言。..
我们创建的典型最终设计如图所示以上。
第7步:示例代码
一旦电路工作到位,就有很多机会可以将代码上传到汽车上。使用可以通知汽车向前和向后以及左右移动的接近传感器,理论上可以对汽车进行编程以驱动任何所需的路径,例如通过迷宫或障碍物路线。
我们作为示例提供的以下代码非常简单,易于遵循。如果您没有编码经验,我们建议您将其复制并粘贴到Arduino终端,然后根据需要进行调整。例如,首先将输入值从“ LOW”更改为“ HIGH”,反之亦然,这将改变给定电动机的方向。请注意,我们的代码包含了我们汽车所载LED的命令。这些功能的编码方式相同,如果您的汽车没有LED,则可以忽略它们。
此外,如果您尚未在计算机上下载Arduino终端,则可以通过以下链接免费获得一个Arduino终端:
http://arduino.cc/en/main/software
这是我们在Arduino终端中输入的示例代码:
int input1 = 6;
int input2 = 5;
int input3 = 10;
int input4 = 11;
int blue = 3;
int red = 2;
void setup(){
Serial.begin(9600);
pinMode(输入1,OUTPUT);
pinMode(输入2,OUTPUT);
pinMode(输入3,OUTPUT);
pinMode(输入4,OUTPUT);
pinMode(蓝色,OUTPUT);
pinMode(红,OUTPUT);
}
无效循环(){
int sensorValue = analogRead(A0); Serial.println(analogRead(A0));
延迟(1);
if(sensorValue 《100){
digitalWrite(blue,HIGH);
digitalWrite(红,LOW);
digitalWrite(输入1,LOW);
digitalWrite(输入2,LOW);
digitalWrite(输入3,HIGH);
digitalWrite(输入4,LOW);
}
否则{{br》 digitalWrite(blue,LOW);
digitalWrite(红,LOW);
digitalWrite(input1,LOW);
digitalWrite(输入2,LOW);
digitalWrite(input3,LOW);
digitalWrite(input4,LOW);
delay(2000);
digitalWrite(蓝色,LOW);
digitalWrite(红,HIGH);
digitalWrite(input1,LOW);
digitalWrite(输入2,LOW);
digitalWrite(input3,LOW);
digitalWrite(input4,HIGH);
delay(2000);
digitalWrite(蓝色,LOW);
digitalWrite(红,LOW);
digitalWrite(input1,LOW);
digitalWrite(输入2,LOW);
digitalWrite(输入3,LOW);
digitalWrite(input4,LOW);
delay(2000);
}
}
步骤8:进一步的想法
希望无论如何它都很有用,这条指令令人发指。用RC车创建有趣和有趣的项目有很多可能性,实际上,我们以将其转换为自动驾驶汽车的示例几乎不会刮擦表面。我们仅在汽车上增加了两个LED,用于指示驱动马达的运行方向。肯定有可能在电路中添加更多个LED,这些LED可以根据电动机的速度或电压而点亮,从而可以用作有效的速度表。我们设想添加的另一个有点荒谬的功能是某种防御机制。也就是说,汽车可以在其路径代码中的某个点之后发射小弹丸。这在创建启动器时需要一些独创性,但再次完全可行。
-
遥控汽车
+关注
关注
0文章
7浏览量
6980 -
Arduino
+关注
关注
187文章
6461浏览量
186557
发布评论请先 登录
相关推荐
评论