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

QQ登錄

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

搜索
查看: 2373|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

怎樣通過(guò)超聲波模塊實(shí)現(xiàn)手勢(shì)調(diào)亮暗,求設(shè)計(jì)思路

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:407566 發(fā)表于 2018-11-12 15:59 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
主控芯片是51單片機(jī),通過(guò)與超聲波模塊連接,怎樣才能實(shí)現(xiàn)通過(guò)手勢(shì)實(shí)現(xiàn)調(diào)整燈的亮度。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:303383 發(fā)表于 2018-11-12 18:26 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

板凳
ID:157238 發(fā)表于 2018-11-12 20:12 | 只看該作者
51單片機(jī)我不是很清楚了,不過(guò)stm32的話可以用定時(shí)器輸出pwm波,你可以通過(guò)獲取超聲波檢測(cè)到的距離然后自己找到一個(gè)合適的換算公式  (初值=k*距離)初值是pwm輸出占空比的分子。這樣的話應(yīng)該可以實(shí)現(xiàn)吧。好像51也可以通過(guò)定時(shí)器輸出pwm。。
回復(fù)

使用道具 舉報(bào)

地板
ID:142291 發(fā)表于 2018-11-12 22:16 | 只看該作者
超聲波可以測(cè)距啊,手掌的距離就可以聯(lián)系到亮度啦
回復(fù)

使用道具 舉報(bào)

5#
ID:407566 發(fā)表于 2018-12-1 10:22 | 只看該作者
le51 發(fā)表于 2018-11-12 20:12
51單片機(jī)我不是很清楚了,不過(guò)stm32的話可以用定時(shí)器輸出pwm波,你可以通過(guò)獲取超聲波檢測(cè)到的距離然后自己 ...

emmm,你好,我是用51,但不知道該怎么把pwm和超聲波結(jié)合起來(lái)
回復(fù)

使用道具 舉報(bào)

6#
ID:407566 發(fā)表于 2018-12-1 15:14 | 只看該作者
123321yyy 發(fā)表于 2018-11-12 22:16
超聲波可以測(cè)距啊,手掌的距離就可以聯(lián)系到亮度啦

可是具體要怎么把超聲波測(cè)到的距離和pwm調(diào)光結(jié)合在一起啊
回復(fù)

使用道具 舉報(bào)

7#
ID:437183 發(fā)表于 2018-12-1 16:14 | 只看該作者
如果使用超聲波模塊,應(yīng)該是根據(jù)不同的距離實(shí)現(xiàn)亮度的控制
回復(fù)

使用道具 舉報(bào)

8#
ID:437192 發(fā)表于 2018-12-1 16:34 | 只看該作者
傳感器啊
回復(fù)

使用道具 舉報(bào)

9#
ID:437192 發(fā)表于 2018-12-1 16:34 | 只看該作者
如果使用超聲波模塊,應(yīng)該是根據(jù)不同的距離實(shí)現(xiàn)亮度的控制
回復(fù)

使用道具 舉報(bào)

10#
ID:436752 發(fā)表于 2018-12-1 18:10 | 只看該作者
#include"reg52.h" typedef unsigned char uchar; typedef unsigned int uint; sbit ENA=P0^0; sbit IN1=P0^1; sbit IN2=P0^2; sbit IN3=P0^3; sbit IN4=P0^4; sbit ENB=P0^5; uint k,j; #define OFF ENA=0;ENB=0; #define ON ENA=1;ENB=1; #define LEDL(key) P2&=(0xfe<<key);           //指定對(duì)應(yīng)的二極管發(fā)亮 #define LEDH(key) P2|=(0x01<<key);          //指定LED熄滅 #define QX(x,y) IN1=x,IN2=y; #define QY(x,y) IN3=x,IN4=y; void main()               {                 void init();                 //初始化定時(shí)器 void LEDOM();            //流水燈函數(shù)聲明 void daley(uint,uint);          //延時(shí)函數(shù)聲明 void (*p)(uint,uint);          //定義一個(gè)(uint,uint)的函數(shù)指針 void OL_bt(uint x,uint y);          //PWM調(diào)制函數(shù)聲明 p=OL_bt; QX(1,0); QY(1,0); init(); while(1) {   LEDOM();    (*p)(1000,100); } } void init()                       //定時(shí)器中斷初始化 {   TMOD=0x01;                                    //設(shè)置定時(shí)器0為工作方式1   EA=1;                                         //開(kāi)總中斷   ET0=1;  TR0=1;                                       //定時(shí)器0中斷允許         } OStime() interrupt 1 { static char n; if(n==0) {   OFF;   TH0=(65536-j)/256;   TL0=(65536-j)%256;   n=1;    return; } if(n==1) {   ON;      TH0 = (65536-k)/256;                           TL0 = (65536-k)%256;      n=0;   return; }     } void OL_bt(uint x,uint y)             //改變x,y的值來(lái)改變PWM來(lái)調(diào)速 x增大y減小速度減小  x減小y增大速度增大 { k=y; j=x; } void daley(uint x,uint y) { uint a,b; for(a=x;a>0;a--)   for(b=y;b>0;b--); } void LEDOM() { LEDL(0); daley(100,100); LEDL(1); daley(100,100); LEDL(2); daley(100,100); LEDL(3); daley(100,100); LEDL(4); daley(100,100); LEDL(5); daley(100,100); LEDL(6); daley(100,100); LEDL(7); daley(100,100); LEDH(0); daley(100,100); LEDH(1); daley(100,100); LEDH(2); daley(100,100); LEDH(3); daley(100,100); LEDH(4); daley(100,100); LEDH(5); daley(100,100); LEDH(6); daley(100,100); LEDH(7); daley(100,100); }            調(diào)光程序和距離一起,轉(zhuǎn)載自大神aabbcc
回復(fù)

使用道具 舉報(bào)

11#
ID:407566 發(fā)表于 2018-12-2 15:33 來(lái)自觸屏版 | 只看該作者
le51 發(fā)表于 2018-11-12 20:12
51單片機(jī)我不是很清楚了,不過(guò)stm32的話可以用定時(shí)器輸出pwm波,你可以通過(guò)獲取超聲波檢測(cè)到的距離然后自己 ...

大神,可以具體講一下嗎,要哭了
回復(fù)

使用道具 舉報(bào)

12#
ID:407566 發(fā)表于 2018-12-2 15:39 | 只看該作者
1904700334 發(fā)表于 2018-12-1 18:10
#include"reg52.h" typedef unsigned char uchar; typedef unsigned int uint; sbit ENA=P0^0; sbit IN1=P0 ...

這是實(shí)現(xiàn)什么功能呀
回復(fù)

使用道具 舉報(bào)

13#
ID:407566 發(fā)表于 2018-12-2 20:43 | 只看該作者
88877789 發(fā)表于 2018-12-1 16:14
如果使用超聲波模塊,應(yīng)該是根據(jù)不同的距離實(shí)現(xiàn)亮度的控制

是的,但我不知道該用什么方法來(lái)實(shí)現(xiàn)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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