找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4054|回復(fù): 20
收起左側(cè)

單片機(jī)該用什么函數(shù)或方法將超聲波和PWM結(jié)合?

[復(fù)制鏈接]
ID:407566 發(fā)表于 2018-11-14 22:18 | 顯示全部樓層 |閱讀模式
各位大神,關(guān)于pwm和超聲波
請(qǐng)問(wèn)該用什么函數(shù)或方法將超聲波和PWM結(jié)合,實(shí)現(xiàn),比如小于30cm燈滅這種效果呀
回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2018-11-15 08:57 | 顯示全部樓層
最直接的辦法是:
用超聲波測(cè)出的距離,改變PWM的占空比。
比如:小30cm時(shí),占空比為零,則燈滅;大于30cm時(shí),占空比變化,燈的亮度隨之變化。這要看你的PWM占空比是怎么設(shè)置的。
我做的設(shè)置比較簡(jiǎn)單,就是改變定時(shí)器中斷的次數(shù),次數(shù)多,占空比大。
回復(fù)

使用道具 舉報(bào)

ID:326783 發(fā)表于 2018-11-15 11:43 | 顯示全部樓層
這種開(kāi)關(guān)量和PWM有關(guān)系么?
回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2018-11-16 12:28 | 顯示全部樓層
LanSeXinQing 發(fā)表于 2018-11-15 11:43
這種開(kāi)關(guān)量和PWM有關(guān)系么?

超聲波傳感器不是開(kāi)關(guān)量
回復(fù)

使用道具 舉報(bào)

ID:427656 發(fā)表于 2018-11-16 12:52 | 顯示全部樓層
如果只是要燈滅,可以用運(yùn)放電路,不用用到軟件。如果要漸變式的燈滅,無(wú)非是做軟件輪訓(xùn)漸變。
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-11-26 17:05 | 顯示全部樓層
那具體代碼該怎么入手,一臉迷茫,求教授
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-11-26 17:06 | 顯示全部樓層
HC6800-ES-V2.0 發(fā)表于 2018-11-15 08:57
最直接的辦法是:
用超聲波測(cè)出的距離,改變PWM的占空比。
比如:小30cm時(shí),占空比為零,則燈滅;大于30c ...

那具體代碼應(yīng)該怎么實(shí)現(xiàn)呢?求賜教
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-11-26 19:36 | 顯示全部樓層
HC6800-ES-V2.0 發(fā)表于 2018-11-15 08:57
最直接的辦法是:
用超聲波測(cè)出的距離,改變PWM的占空比。
比如:小30cm時(shí),占空比為零,則燈滅;大于30c ...

emmm,具體代碼該怎么實(shí)施呢
回復(fù)

使用道具 舉報(bào)

ID:433764 發(fā)表于 2018-11-26 21:45 | 顯示全部樓層
#define LED_ON() ...
#define LED_OFF() ...
#define D_LENGTH 30
void mian(void)
{
    init();
    while(1){
        (get_length() > D_LENGTH)?(LED_ON()):(LED_OFF());
    }
}
回復(fù)

使用道具 舉報(bào)

ID:358930 發(fā)表于 2018-11-26 22:03 來(lái)自觸屏版 | 顯示全部樓層
過(guò)過(guò)過(guò)兒 發(fā)表于 2018-11-26 19:36
emmm,具體代碼該怎么實(shí)施呢

先寫好PWM調(diào)光的按鍵加減程序,可找到例程,最好是有液晶顯示,能看占空比和頻率,沒(méi)有問(wèn)我。再主程序中添加超聲波測(cè)量程序,用測(cè)量得到的數(shù)據(jù)量,強(qiáng)制轉(zhuǎn)換成一個(gè)Char變量(可百度強(qiáng)制轉(zhuǎn)換命令),用這個(gè)變量去=等于按鍵值的變量,能達(dá)到按鍵改變PWM信號(hào)的目的。如要變占空比(指速度或亮度)就去等于占空比的變量值,如要變小燈閃爍頻率(指像汽車倒車?yán)走_(dá)一樣,物體近小燈閃爍的快,音樂(lè)急)就去等于頻率的變量值。關(guān)鍵是要找到一個(gè)有液晶顯示器的用按鍵加減占空比和頻率的例程來(lái)改,不行再問(wèn),會(huì)有人給你寫的。
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-11-27 15:29 | 顯示全部樓層
冰冰潔潔 發(fā)表于 2018-11-26 22:03
先寫好PWM調(diào)光的按鍵加減程序,可找到例程,最好是有液晶顯示,能看占空比和頻率,沒(méi)有問(wèn)我。再主程序中 ...

