導航:首頁 > 操作系統 > 紅外自動跟蹤單片機

紅外自動跟蹤單片機

發布時間:2023-02-23 21:21:08

A. 用單片機如何實現人體追蹤

紅外跟蹤,超聲波跟蹤。
紅外跟蹤:
對象攜帶比較強的紅外源(人體體溫和背景溫度可能不夠明顯),小車向四個方向檢測紅外強度,向強度大的一方運動,有點類似昆蟲的趨光性。
超聲波跟蹤:
空曠環境,小車通過超聲波檢測和對象的距離,大於10m舍棄,小於10m跟蹤。不過因為是聲波反射,所以即使目標對象夠大,搜索和跟蹤還是不太准確。
以上都是針對多維的,如果一維「直線」運動跟蹤的話,兩種方式的可行性都不低。
另外紅外跟蹤可以「鐳射筆指路」,用光筆照射車頭地面,小車根據光點相對車頭位置運動。
GPS模塊化太強,製作起來不一定有意思,想用GPS的話可以試著上淘寶上搜搜,看看有沒有能作為參考的。
現在能想到的就這么多,你也可以自

B. 如何用單片機探測到紅外感應信號

如果僅僅是判斷有無信號,設置一個閾值,超過閾值輸出1[或0],此時用比較器即可;熱釋電感測器輸出的信號實際上是連續變化的,也可以用單片機的ADC采樣進行數據採集後再處理.取決於你的用法.

C. 單片機紅外自動感應門原理圖

網上找一下就行了,或自已設計一個就得

好吧!我幫你設計了:(見圖)

D. 設計一個基於單片機能自動監測目標轉速並自動跟蹤的旋轉機構跟蹤系統

這個做是沒問題的,主要先處理好紅外檢測轉速這部分然後再做後面的工作即可。

E. 如何用單片機控制紅外對管檢測物體,詳細點,有圖最好

這個很簡單:你既然是對管,那麼,當有物體通過您的對管之間時,就擋住了您的紅外接收器通過發射器發過來的光,這樣接收端就產生信號變化,您檢測到這個信號變化就+1就可以了。這樣就知道多少個物體過去啦。

F. 紅外感測器和單片機之間怎麼連接

紅外感測器和單片機之間的連接方法:

紅外感測器絕大部分都是通過測引腳電壓換算成距離。所以一般紅外都有三根引腳,VCC和GND肯定會接噻,然後信號線接到你開啟單片機的ADC通道對應的引腳,讀該引腳的電平換算成距離。

紅外感測器如果是數據信號,有幾個腳,就用單片機幾個腳連接,然後根據輸出信號的時序寫程序讀。如果是模擬信號,就得用到A/D轉換電路。

(6)紅外自動跟蹤單片機擴展閱讀:

紅外感測器的相關要求規定:

1、紅外線感測器利用遠紅外線范圍的感度做為人體檢出用,紅外線的波長比可見光長而比電波短。紅外線只由熱的物體放射出來,凡是存在於自然界的物體,如人類、火、冰等等全部都會射出紅外線,只是其波長因其物體的溫度而有差異而已。

2、利用紅外輻射的熱效應,探測器的敏感元件吸收輻射能後引起溫度升高,進而使某些有關物理參數發生變化,通過測量物理參數的變化來確定探測器所吸收的紅外輻射。

3、紅外感測器已經在現代化的生產實踐中發揮著它的巨大作用,隨著探測設備和其他部分的技術的提高,紅外感測器能夠擁有更多的性能和更好的靈敏度。

G. 單片機控制紅外程序

給你一個PIC寫的接收紅外遙控器的程序。

//******************************************************

//mcu: PIC16F883
//author:
//data:
//ver: 1.0
//********************************************************
#include <pic.h>
#include <pic16f887.h>
#include "main.h"

// 函數聲明部份

void interrupt IRQ_TEST(void);
void fun_intset(void);
void set_port(void);
void fun_timerset(void);

void delay_10us(void);
void delay_130us(void);

void test_remote(void);

// 主函數
void main()
{
set_port();
fun_timerset();
fun_intset();
delay_10ms();
ram_ini();
GIE=1;

while(1)
{
asm("clrwd");

test_remote();

}
}

//埠I/O定義子程序
void set_port()
{

ANSEL =0X00; //porta io port
ANSELH=0X00; //portb io port
//TRISX BIT=1, PORTX AS INPUT
TRISA = 0x0F; //RA0-RA3 INPUT ,RA4-RA5 OUTPUT

TRISB = 0x07; //RB0 PASS0, RB1-RB2 INPUT ,RB3-RB6 OUTPUT

TRISC = 0x0F;
// TRISC = 0x03; //RC0-RC1 INPUT,RC5-RC6 OUTPUT , RC3 RC4 EEPROM SCL SDA
PORTC=0;
PORTA=0XFF;
// WPUB=0XFF;
PORTB=0X07;
}

//中斷子程序
void interrupt IRQ_TEST(void)
{
if(T0IF) //Timer0中斷服務子程序
{
TMR0=0xce;
T0IF=0;
timer_100us++; //100us
}

if(INTF==1)
{

INTF=0;
timer_rec=timer_100us;
timer_100us=0;
flag_rec_remote=1;
}
}

//定時器0初始化設置子程序
void fun_timerset()
{
//Timer0初始化設置
PSA=0;//Timer0 使用預分頻器
//Timer0選擇分頻率為1:2
PS0=0;PS1=0;PS2=0;
//內部時鍾定時方式,定時時間:200uS,誤差:0uS
T0CS=0;
// TMR0=0x9b;

TMR0=0xce; //100us
}

