資料介紹
PCB圖如下:
成分
IR2104PBF Amphenol SGX Sensortech |
× 1 |
741C083510JP CTS電阻器產品 |
× 1 |
Y16271K00000T9R Vishay 箔電阻器(Vishay Precision Group 的部門) |
× 1 |
CD40174BE 德州儀器 |
× 1 |
IRFL4315 英飛凌科技 |
× 1 |
227CKS035M 伊利諾伊電容器 |
× 1 |
Y1624350R000T9R Vishay Precision Group 箔電阻器 |
× 5 |
220 歐姆電阻網絡 - 4610X-101-221LF 伯恩斯 |
× 1 |
描述
線路跟隨器PCB
線路跟隨器陣列是一個長板,由八個紅外傳感器組成,這些傳感器已配置為讀取為數字位!我們設計了線跟隨器陣列以跟隨大約 ? 英寸寬或更小(噴漆或電工膠帶)在淺色背景上。每個陣列都具有可見的 LED,當板(正確)連接時向上指向,因此您可以看到機器人看到的內容、板上的亮度控制以及用于讀取和電源控制的 I2C 接口。在這里,RedBot Shadow Chassis 被用作測試平臺,但實際上它被設計為幾乎所有機器人的附加組件。
線跟隨器的功能是讀取 8 位反射率讀數以用于跟隨線或讀取暗/亮模式,并且可以從大約 ? 至 ?英寸遠。IR 亮度控制和指示燈可以通過板載電位器進行調節,并能夠向您顯示 IR LED 的強度。照明可以通過軟件打開和關閉以節省電力,或者始終保持打開以加快讀數。線路跟隨器陣列需要 5V 電源,電源電流范圍為 25-185mA(禁用選通)和 16-160mA(啟用選通)。此外,我們在線路跟隨器上添加了六個安裝孔,其中兩個內孔設計用于安裝我們的 Shadow Chassis,而其他四個是通用的。
特征:
8 個傳感器眼(QRE1113,就像我們的線傳感器分線器一樣)
I2C接口
使用旋鈕即時調整 IR 亮度
使用軟件打開和關閉 IR
使用軟件打開和關閉視覺指示器
使用軟件反轉暗/亮視線
基于 SX1509 I/O 擴展器
如前所述,需要運算放大器將 IR 傳感器輸出轉換為 TTL 邏輯。
我使用的運算放大器是 LM358,因為它便宜且容易獲得。該芯片包含 2 個運算放大器,因此 5 個 LED 傳感器需要 3 個芯片(每個芯片 2 個)。
傳感器輸入連接到非反相端子(引腳 3 和 5)。
運算放大器的引腳 1 和 7 是輸出引腳,并連接到 arduino 數字引腳。輸出端有 LED 指示燈是可選的……雖然它增加了很好的效果并有助于調試:p
引腳 4 接地,8 至 5V。
通常一個 10k 電位器用作反相端子的輸入,以便可以改變傳感器的靈敏度。但是,自從我測試它并獲得了不錯的范圍以來,我使用了兩個 4.7kΩ 電阻器。
對于運算放大器連接,請查看提供的 ckt 圖……每個運算放大器的連接都是相同的。
公頭引腳是連接 IR 傳感器陣列的輸出的地方,母頭是運算放大器板的輸出連接到 arduino 的地方。
注意:由于我的目標是檢測白色表面上的黑線,因此我已相應地進行了連接……如果您想檢測黑色表面上的白線,只需切換反相和非反相引腳的連接即可。
因此,我們將使用光的這種特性來檢測線條。要檢測光,可以使用 LDR(光敏電阻)或 IR 傳感器。對于這個項目,我們將使用 IR 傳感器,因為它具有更高的精度。為了檢測線,我們在機器人的左側和右側放置了兩個紅外傳感器,如下圖所示。然后我們將機器人放在線上,使線位于兩個傳感器的中間。我們已經介紹了詳細的 Arduino 紅外傳感器教程,您可以查看該教程以了解有關使用 Arduino Uno 使用紅外傳感器的更多信息。
紅外傳感器由兩個元件組成,發射器和接收器。發射器基本上是一個 IR LED,它產生信號,而 IR 接收器是一個光電二極管,它感應發射器產生的信號。紅外傳感器在物體上發射紅外光,照射到黑色部分的光被吸收,因此輸出較低,但照射到白色部分的光反射回發射器,然后由紅外接收器檢測到,從而產生模擬輸出. 使用所述原理,我們通過驅動連接到電機的輪子來控制機器人的運動,電機由微控制器控制。
線跟隨機器人如何導航?
典型的線跟隨機器人有兩組電機,我們稱它們為左電機和右電機。兩個電機分別根據從左右傳感器接收到的信號旋轉。機器人需要執行 4 組運動,包括前進、左轉、右轉和停止。下面給出關于這些情況的描述。
紅外傳感器發出光線以檢測某些環境。在紅外光譜中,所有物體都會發出某種形式的熱輻射,這是我們肉眼看不到的,但紅外傳感器可以檢測到這些輻射。
這里,IR LED 是發射器,IR 光電二極管是檢測器。IR LED 發出 IR 光,光電二極管對 IR 光敏感。當 IR 光落在光電二極管上時,輸出電壓和電阻將與接收到的 IR 光的幅度成比例地變化。
代碼
常量 int rme=10,lme=11; //啟用引腳
const int rmb=8, rmf=9, lmb=12, lmf=13; //電機信號
常量 int ir0=2, ir1=3, ir2=4, ir3=5, ir4=6; //ir 信號 white=1 和 black=0
int val0=0,val1=0,val2=0,val3=0,val4=0;//變量無效
InALine(bool x) //移動一行
{ 如果(x==真)
{ 類比寫入(rme,60);
類比寫入(lme,60);
數字寫入(人民幣,低);
數字寫入(rmf,高);
數字寫入(LMB,低);
數字寫入(lmf,高);
Serial.println("轉發"); }
else //向后移動
{ 類比寫入(rme,50);
類比寫入(lme,50);
數字寫入(人民幣,高);
數字寫入(rmf,低);
數字寫入(LMB,HIGH);
數字寫入(lmf,低);
Serial.println("向后"); } }
void Turn(bool y) //轉動
{ 類比寫入(rme,50);
類比寫入(lme,50);
if (y==true) //向右移動
{ digitalWrite(rmb,LOW);
數字寫入(rmf,低);
數字寫入(LMB,低);
數字寫入(lmf,高);
Serial.println("對"); }
else //向左移動
{ digitalWrite(rmb,LOW);
數字寫入(rmf,高);
數字寫入(LMB,低);
數字寫入(lmf,低);
Serial.println("左"); } }
無效停止()
{ 類比寫入(rme,0);
類比寫入(lme,0);
Serial.println("停止"); }
無效設置()
{ // 把你的設置代碼放在這里,運行一次:
pinMode(人民幣,輸出);
pinMode(rmf,輸出);
pinMode(lmb,輸出);
pinMode(lmf,輸出);
pinMode(rme,輸出);
pinMode(lme,輸出);
pinMode(ir0,輸入);
pinMode(ir1,輸入);
pinMode(ir2,輸入);
pinMode(ir3,輸入);
pinMode(ir4,輸入);
序列號.開始(9600);}
無效循環()
{ // 把你的主要代碼放在這里,重復運行:
val0=digitalRead(ir0);
val1=digitalRead(ir1);
val2=digitalRead(ir2);
val3=digitalRead(ir3);
val4=digitalRead(ir4);
if(val0 && val1 && !val2 && val3 && val4) //轉發
{布爾x =真;InALine(x); }
else if(val0 && val1 && val2 && !val3 && !val4) //右轉
{ 布爾 y=true; 轉彎(y);}
else if(!val0 && !val1 && val2 && val3 && val4) //左轉
{ 布爾 y=false; 轉彎(y);}
else if(!val0 && !val1 && !val2 && !val3 && !val4) //停止
{ 停止(); }
else if(val0 && val1 && val2 && val3 && val4) //圓
{ 布爾 y=false; 轉彎(y);}
else if(!val0 && !val1 && val2 && !val3 && !val4) //在 t 形條件下左轉
{ 布爾 y=false; 轉彎(y);}
else if(val0 && val1 && !val2 && !val3 && !val4) //在向前和向左的條件下左轉
{ 布爾 y=false; 轉彎(y);}
else if(!val0 && !val1 && !val2 && val3 && val4) //在向前和向右的情況下直走
{布爾x =真;InALine(x); }
否則{布爾x =假;InALine(x); }
延遲(1000);}
代碼
測試代碼
平均ReadBarOnly.ino
?
- PID線跟隨智能車開源分享
- MSP430線路跟隨器開源分享
- 物體跟隨機器人開源分享
- 人類跟隨機器人開源分享
- 平衡線路驅動器開源分享
- 單PCB線跟隨器和藍牙控制機器人
- pcb線路阻抗計算軟件
- pcb線路板哪個網站好
- 開源pcb設計軟件
- 開源網絡協議分析器WireShark軟件下載 15次下載
- 電壓跟隨器的應用電路 58次下載
- 多層PCB線路板打樣難點資料下載
- 科普什么是電壓跟隨器
- PCB線路電阻計算器v1.1.2軟件免費下載 172次下載
- PCB線路電阻計算器TRC100免費下載 210次下載
- 電壓跟隨器的特點和應用 853次閱讀
- 什么是電壓跟隨器?它有什么作用? 2640次閱讀
- 一個簡單的線路跟隨器機器人電路 1812次閱讀
- 電壓跟隨器的用途是什么 3699次閱讀
- 電壓跟隨器設計以及仿真驗證 9017次閱讀
- 射極跟隨器的作用是什么 1w次閱讀
- PCB線路板中不能缺少阻抗的原因是什么 5006次閱讀
- 源極跟隨器的特點_源極跟隨器的電路 3.3w次閱讀
- PCB線路板抄板的詳細步驟介紹 5954次閱讀
- PCB線路板該如何進行儲存?有哪些方法? 1.6w次閱讀
- pcb線路板結構組成及制作過程 2.7w次閱讀
- 一文詳解PCB線路板電鍍 1.6w次閱讀
- 你知道PCB線路板為什么要做阻抗嗎_原因解析 1.4w次閱讀
- 射極跟隨器有什么性能和特點 7.9w次閱讀
- 電壓跟隨器是什么?電壓跟隨器的特點和作用以及電路特點解析,如何計算? 8.9w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多