在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Arduino篇—車輛自動走迷宮

冬至子 ? 來源:X的創客課堂 ? 作者:MRXY ? 2023-11-02 11:31 ? 次閱讀

課程目標

  • 學習走迷宮的右手法則的應用
  • 根據算法邏輯實現走迷宮功能
  • 能根據場地實際要求進行車輛調試

相關知識

**機器人迷宮項目:**是常見的機器人競賽項目,在一個搭建好的迷宮場景內,設計機器人,實現從入口順利抵達出口,根據完成時間的長短來進行評分。

右手法則: 針對有墻壁的迷宮,只要順著墻壁走,遇到可以轉向的口子始終向右,轉向失敗再向右轉到下一個可以走的方向,這種方法只對樹形迷宮有效。對于有循環的迷宮就需要設計更加智能化的機器人才能實現。

**紅外接近傳感器:**紅外接近傳感器是一種集發射與接收于一體的光電開關傳感器。當發出的紅外光碰撞到范圍內的目標時,它會反射到光電二極管上,從而實現監測判斷。

1.jpg

電路搭建

所需材料

ArduinoUNO * 1
紅外接近傳感器 * 3
上節課的車輛結構 * 1
LED * 1
杜邦線若干

電路連接

圖片

程序編寫

練習一:紅外接近傳感器控制開關燈

手靠近傳感器時,LED燈開,離開傳感器時,LED燈關。

圖形化方式:

讀取9號管腳上的信號值為低電平,說明有障礙物靠近,這時候點亮2號管腳上的LED。

圖片

代碼方式:

/* 項目名稱:紅外控制開關燈
 * 項目時間:2022.04.07
 * 項目作者:MRX
 */
int SensorPin = 9;
int LedPin = 2;
void setup() {
  pinMode(SensorPin,INPUT);
  pinMode(LedPin,OUTPUT);
}


void loop() {
  if(digitalRead(SensorPin)){
    digitalWrite(LedPin,LOW);
  }
  else{
    digitalWrite(LedPin,HIGH);
  }
}

練習二:沿墻面前進的小車

使用一個傳感器,讓小車能夠沿著墻面前行,效果如下:

圖片

原理分析:

右手法則邏輯分析。

圖片

電路接線:

圖片

圖形化方式:

圖片

代碼方式:

/* 項目名稱:小車貼墻走
 * 項目時間:2022.04.07
 * 項目作者:MRX
 */
int IN1 = 2;   // IN1 connected to pin 4
int IN2 = 4;   
int ENA = 3; 
int IN3 = 6;   // IN3 connected to pin 6
int IN4 = 7;   
int ENB = 5;  
int value = 255;   // the duty cycle
const int SensorPin = 10;


void Forward() {
  digitalWrite(IN1,HIGH);
  digitalWrite(IN2,LOW);
  analogWrite(ENA,value);
  digitalWrite(IN3,HIGH);
  digitalWrite(IN4,LOW);
  analogWrite(ENB,value);
}


void Back() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA,value);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
  analogWrite(ENB,value);
}


void Right() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA,value);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
  analogWrite(ENB,0);
}


void Left() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA,0);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
  analogWrite(ENB,value);
}


void Stop() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,LOW);
  analogWrite(ENA,0);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,LOW);
  analogWrite(ENB,0);
}


void setup(){
  Serial.begin(9600);
  for (int i = 2;i <= 7;i++){
    pinMode(i, OUTPUT);
    }
  pinMode(SensorPin,INPUT);
}

void loop(){
  if (digitalRead(SensorPin) == LOW) {
      Left();
    } else{
      Right();
    } 
}

練習三:走迷宮小車

編程控制小車沿著障礙物行走,效果如下:

圖片

圖形化方式:

圖片

代碼方式:

項目所涉及到的延時及電機正反轉,都要根據自己的接線來進行調整。

/* 項目名稱:走迷宮
 * 項目時間:2022.04.07
 * 項目作者:MRX
 */
int IN1 = 2;   // IN1 connected to pin 4
int IN2 = 4;   
int ENA = 3; 
int IN3 = 6;   // IN3 connected to pin 6
int IN4 = 7;   
int ENB = 5;  
int value = 255;   // the duty cycle


void Forward() {
  digitalWrite(IN1,HIGH);
  digitalWrite(IN2,LOW);
  analogWrite(ENA,value);
  digitalWrite(IN3,HIGH);
  digitalWrite(IN4,LOW);
  analogWrite(ENB,value);
}


void Back() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA,value);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
  analogWrite(ENB,value);
}


void Right() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA,value);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
  analogWrite(ENB,0);
}


void Left() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA,0);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
  analogWrite(ENB,value);
}


void Stop() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,LOW);
  analogWrite(ENA,0);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,LOW);
  analogWrite(ENB,0);
}


void TurnLeft() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA,100);
  digitalWrite(IN3,HIGH);
  digitalWrite(IN4,LOW);
  analogWrite(ENB,100);
}


void setup(){
  for (int i = 2;i <= 7;i++){
    pinMode(i, OUTPUT);
    }
  for (int i = 8;i <= 10;i++){
    pinMode(i,INPUT);
  }

}

