找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8651|回復(fù): 3
收起左側(cè)

51單片機(jī)智能循跡小車制作(灰度傳感器)附源程序

[復(fù)制鏈接]
ID:449323 發(fā)表于 2020-10-23 17:31 | 顯示全部樓層 |閱讀模式
這也是上學(xué)期的實(shí)訓(xùn),程序不難,難就難在調(diào)試,要命哦,輪子的轉(zhuǎn)速差不一樣,沒辦法直行,我調(diào)試的時候覺得它簡直就是智障小車,它是一輛智障小破車啊,程序+仿真+原理圖 我都放在里面了,PCB太丑就算了吧,大家要是做這個項(xiàng)目可供參考呀~~啊啊啊啊,雖然很喜歡這個專業(yè),一個女孩子搞起來遇到問題真的真的很想放棄,讓我弱弱的吐槽一波~~~~

制作出來的實(shí)物圖如下:
5.png 6.png

電路原理圖如下:
3.png

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png

單片機(jī)源程序如下:
  1. #include <stc15.h>
  2. #include "include.h"
  3. #include "motor.h"
  4. #include "hj_xj3.h"
  5. #include "LCD1602.h"
  6. #define INIT_SPEED 15
  7. extern uchar numL,numR;
  8. void init_time();
  9. void main()                                
  10. {
  11.         uchar status_flag=0;//車身狀態(tài)標(biāo)志位
  12.         uchar stop_flag=0;//停車標(biāo)志位
  13.         numL=numR=INIT_SPEED;//初始速度
  14.         ENA=ENB=1;
  15.         IN1=IN3=0;IN2=IN4=0;
  16.     init_time();
  17.         LCD_initial();
  18.     while(1)
  19.         {
  20.                  if(stop_flag==1) stop_flag=reset();
  21.            status_flag=Track();
  22.            switch(status_flag)
  23.            {

  24.            case 0:         //正常
  25.                     LCD_Display("MID");
  26.                     line_go(INIT_SPEED);
  27.                            delay_ms(100);
  28.                                 break;  
  29.            case 1:         //右偏
  30.                     LCD_Display("LEFT");
  31.                                       left_turn(10);//參數(shù)為轉(zhuǎn)速差
  32.                            delay_ms(100);
  33.                                 break;
  34.            case 2:         //左偏
  35.                     LCD_Display("RIGHT");
  36.                                       right_turn(10);        //參數(shù)為轉(zhuǎn)速差
  37.                            delay_ms(100);
  38.                                 break;
  39.            case 3:         //全白
  40.                     LCD_Display("REFECT");
  41.                            delay_ms(50);
  42.                                 break;
  43.            case 5:         //停車
  44.                     LCD_Display("STOP");
  45.                                       stop_flag=stop();
  46.                            delay_ms(100);
  47.                                 break;
  48.                   default:
  49.                           break;
  50.            }
  51.         };
  52. }
  53. //***********************
  54. void init_time()
  55. {
  56.         TMOD=0X01;
  57.         TH0=(65536-500)/256;
  58.         TL0=(65536-500)%256;
  59.         EA=1;
  60.         ET0=1;
  61.         TR0=1;
  62. }
  63. void time0() interrupt 1 using 1
  64. {
  65.         static uchar num;
  66.         num++;
  67.         if(num==numR)   ENA=~ENA;
  68.         if(num==numL)        ENB=~ENB;        
  69.         if(num==100){ENA=~ENA;ENB=~ENB;num=0;}
  70.         TH0=(65536-500)/256;
  71.         TL0=(65536-500)%256;        
  72. }
復(fù)制代碼
2.png
所有資料51hei提供下載:
智能小車.zip (1.25 MB, 下載次數(shù): 116)

評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:429540 發(fā)表于 2020-10-30 18:48 | 顯示全部樓層
某個寶搜索 不怕光 紅外循跡模塊 循跡傳感器 智能小車 黑白線檢測識別模塊
回復(fù)

使用道具 舉報

ID:844082 發(fā)表于 2020-11-15 21:15 | 顯示全部樓層
大佬 能不能給我指點(diǎn)一下我寫的程序   錯在哪里我都不知道
回復(fù)

使用道具 舉報

ID:449323 發(fā)表于 2021-1-10 19:31 | 顯示全部樓層
zpc.+ 發(fā)表于 2020-11-15 21:15
大佬 能不能給我指點(diǎn)一下我寫的程序   錯在哪里我都不知道

抱歉,好久沒上論壇了,你可以加論壇的群,里面大佬都會回答的。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表