欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 求助紅外避障小車程序 [打印本頁]

作者: zhangbiao    時間: 2011-6-16 16:29
標題: 求助紅外避障小車程序

各位大師好,我現在遇到難題了,希望高手能幫忙指點解決一下,感激不盡,
我需要寫避障循跡程序,端口分配大致是這樣:

p1.2 右轉方向信號
p1.5 左轉方向信號
p1.3 左輪pwm調速信號
p1.4 右輪pwm調速信號
p0.0 左邊紅外避障傳感器輸入信號
p0.1 前邊紅外避障傳感器輸入信號
p0.2 右邊紅外避障傳感器輸入信號
p2.0----p2.7 為循跡傳感器信號輸入
共有16路用2個鎖存器控制,只用p2口
實現功能:當左邊傳感器被觸發小車右轉
          當前邊傳感器被觸發小車左轉
          當右邊傳感器被觸發小車左轉
          當左、前邊傳感器被觸發小車右轉
          當右、前邊傳感器被觸發小車左轉
          當同時觸發時,小車后退,直到左、右兩側傳感器中的任意一個停止觸發,小車停止倒退
 以上觸發都是低電平有效
麻煩您指點一下避障的程序該怎么些,先謝謝你了


作者: zhangbiao    時間: 2011-7-3 09:04

我已解決此問題,特分享給大家,

我有三個傳感器,分別裝在左、前、右(z、q、y)

程序如下:

 

#include<reg51.h>   
  #define uint unsigned int   
  #define uchar unsigned char   
  sbit z=P0^0;//定義紅外避障檢測端口
  sbit q=P0^4;
  sbit y=P0^2;
  sbit mz=P1^5;//定義電機Mz電平輸出端口
  sbit my=P1^2;//定義電機My電平輸出端口
  void delay_ms(uint z);//聲明延時函數


  main()//主函數
  {
   uint i=0;//初始值設定
   mz=1;
 my=1;
 while(1)//無限循環
 {             
  if(z==0&&q==1&&y==1)//表示z方有障礙物  進行y轉向
  { 
   for(i=0;i<5;i++)
    {
   mz=1;
   my=0;
   delay_ms(100);//狀態保持100ms
   mz=1;
   my=1;
   delay_ms(2);//狀態保持2ms
   }
  }
  if(z==1&&q==0&&y==1)//表示前方有障礙物  進行y轉向
  { 
   for(i=0;i<5;i++)
    {
   mz=1;
   my=0;
   delay_ms(100);//狀態保持100ms
   mz=1;
   my=1;
   delay_ms(2);//狀態保持2ms
   }
  }
  if(z==1&&q==1&&y==0)//表示y方有障礙物  進行z轉向
  { 
   for(i=0;i<5;i++)
    {
   mz=0;
   my=1;
   delay_ms(100);//狀態保持100ms
   mz=1;
   my=1;
   delay_ms(2);//狀態保持2ms
   }
  }
  if(z==0&&q==0&&y==1)//表示z前方有障礙物  進行y轉向
  { 
   for(i=0;i<5;i++)
    {
   mz=1;
   my=0;
   delay_ms(100);//狀態保持100ms
   mz=1;
   my=1;
   delay_ms(2);//狀態保持2ms
   }
  }
  if(z==1&&q==0&&y==0)//表示y前方有障礙物  進行z轉向
  { 
   for(i=0;i<5;i++)
    {
   mz=0;
   my=1;
   delay_ms(100);//狀態保持100ms
   mz=1;
   my=1;
   delay_ms(2);//狀態保持2ms
   }
  }
  if(z==0&&q==0&&y==0)//表示前有障礙物  進行hou轉向
  { 
   for(i=0;i<5;i++)
    {
   mz=0;
   my=0;
   delay_ms(100);//狀態保持100ms
   mz=1;
   my=1;
   delay_ms(2);//狀態保持2ms
   }
  }
  if(z==1&&q==1&&y==1)//表示前方無障礙物  直線行駛
  {
   mz=1;
   my=1;
   delay_ms(2);//狀態保持2ms
  }
 }
  }

 


作者: zhenglei    時間: 2011-8-11 19:53

我也試運行一下


作者: shilihua0319    時間: 2012-3-20 18:03
紅外電路是什么樣的?
作者: 521000    時間: 2014-5-15 01:28
請問您的問題解決了嗎,能否分享一下經驗呢?新人在此謝過
作者: ailijan0087    時間: 2014-11-18 23:23
vrghdgd
作者: 1563257180    時間: 2016-3-27 19:27
就這么簡單?

作者: idealize    時間: 2016-7-21 11:39
zhangbiao 發表于 2011-7-3 09:04
**** 作者被禁止或刪除 內容自動屏蔽 ****

跪求大神 完整電路圖
作者: better-me    時間: 2017-7-12 15:07
i是什么?距離嗎?
作者: zm924024583    時間: 2018-5-20 14:08
你好,跪求電路圖和程序
作者: chaseboy    時間: 2018-5-21 10:53
zhangbiao 發表于 2011-7-3 09:04
我已解決此問題,特分享給大家,
我有三個傳感器,分別裝在左、前、右(z、q、y)
程序如下:

樓主主函數少了個“}”
作者: 一曲相思    時間: 2019-3-31 18:00
電路圖


作者: 一曲相思    時間: 2019-3-31 19:05
有沒圖
作者: qiaohw519    時間: 2019-4-6 17:30
也再了解紅外避障小車的資料,學習了,謝謝分享




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1