/*

//定時器2初始化設置子程序
void fun_timer2set()
{

//Timer2初始化設置
//timer2使用預分頻率1:1
T2CKPS0=0;T2CKPS1=0;
//timer2使用後分頻率1:1
TOUTPS0=0;
TOUTPS1=0;
TOUTPS2=0;
TOUTPS3=0;
//定時器2定時時間為:200uS,誤差:0uS
TMR2=0x38;
TMR2ON=1;
}

*/

//中斷允許設置子程序
void fun_intset()
{
T0IE=1;//Tiemr0中斷允許

INTEDG=0; //RB0 FALLAGE INTERRUPT
INTE=1;
INTF=0;

}

void ram_ini(void)
{

}
//------------------------------------------------------------

//*****************************************************************************

void delay_10us(void)
{
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
}

void delay_130us(void)
{
uchar i;

for(i=0;i<13;i++)
{
NOP;
NOP;
NOP;
}
}

void delay_10ms(void)
{
unsigned int i;

for(i=0;i<1000;i++)
{
NOP;
NOP;
NOP;
NOP;
NOP;
}
}

void test_remote(void)
{
uchar rec_ok,i;

if(flag_rec_remote==1)
{
flag_rec_remote=0;

// remote_buf[rec_byte]=timer_rec; //test use
// rec_byte++; //test use
// return; //test use

if(flag_rec_head==0)
{
if(timer_rec>=90&&timer_rec<=140) //135
{
flag_rec_head=1;
rec_byte=0;
rec_bit=0;
rec_buf=0;
return;
}
}
else
{
if(timer_rec>=8&&timer_rec<=12) //11.2
{
rec_buf=(rec_buf>>1);
rec_buf=rec_buf&0x7f;

}

else if(timer_rec>=18&&timer_rec<=22) //22
{
rec_buf=(rec_buf>>1);
rec_buf=rec_buf|0x80;
}
else if(timer_rec>=90&&timer_rec<=140)
{
flag_rec_head=1;
rec_byte=0;
rec_bit=0;
rec_buf=0;
return;
}
else
{
flag_rec_head=0;
rec_byte=0;
rec_bit=0;
rec_buf=0;
return;
}

}

if(flag_rec_head==1)
{

rec_bit++;
if(rec_bit==8)
{
remote_buf[rec_byte]=rec_buf;
rec_byte++;
rec_bit=0;
if(rec_byte==4)
{
NOP;
NOP;
NOP;
NOP;
rec_byte=0;
rec_bit=0;
rec_buf=0;
flag_rec_head=0;

}
}

}
}

}

H. 單片機和紅外感測器怎麼連接

循跡小車?
這種電路我做過N個,其實沒有那麼麻煩。
用TCRT5000紅外感測器(就是兩個紅外管綁在一起,網上有資料),四條腿。東西不難買,大約2塊錢一個。
在發射管上串連一個200歐姆電阻直接接在+5V電源和地上,別接反了。
在輸出的管子上,集電極串連一個10K電阻接到+5V,射極接地,在電阻於集電極中間引一條線作為輸出,平時沒有障礙物的時候輸出高電平,有障礙物的時候輸出低電平。
就這么簡單,外圍只有兩個電阻,調節發射管的電阻可以調節靈敏度(障礙物距離)。

I. 單片機的紅外遙控的原理

1、發送端由單片機和紅外發光二極體組成。
單片機控制紅外發光二極體發射38KHz左右的紅外光,這個紅外光就可能起到傳遞信號的作用。你可以在你的程序中規定發射紅外線時表示二進制的一個位『1』無紅外線時表示二進制的『0』。這樣你就可以發出一系列由『1』和『0』所級成的信號。
2、接收端是由紅外接收二極體和單片機組成。
前面我們讓發射端發出信號,現在接收頭就開始收信號。

J. 紅外感測器怎麼接到單片機上

將該感測器的輸出埠的信號,經過電路的處理後,達到單片機工作電壓范圍時,可有兩種方法實現於單片機的連接。
方法一:將處理後的信息接在51或52系列單片機的P3.2或P3.3口的外部中斷埠,對中斷定時器的IE=0X81或IE=0X84;TCON=0X01或TCON=0X04,在中斷子程序中可以讀數據進行處理顯示;
方法二;同上,將處理後的數據埠,接到普通的埠,即,該埠做基本的輸出用的情況不需要對埠強拉高,而,做輸入用時要對基本埠拉高,然後利用相關程序處理顯示即可。

閱讀全文

與紅外自動跟蹤單片機相關的資料

熱點內容
sublime3運行python 瀏覽:184
怎麼把安卓視頻傳到蘋果上面 瀏覽:79
手機拍鬼片用什麼app 瀏覽:640
爬山虎app是干什麼用的 瀏覽:505
有哪些寫給程序員的歌 瀏覽:49
成都市命令 瀏覽:993
建立系列文件夾 瀏覽:983
蘋果開機白屏帶文件夾問號 瀏覽:733
體驗服為什麼伺服器會關閉 瀏覽:41
酒店命令 瀏覽:750
中走絲線切割編程視頻 瀏覽:80
衣服壓縮袋手泵原理 瀏覽:714
通達信編程書籍 瀏覽:981
車用壓縮天然氣瓶閥 瀏覽:971
鞋的程序員 瀏覽:259
車的壓縮比是什麼意思 瀏覽:202
網站源碼怎麼傳到文件夾 瀏覽:914
海南壓縮機在哪裡 瀏覽:491
電腦文件夾清晰的文件結構 瀏覽:839
如何把蘋果手機的app轉到安卓 瀏覽:305