Beaglebone Black–GPIO 開關 LED(三極體與繼電器實驗)

来源:http://www.cnblogs.com/leptonation/archive/2016/01/24/5155908.html
-Advertisement-
Play Games

上一篇,用 GPIO 直接供電給 LED,用高低電平作開關,不靠譜。GPIO 是信號用的,不是當電源用的。而且,一個 GPIO 只能給可憐的 5mA 左右,取多了會燒(我沒燒過不知道是不是真的會燒,但說明書上面是這樣寫)。這樣玩不過來,所以我做了以下三極體實驗。 2N3904 參數請點擊這裡。不推薦...


上一篇,用 GPIO 直接供電給 LED,用高低電平作開關,不靠譜。GPIO 是信號用的,不是當電源用的。而且,一個 GPIO 只能給可憐的 5mA 左右,取多了會燒(我沒燒過不知道是不是真的會燒,但說明書上面是這樣寫)。這樣玩不過來,所以我做了以下三極體實驗。

image_thumb[3]

2N3904 參數請點擊這裡。不推薦這個,lcm 是 200mA,但我只有它,沒辦法。三極體,我當作開關用。

先用麵包板試一次:

我準備用 BBB 3.3V 取電,2N3904 ,lcm 200mA,就是 C 腳只能 200mA 上限,要用電阻降,我電阻種類不多,拿了個 24Ω 的,接 C 腳。我用 470Ω 把 3.3V 降到 7mA 模擬 GPIO 的高電平輸出,到 B 腳。此時接通電源後,B 腳高電平的話,E 腳大概 2.8V,再用150Ω 降到 19mA 左右給 LED(註:LED 超過 25mA 會燒毀)。下圖綠色線就是通過電阻接 B 腳的,拔掉就關燈。在麵包板上就這樣。

DSC_0026

總的來說,瞎搞。接得亂七八糟。先用 BBB 試試再說吧。關閉電源情況下接線。P9_1 是 GND,P9_3 是 3.3V 電源,用 P9_13 (GPIO 號 31)作為控制信號輸出:

DSC_0027

不太會用 Fritzing… 這個樣子的:

imageimage

一開機你會發現,LED 亮著的。然後進去系統操作 sysfs ,如下:

image

當把 direction 改為 out 時候,燈就會熄滅,value 是零。把 value 調為 1,燈就再次亮起。想解決 direction 未調為 out 之前的燈亮問題的話,加一個下拉電阻就正常的了(把 B 腳通過電阻,比如 10K 吧,接到 GND)。

imageimage

對於這個結果,本人表示不滿意。再來,這次丟掉那麻煩的三極體,改用繼電器:

DSC_0028

這個是 3.3V,合適,另一邊能承受 AC 240V 7A,或者 DC 28V 10A。大部分繼電器都足夠玩的了,不過我這個是 3.3V,接 BBB 直接插,方便。

這實驗是想用 BBB 控制 5V DC 電路,先測試一下:

DSC_0029

麵包板供電 5V,串連兩個 LED,再加個 47Ω電阻。點亮。這裡電流 21mA 已經接近 LED 能承受的極限(據說是 25mA,我看書上面說LED 正常工作電流是 18-20mA)。

然後接上繼電器和 BBB。我很怕毀了 BBB,所以還是加了個 470Ω 電阻 在 GPIO。我不確定不加這電阻會發生什麼事。 連接時當然要全部電源關閉。

DSC_0031

繼電器控制那一側,VCC 接 BBB 的 3.3V,GND 接 BBB 的 GND,IN 信號口接 BBB 的 P9_13(GPIO 號31)。但註意繼電器的另一側的電路連接,必須按照廠家說明來接。一般來說,繼電器中間是接火線(正極),另外兩個口是常開負極和常閉負極。我是接了常閉的負極,就是說,上電後,未收到 BBB 的高電平信號前,LED 不會亮。

檢查無誤後,BBB 上電,麵包板上電。我這繼電器有指示燈,下圖的指示燈是代表控制方的電源已接通。

DSC_0032

然後,操作 BBB:

image

對以上有疑惑的請看前幾篇關於 sysfs 的簡單操作。

當輸出高電平時候,echo 1 > gpio31/value 後,兩顆 LED 亮起:

DSC_0033

當然,echo 0 > gpio31/value 的話,燈就熄滅。

到此為止,實驗成功。代碼不寫了。

這繼電器能用在 AC 220V 電路,不過我暫時沒想到要拆那個家電。要控制家電沒個 WiFi 不像 IoT,下一篇就是,ESP8266,¥12.5 一個,下一篇用 BBB 串口操作它,串口 AT 命令而已。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • linux 命令grep grep命令用來搜索文本,或從給定的文件中搜索行內包含了給定字元串或單詞的文件。通常來說,grep顯示匹配的行。使用grep來搜索包括一個或多個正則表達式匹配到的文本行,然後只顯示匹配到的行。 grep命令的語法: grep ‘word’ 文件名 grep ‘wor...
  • 本文由ilanniweb提供友情贊助,首發於爛泥行天下 想要獲得更多的文章,可以關註我的微信ilanniweb 公司的業務現在已經擴展到海外,對外提供的統一介面都是通過功能變數名稱來解析的,但是海外用戶訪問國內介面的話,你懂的,很慢的。為了提高功能變數名稱解析的速度,打算使用智能DNS功能,來解決海外用戶功能變數名稱解析慢...
  • linux 下,我們常使用 cd ,grep,vi 等命令,有時候我們要查到這些命令所在的位置,如何做呢?linux下有2個命令可完成該功能:which ,whereiswhich 用來查看當前要執行的命令所在的路徑。whereis 用來查看一個命令或者文件所在的路徑,which命令的原理:在PAT...
  • 1.查看內核版本cat /proc/version[xingxing.dxx@30_28_6_20 ~]$ cat /proc/versionLinux version 2.6.32-573.7.1.el6.x86_64 ([email protected]) (g...
  • 系統安裝安裝準備系統:CentOS 7、Win 10硬體:U盤一枚、PC一臺軟體:UltraISO安裝步驟使用UltraISO將鏡像寫入U盤window10使用磁碟管理,空出一個未分配的區域留給centos安裝系統,一般20G以上重起電腦,bios中修改啟動項至usb啟動出現三個選擇項,使用向上箭頭...
  • 第1章 Crond是什麼?Crond是linux系統用來定期執行命令或指定程式任務的一種服務或軟體。一般情況下,我們安裝完Centos5/6linux操作系統之後,預設便會啟動Crond任務調度服務。Crond服務會定期(預設每分鐘檢查一次)檢查系統中是否有要執行的任務工作。如果有,便會根據其預先設...
  • 安裝環境:Vmware 11、SUSE11 64位vmware快速安裝linux虛擬機的過程還是比較簡單的,步驟如下:1、點擊文件,新建虛擬機。2、選擇典型安裝。3、在紅框中選擇想要安裝的虛擬機鏡像,vmware會自動檢測系統版本。4、填寫虛擬機信息,創建用戶,註意此處密碼需要牢記,用於該處創建的用...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...