本文要介绍的是一种基本的模型火车布局,其中包含经过的侧线,火车以自动顺序运行和停止。
制作模型火车布局是一个很好的爱好,自动化它们会让它变得更好!让我们来看看它自动化的一些优势:
低成本运行:整个布局由arduino微控制器控制,使用l298n电机驱动器,与传统的列车控制油门和电源组相比,它们的成本几乎为零。
放置在显示器上的理想选择:由于不需要人为干预来保持对布局的控制,因此您可以在无法始终在场的显示器上使用它来控制火车和道岔。
非常适合微控制器爱好者:如果您是或想要开始使用arduino和编程,这是一个锻炼技能的好项目。
所以,事不宜迟,让我们开始吧!
第1步:观看项目
第2步:获取所有零件和组件
首先,请确保您具备以下所有条件:
一个arduino微控制器板,uno是首选。
l298n双h桥电机驱动板。
6公对公跳线。
7公对母跳线。
一把螺丝起子。
一个12伏直流电源适配器。
底部带有红外接近传感器的轨道段(我使用的是katos62轨道)
第3步:将程序上传到arduino板
如果您的计算机上没有arduinoide,请先下载。然后使用这一段code:
inti=0;//integertostorethelocomotive‘sspeedatascalefrom0to255.
intswitchlimit=80;//integertostorethespeedlimitatwhichthetrainwillenterthesiding.
voidcheck_n_switch(){
if(digitalread(a0)==high){//checkingifthesensordetectsthetrainpassingthesensoredtrack.
if(i《=switchlimit){//ifthespeedvalueisgreaterthanthesetvalue.
switch_to_pass();//directthetraintothesiding.
}
if(i》switchlimit){//ifthespeedvalueislessthanthesetvalue.
switch_to_main();//directthetraintothemainline.
}
}
}
voidswitch_to_pass(){
digitalwrite(11,low);
digitalwrite(12,high);
delay(200);
digitalwrite(12,low);
}
voidswitch_to_main(){
digitalwrite(12,low);
digitalwrite(11,high);
digitalwrite(11,high);
delay(200);
digitalwrite(11,low);
}
voidsetup(){
pinmode(a0,input);
pinmode(9,output);
pinmode(10,output);
pinmode(11,output);
pinmode(12,output);
}
voidloop(){
switch_to_pass();//switchingturnoutstothesidingsincethetrainwillstartthejourneyfrothere.
for(i=0;i《=40;i++){//increasingthespeedofthelocmotiveto40,atthisspeedthelightsturnonbutthetrainremainsatrest.
analogwrite(9,i);
delay(10);
}
delay(1000);
for(i=40;i《=90;i++){//increasingthespeedofthelocomotiveto90
analogwrite(9,i);
check_n_switch();
delay(500);
}
delay(4000);
for(i=90;i《=180;i++){//increasingthespeedofthelocomotiveto180.
analogwrite(9,i);
check_n_switch();
delay(250);
}
delay(3000);
for(i=180;i!=90;i--){//decreasingthespeedofthelocmotivebackto90.
analogwrite(9,i);
check_n_switch();
delay(500);
}
delay(2000);
while(digitalread(a0)==low){//waitforthetraintocrossthesensoredtrack.
}
switch_to_pass();//switchtheturnoutstodirectthetraintothesiding.
delay(2000);//waitforthetraintoenterthesiding.
for(i=90;i!=35;i--){//reducethespeedofthetraingradually,bringingittoahalt.
analogwrite(9,i);
check_n_switch();
delay(500);
}
for(i=35;i!=0;i--){
analogwrite(9,i);
check_n_switch();
delay(62);
}
delay(5000);//waitfor5secondsbeforerepeatingthewholeprocessagain.
}
第4步:铺设轨道并进行布局
如上图所示,用经过的壁板制作一个椭圆形环。确保传感器轨道与列车在穿过传感器轨道后要穿过的第一个道岔之间的距离大于火车的长度,这样当火车穿过道岔时,没有任何部分超过传感器轨道。
第5步:电路原理图
在继续之前,请确保您浏览了完整的电路原理图和所有细节。
第6步:将道岔连接到l298n驱动板的输出
将两个道岔的红线和黑线分别相互连接,形成并联。然后,将红线连接到电机驱动板的out4端子,将黑线连接到电机驱动板的out3端子。
第7步:将电源馈线轨道连接到l298n驱动板的剩余输出
将电源馈线的白线连接到电机驱动板的out1端子,将蓝线连接到电机驱动板的out2端子。
第8步:将l298n驱动板连接到arduino板的电源引脚
将12伏引脚连接到arduino板的vin引脚,将gnd引脚连接到arduino板的gnd引脚,最好将电机驱动器的5伏引脚连接到arduino板的5伏引脚。
第9步:将传感器连接到arduino板
将传感器的vcc引脚连接到arduino板的5v引脚,gnd引脚连接到arduino板的gnd引脚,out引脚连接到arduino板的a0引脚。
第10步:将电机驱动器的输入引脚连接到arduino板
将arduino板的数字引脚连接到电机驱动板的输入引脚,如下所示:
d9到in1
d10至in2
d11至in3
d12至in4
第11步:将火车放在轨道上
检查所有接线连接后,将火车放在壁板上。
第12步:启动设置
启动设置并确保道岔切换到壁板,如果没有,则只需反转与电机驱动器建立的道岔的连接。此外,确保火车开始向前移动。如果列车运行方向错误,则将馈线轨道与电机驱动器的连接反向。
第13步:完成!
到这一步,该项目已经完成。您可以修改arduino代码以更改布局的功能、添加更多侧板等。这一切都是可定制的!
生物识别公司与韩国科学技术院:联合开发超薄可穿戴指静脉识别智能戒指
比特币在全球24小时交易量与其他资产的十大交易量之间的差距分析
变阻器的分压与限流电路
2050年可再生能源将在印度提供75%的电力,或将重塑整个电力系统
iphone8什么时候上市?iphone8最新消息:苹果10周年!iphone8或将在中国重演iphone6的辉煌?
一种采用微控制器的自动模型铁路布局项目
贝思科尔荣获“2023年深圳市专精特新中小企业”
碳化硅功率器件的特点和应用现状
TCL华星最新推出了全球首款34吋R1000 165Hz超宽电竞屏
中央再批人工智能伪创新,不要像炒作明星一样炒作人工智能创新
华为2017年报:全球销售收入6036亿元人民币,同比增长15.7%(附报告详情)
怎样用遥控器控制房屋中的任何物品
深度剖析LED背光系统和电源解决方案
小米8双频GPS有多厉害 双频GPS有什么作用
北京元心科技正式对外发布了5G安全微内核操作系统SyberV1.0
国内又破纪录:世界首条±1100千伏特高压工程新疆段架线
如何使用NodeMCU和智能手机应用程序语音控制设备
玩转摩拜免扫码解锁功能
[组图]天线技术
板式给料机专用变频调速器的详细说明