久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3077|回復: 3
打印 上一主題 下一主題
收起左側

如何解決51單片機紅外避障小車不能在迷宮內走直線這一難題。

[復制鏈接]
跳轉到指定樓層
樓主
ID:936280 發表于 2021-7-13 08:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//個人剛入學51單片機,玩的東西,沒那么高級
//三輪紅外避障小車(一個萬向輪,二個輪子用電機驅動)
// 小車由于倆個電機不可能完全相等,摩檫力等等系列因素讓二個輪子的轉速不同,故無法走直線

//解決思路:
//可以通過左右兩邊的紅外其中一個紅外讓小車走一個一抖一抖的直線,實現其原理就是 例如是右邊打的紅外,檢測到右邊的墻壁,就讓它往左走,檢測不到右邊的墻壁,就讓它往右走。讓其在中斷里進行不斷掃描其過程。

//由于速度過大就會抖的非常厲害,故通過PWM調節速度。

//代碼如下

#include <REGX52.H>

//L298N輸出
sbit out1=P1^3;                sbit out3=P1^5;
sbit out2=P1^4;                sbit out4=P1^6;        

//使能
sbit ine1=P1^0;
sbit ine2=P1^1;


//紅外
sbit hw_y=P0^0;


//調節二個輪子的速度,不能讓其太快
unsigned int count=0;
unsigned int compare_l=50;
unsigned int compare_r=50;


void Timer0Init()               
{
        TMOD &= 0xF0;               
        TMOD |= 0x01;               
        TL0 = 0xA4;               
        TH0 = 0xFF;        
        TR0 = 1;               
        ET0=1;
        EA=1;
}


void right()  //右
{
        compare_l=30;
        compare_r=30;
        out1=0;                  
        out2=0;  
        out3=0;
        out4=1;   
}


void left()   //左
{
        compare_l=30;
        compare_r=30;
        out1=1;  
        out2=0;
        out3=0;  
        out4=0;  
}


void Turnaround()   //靠墻走直的函數
{

      if(hw_y==0)  
            left();
     else if(hw_y==1)
          right();
}

void main()
{
        Timer0Init();
        while(1)
        {}
}


void Timer0_Routine() interrupt 1
{
        TL0 = 0xA4;               
        TH0 = 0xFF;
        count++;
        count%=100;        
        //左右搖擺放入其中糾正方向,通過那兩個函數來調節方向               
       Turnaround();   
       if(count<compare_r)
          ine1=1;
        else
          ine1=0;        
        if(count<compare_l)
          ine2=1;
        else
          ine2=0;
}



//還沒解決走出迷宮的思路,希望各位大佬給點建議。蟹蟹啦
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:934353 發表于 2021-7-13 11:33 | 只看該作者
可以用pid算法調節兩個輪子的速度
回復

使用道具 舉報

板凳
ID:744327 發表于 2021-7-13 12:46 | 只看該作者
PWM口可以再細分一下,遇到障礙物時,可以避開。
回復

使用道具 舉報

地板
ID:123289 發表于 2021-7-14 09:27 | 只看該作者
PWM等等……,都不是要點:
想想,如果你自己在迷宮里開車:
1、你需要什么條件?
2、你會如何處理?
如果僅僅是走直線,在硬件想想辦法,是可以達成相對滿意的目標的。
例如:每個汽車都有脫手方向盤走直線的功能,可以借鑒。
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 波多野结衣av中文字幕 | 中文字幕在线看人 | 色综合久久伊人 | 国产三区视频在线观看 | 久久国产精品99久久久大便 | 欧美精品日韩精品 | 日韩精品久久久久久 | 亚洲v日韩v综合v精品v | 国产成人a亚洲精品 | 欧美视频成人 | av在线一区二区三区 | 精品国产18久久久久久二百 | 中文精品视频 | 国产精品毛片一区二区三区 | 日韩色图视频 | 久久国产精品免费一区二区三区 | 99久久视频 | 成人综合一区 | 国产偷录视频叫床高潮对白 | 黄色毛片网站在线观看 | 亚洲综合精品 | 国产色| 亚洲网站在线观看 | 欧美精品一二三区 | 成人久久久 | 一a级片 | 日韩三区 | 不卡一二三区 | 91视频88av| 成人在线精品视频 | 午夜视频免费在线观看 | 婷婷久| 久久婷婷av | h视频在线播放 | 拍真实国产伦偷精品 | 国产69精品久久99不卡免费版 | 国产美女久久 | 亚洲欧美日韩精品久久亚洲区 | 中文字幕在线视频观看 | 日韩伦理一区二区 | 日日操视频 |