是需要找到摁鍵調(diào)光代碼是嗎?但我好像沒(méi)有找到LCD顯示的,請(qǐng)問(wèn)你有嗎
回復(fù)

使用道具 舉報(bào)

ID:358930 發(fā)表于 2018-11-27 20:47 | 顯示全部樓層
試試這個(gè),不行傳過(guò)會(huì)有空傳附件。
15433226907860.8373147776134509.jpg
15433226907860.8373147776134509.jpg
回復(fù)

使用道具 舉報(bào)

ID:358930 發(fā)表于 2018-11-27 21:32 來(lái)自觸屏版 | 顯示全部樓層
15433226907860.8373147776134509.jpg
15433226907860.8373147776134509.jpg
15433226907860.8373147776134509.jpg
15433226907860.8373147776134509.jpg

1602顯并PWM按鍵調(diào)節(jié)輸出OK.zip

268.05 KB, 下載次數(shù): 11

評(píng)分

參與人數(shù) 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-11-29 19:28 | 顯示全部樓層
萬(wàn)物互聯(lián) 發(fā)表于 2018-11-26 21:45
#define LED_ON() ...
#define LED_OFF() ...
#define D_LENGTH 30

?這是具體的嗎
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-11-29 19:38 | 顯示全部樓層

暴風(fēng)哭泣謝謝你!。!但是那個(gè)接線怎么接呀
sbit RS = P2^6 ;
sbit RW = P2^5 ;
sbit EN = P2^7 ;

sbit STA7 = P0^7;
sbit PWM=P1^7;        //輸出PWM
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-11-29 20:35 | 顯示全部樓層
過(guò)過(guò)過(guò)兒 發(fā)表于 2018-11-27 15:29
是需要找到摁鍵調(diào)光代碼是嗎?但我好像沒(méi)有找到LCD顯示的,請(qǐng)問(wèn)你有嗎

1602顯并PWM按鍵調(diào)節(jié)輸出OK     這個(gè)文件夾里的程序,好像只是LLCD顯示的,沒(méi)有接LED,沒(méi)辦法調(diào)光不是
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-11-29 20:39 | 顯示全部樓層
hzai736 發(fā)表于 2018-11-16 12:52
如果只是要燈滅,可以用運(yùn)放電路,不用用到軟件。如果要漸變式的燈滅,無(wú)非是做軟件輪訓(xùn)漸變。

我是需要用超聲波模塊測(cè)距,然后像小于30cm的時(shí)候,燈滅,大于30cm燈亮這樣
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-12-1 10:21 | 顯示全部樓層
冰冰潔潔 發(fā)表于 2018-11-26 22:03
先寫好PWM調(diào)光的按鍵加減程序,可找到例程,最好是有液晶顯示,能看占空比和頻率,沒(méi)有問(wèn)我。再主程序中 ...

em,請(qǐng)問(wèn)怎么把超聲波程序放進(jìn)去
回復(fù)

使用道具 舉報(bào)

ID:358930 發(fā)表于 2018-12-3 00:57 | 顯示全部樓層
pwm1.7就是接個(gè)小燈LED.加入超聲波程序就復(fù)制超聲波相關(guān)定意腳和初始化程序,
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-12-3 10:34 | 顯示全部樓層
冰冰潔潔 發(fā)表于 2018-12-3 00:57
pwm1.7就是接個(gè)小燈LED.加入超聲波程序就復(fù)制超聲波相關(guān)定意腳和初始化程序,

問(wèn):就是在超聲波代碼的基礎(chǔ)上改,但是關(guān)了之后,下次再打開(kāi)修改過(guò)的超聲波文件,連接開(kāi)發(fā)板他就沒(méi)有反應(yīng)了,為什么
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-12-4 00:06 來(lái)自觸屏版 | 顯示全部樓層
冰冰潔潔 發(fā)表于 2018-12-3 00:57
pwm1.7就是接個(gè)小燈LED.加入超聲波程序就復(fù)制超聲波相關(guān)定意腳和初始化程序,

那sbit   STA7=P0.7呢
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表