吴忠躺衫网络科技有限公司

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>接近傳感器開源分享

接近傳感器開源分享

2023-02-03 | zip | 0.02 MB | 次下載 | 2積分

資料介紹

描述

你好世界!

我只是一個 19 歲的小伙子,對電子產品和類似的東西充滿熱情,幾天前,我父親為他的汽車買了一個真正的接近傳感器,然后,我嘗試復制它,但采用 DIY 方法呵呵。

這個東西,可以檢測距離,并且用 LED 顯示物體是近還是遠。

如果距離足夠近,警報器(蜂鳴器)就會開始發出聲音。

顯然,這并未針對真車進行優化,僅供娛樂之用。

這是我制作的第一個項目,除了我的 Arduino 指南,我的項目沒有任何其他基礎。

現在,讓我們解釋一下我所做的事情。

int TRIG = 5;
int ECO = 6;
int LED = 3;
int DURATION;
int DISTANCE;
int LED2 = 2; 
int LED3 = 4;
int ALERT = 7;
void setup() {
 // put your setup code here, to run once:
pinMode(TRIG, OUTPUT);
pinMode(ECO, INPUT);
pinMode(LED, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(ALERT, OUTPUT);
Serial.begin(9600);
}

?

首先,我聲明了所有項目的初始值,如 LED 和引腳。后來,在 void 設置之前,我放置了 pinModes 以及它是否處于輸入或輸出狀態。并且,與串口通信我使用串口,??因為我想檢查傳感器是否正常工作。這不是必需的,但我這樣做了。

void loop() {
 // put your main code here, to run repeatedly:
digitalWrite(TRIG, HIGH);
delay(1);
digitalWrite(TRIG, LOW);
DURATION = pulseIn(ECO, HIGH);
DISTANCE = DURATION / 58.2;
Serial.println(DISTANCE);
delay(200);

在那之后,在 Void Loop 中,我把所有的數學運算都做了。

在這里,有一件重要的事情。

在我的手冊中,58.2 表示這是傳感器制造商提供的常數。我的手冊沒有說任何其他內容,所以...我沒有其他任何內容可以解釋 xd。我用的傳感器,是經典的傳感器,HC-SR04。

然后,我將代碼上傳到 Arduino 的內存中,我得到了這樣的東西:

?

?
arduinoxd_9pIYZJicvk.png?auto=compress%2Cformat&w=740&h=555&fit=max
我的代碼的結果...
?

PC 上打印的數字是傳感器讀取的距離。沒有其他的。

然后,真正艱苦的工作(對我來說……),已經開始了……

?

if (DISTANCE <= 15 && DISTANCE >= 8 ) {
 digitalWrite(LED, HIGH); // Yellow led Middle Risk
}
else {
 digitalWrite(LED, LOW);

 if (DISTANCE <= 20 && DISTANCE > 15) { 
   digitalWrite(LED2, HIGH); // Green led Low Risk
 }
 else {
   digitalWrite (LED2, LOW);

   if (DISTANCE > 20) {
     digitalWrite(LED3, HIGH);  //Blue led Out Of Risk 
   }
   else {
     digitalWrite (LED3, LOW);

if (DISTANCE < 7 && DISTANCE >= 0) {
 digitalWrite (ALERT, HIGH); //Red led HIGH RISK
 delay(150);
 digitalWrite (ALERT, LOW);
 delay(150);
}
else {
 digitalWrite (ALERT, LOW);
}
   }
 }
}
}

在這段代碼上,我真的花了太長時間來開發它。

它不按順序,因為我瘋狂地添加了 LED,而且......關鍵是它有效......我保證在下一個“教程”中,我會按順序工作......

然而...

LED 數字 3(藍色)表示您沒有危險,因為距離超過 20 厘米。

LED 2(綠色)表示您處于低風險狀態。這種低風險介于 20 和 15 之間。

LED 零(或僅稱為 LED(黃色))表示您處于中等風險。這個中間風險在 15 和 8 之間。

LED 警報(紅色)表示您離物體太近,不到 7 厘米。

我嘗試分開添加一個蜂鳴器,但是,它不起作用……所以,我將它添加到 LED ALERT 上。您將在原型板圖像中看到它...

最后一個 LED,在蜂鳴器發出聲音的同時閃爍。

畢竟,我編譯它(糾正成千上萬的恐怖(像經典的“;錯誤”))

然后,它起作用了,就像我預期的那樣。

?

?
arduino2xdd_8j79RfwsVw.png?auto=compress%2Cformat&w=740&h=555&fit=max
原型板...
?

我認為這對我第一次嘗試 Arduino 很有幫助。

?

這是整個代碼...

int TRIG = 5;
int ECO = 6;
int LED = 3;
int DURATION;
int DISTANCE;
int LED2 = 2; 
int LED3 = 4;
int ALERT = 7;
void setup() {
 // put your setup code here, to run once:
pinMode(TRIG, OUTPUT);
pinMode(ECO, INPUT);
pinMode(LED, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(ALERT, OUTPUT);
Serial.begin(9600);
}

void loop() {
 // put your main code here, to run repeatedly:

digitalWrite(TRIG, HIGH);
delay(1);
digitalWrite(TRIG, LOW);

DURATION = pulseIn(ECO, HIGH);

DISTANCE = DURATION / 58.2;

Serial.println(DISTANCE);
delay(200);

if (DISTANCE <= 15 && DISTANCE >= 8 ) {
 digitalWrite(LED, HIGH); // Yellow led Middle Risk
}
else {
 digitalWrite(LED, LOW);

 if (DISTANCE <= 20 && DISTANCE > 15) { 
   digitalWrite(LED2, HIGH); // Green led Low Risk
 }
 else {
   digitalWrite (LED2, LOW);

   if (DISTANCE > 20) {
     digitalWrite(LED3, HIGH);  //Blue led Out Of Risk 
   }
   else {
     digitalWrite (LED3, LOW);

if (DISTANCE < 7 && DISTANCE >= 0) {
 digitalWrite (ALERT, HIGH); //Red led HIGH RISK
 delay(150);
 digitalWrite (ALERT, LOW);
 delay(150);
}
else {
 digitalWrite (ALERT, LOW);
}
   }
 }
}
}

.:MRX:.


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
免费百家乐预测软件| 百家乐官网磁力录| 百家乐多少点数算赢| 札达县| 皇冠网百家乐平台| 明星| 千亿娱百家乐的玩法技巧和规则| 百家乐官网园云顶娱乐主页| 大发888网址官方| 百家乐官网最长的闲| 蓝盾百家乐娱乐场开户注册 | 视频百家乐官网破解| 大发888官方6222.c| 百家乐怎样捉住长开| 百家乐官网轮盘桌| 大发888娱乐场大发888娱乐场| 百家乐合作代打| 百家乐官网透视用设备| 老虎机单机游戏下载| 李雷雷百家乐官网的奥妙| 昌平区| 威尼斯人娱乐注册| 百家乐打印程序| 百家乐官网娱乐城博彩| 大发888娱乐场下载 df888ylc3403| 新皇冠娱乐城| 聚宝盆百家乐游戏| 网络百家乐官网破解平台| 德州扑克怎么算牌| 百家乐投注平台信誉排行| 百家乐官网赌场游戏平台| 新濠天地娱乐城| 百家乐官网| 百家乐游戏机的玩法| 百家乐官网tt娱乐平台| 江山市| 百家乐手机软件| 百家乐官网赌场大全| 虎林市| 南通棋牌游戏中心下载| 时时博百家乐的玩法技巧和规则 |