arduino自动循迹小车课程设计(教你如何自制循迹四驱小车)
材料清单:
1X 黑色Arduino小车控制板
1X 黑色循迹模块
1X 循迹模块接线
4X 黄色直流减速电机
4X 黄色轮胎
1X USB线
1X 充电宝
1X 两节18650电池盒
2X 18650电池
1X 硬纸板一块
4X 导线
1X 黑色胶带
工具:
水性笔,剪刀,直尺,裁纸刀,热熔胶枪,胶棒,电烙铁,焊锡。
步骤:
第一步:先选择硬纸板,将一个直流减速电机和轮胎组装在一起,然后在纸板上画出小车的底盘的外轮廓,使用裁纸刀和直尺画出小车底盘的外轮廓;
第二步:使用电烙铁将两节直流减速电机并联焊接在一起;
第三步:使用热熔胶枪将四直流减速电机固定在小车底盘上;
第四步:在纸板上裁出一块矩形,使用热熔胶枪将循迹模块固定在矩形纸板上,将导线连接到黑色循迹模块上面。使用热熔胶枪将矩形纸板固定在电机上;
第五步:使用热熔胶枪将黑色Arduino控制板固定在小车底座上。连接导线;
第六步:使用胶枪将电池盒固定在小车底座上。并将电池盒接线连接到Arduino板上;
第七步:将Arduino代码下载到控制板中;
/*********************************************************** File name: carTest.ino Description: DIY four-wheeled tracking car Website: www.gewbot.com E-mail: support@gewbot.com Author: Tom Date: 2019/08/02 ***********************************************************/ //Motor control port const int dirAPin = 7; // define pin used to control rotational direction of motor A const int pwmAPin = 6; // define pin for PWM used to control rotational speed of motor A const int dirBPin = 4; // define pin used to control rotational direction of motor B const int pwmBPin = 5; // define pin for PWM used to control rotational speed of motor B //Define motor control direction #define FORWARD 1 #define BACKWARD 2 #define LEFT 3 #define RIGHT 4 #define STOP 5 void setup() { pinMode(dirAPin, OUTPUT); // set dirAPin to output mode pinMode(pwmAPin, OUTPUT); // set pwmAPin to output mode pinMode(dirBPin, OUTPUT); // set dirBPin to output mode pinMode(pwmBPin, OUTPUT); // set pwmBPin to output mode } void loop() { if(analogRead(A0)>1000&&analogRead(A1)>1000&&analogRead(A2)>1000){ ctrlCar(FORWARD,140);//Three tracking detections are black lines } if(analogRead(A0)>1000&&analogRead(A1)<100&&analogRead(A2)<100){ ctrlCar(LEFT,140);//Left A0 tracking detection is black line } if(analogRead(A0)<100&&analogRead(A1)>1000&&analogRead(A2)<100){ ctrlCar(FORWARD,140);//The middle side A1 tracking is detected as a black line } if(analogRead(A0)<100&&analogRead(A1)<100&&analogRead(A2)>1000){ ctrlCar(RIGHT,140);//Right A2 tracking detection is black line } if(analogRead(A0)<100&&analogRead(A1)<100&&analogRead(A2)<100){ ctrlCar(STOP,0);//A0, A1, A2 tracking does not detect black lines } } //Control motor motion direction and speed function void ctrlCar( int motorDir, byte motorSpd) { switch(motorDir){ case 1:digitalWrite(dirAPin, HIGH); digitalWrite(dirBPin, LOW); break; case 2:digitalWrite(dirAPin, LOW); digitalWrite(dirBPin, HIGH); break; case 3:digitalWrite(dirAPin, HIGH); digitalWrite(dirBPin, HIGH); break; case 4:digitalWrite(dirAPin, LOW); digitalWrite(dirBPin, LOW); break; } analogWrite(pwmAPin, motorSpd); analogWrite(pwmBPin, motorSpd); } Copy
第八步:在白色地板上画出黑线,小车就可以实现循迹功能了。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com