void loop(){
  if (digitalRead(8) == LOW) {
    TurnLeft();
    delay(500);


  } else if (digitalRead(9) == LOW) {
    TurnLeft();
    delay(200);
  } else if (digitalRead(10) == LOW) {
    Left();
  } else {
    Right();
  }
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    211

    文章

    28660

    瀏覽量

    208496
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    108429
  • 紅外傳感器
    +關注

    關注

    9

    文章

    522

    瀏覽量

    47698
  • 光電二極管
    +關注

    關注

    10

    文章

    405

    瀏覽量

    36065
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187869
收藏 人收藏

    評論

    相關推薦

    基于ARM的電腦鼠迷宮設計方案

    本文從分析“IEEE標準電腦鼠”迷宮比賽規則入手,介紹了電腦鼠硬件系統和軟件系統設計過程和流程。基于電腦鼠的產品具有廣泛的應用場合,譬如自動盲人導引小車、足球機器人、
    發表于 05-26 11:46 ?6803次閱讀
    基于ARM的電腦鼠<b class='flag-5'>走</b><b class='flag-5'>迷宮</b>設計方案

    關于迷宮小車。。。

    各位大神,求較簡單的迷宮小車,原理圖和迷宮程序。現在我真的是毫無頭緒啊。。。求救啊。。。
    發表于 05-05 23:14

    Labview寫的迷宮

    基于隊列的迷宮解決方案
    發表于 11-01 11:13

    基于arduino超聲波紅外【迷宮】小車設計

    最近到手基于arduino uno Rev3 智能小車。閑暇時間制作了這個迷宮的小車。這個小車通過4個紅外模塊循跡迷宮地面的黑線。通過超聲波傳感器檢測兩側和前方的距離來進行轉向。在制
    發表于 05-06 23:31

    3種C語言編寫迷宮的方法

    曾經聽說過一個迷宮的訣竅:順著墻沿一側。 (一直沿左側或一直沿右側)。本程序實現了這一 思想,小人一直沿左側。 迷宮是隨機生成的
    發表于 08-19 14:46 ?54次下載

    基于ARM的機器人迷宮控制系統與算法設計

    基于ARM的機器人迷宮控制系統與算法設計
    發表于 12-23 15:00 ?27次下載

    基于51單片機小車迷宮電路及代碼

    基于51單片機小車迷宮電路及代碼,包含原理圖及PCB,代碼及相關資料
    發表于 12-16 17:23 ?64次下載

    51單片機迷宮程序

    51單片機迷宮程序
    發表于 12-08 14:14 ?26次下載

    三個超聲波迷宮

    51小車迷宮
    發表于 11-25 17:57 ?1次下載

    Arduino迷宮游戲

    電子發燒友網站提供《Arduino迷宮游戲.zip》資料免費下載
    發表于 11-04 10:22 ?1次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>迷宮</b>游戲

    Arduino Uno平衡迷宮

    電子發燒友網站提供《用Arduino Uno平衡迷宮.zip》資料免費下載
    發表于 12-12 11:58 ?0次下載
    用<b class='flag-5'>Arduino</b> Uno平衡<b class='flag-5'>迷宮</b>

    Arduino和加速度傳感器制作數字滾球迷宮【后篇】

    :用Arduino和加速度傳感器制作數字滾球迷宮?這次將為大家介紹一個使用Arduino制作的獨特電子作品項目,將會分【前】和【后篇】
    的頭像 發表于 02-20 11:54 ?1793次閱讀
    用<b class='flag-5'>Arduino</b>和加速度傳感器制作數字滾球<b class='flag-5'>迷宮</b>【后篇】

    Arduino迷宮游戲開源分享

    電子發燒友網站提供《Arduino迷宮游戲開源分享.zip》資料免費下載
    發表于 06-09 15:19 ?1次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>迷宮</b>游戲開源分享

    DIY安卓+Arduino控制迷宮游戲

    電子發燒友網站提供《DIY安卓+Arduino控制迷宮游戲.zip》資料免費下載
    發表于 06-29 14:53 ?0次下載
    DIY安卓+<b class='flag-5'>Arduino</b>控制<b class='flag-5'>迷宮</b>游戲

    Arduino 3D迷宮

    電子發燒友網站提供《Arduino 3D迷宮.zip》資料免費下載
    發表于 07-10 09:44 ?0次下載
    <b class='flag-5'>Arduino</b> 3D<b class='flag-5'>迷宮</b>
    主站蜘蛛池模板: 四虎影永久在线观看网址 | 国产一区二区丁香婷婷 | 日韩一级特黄毛片在线看 | 成人免费观看一区二区 | 婷婷5月天 | 天堂视频在线视频观看2018 | 日本69xxxx| 日本免费大黄在线观看 | 丁香在线视频 | 人人插人人射 | 在线观看免费视频网站色 | 日本五十交尾在线观看 | 亚洲va久久久久综合 | 一级特黄色片 | 午夜精品久久久久久99热7777 | 午夜免费啪在线观看视频网站 | 国产三级 在线播放 | 中文天堂在线观看 | 日韩中文字幕第一页 | 久久是精品 | 男女交性视频免费视频 | 久久影视免费观看网址 | 中国免费黄色片 | 日本成人黄色网址 | 丁香花在线电影小说观看 | 欧美污视频网站 | 免费观看三级毛片 | 色福利在线 | 关晓彤被调教出奶水的视频 | 天堂资源在线bt种子8 | 久久精品综合视频 | 爱啪网站 | 噜噜噜噜噜噜色 | 日韩高清在线日韩大片观看网址 | 福利久久 | 永久手机看片福利盒子 | 亚洲深夜| 久久成人性色生活片 | 五月婷婷久 | 爱操综合 | 欧美特黄一级视频 |