树莓派项目实践 [1] —— 编程控制继电器组件实现电路开闭(C语言)
原創首發于CSDN,轉載請注明出處,謝謝!https://blog.csdn.net/weixin_46959681/article/details/115145982
文章目錄
- 所用的樹莓派與繼電器組件
- | 樹莓派的引腳編號
- |繼電器
- 通過樹莓派引腳編程操作繼電器組件
- |源代碼: gpioRelay.c
- |操作繼電器組件
- 思緒
- 參考資料
- 文章更新記錄
所用的樹莓派與繼電器組件
| 樹莓派的引腳編號
數據交互成功后,使用命令 gpio readall 調出樹莓派的引腳全圖。參照實際的樹莓派板子,圖片中左邊一側引腳標號對應樹莓派靠近 CPU 一側的引腳,右邊對應樹莓派靠外側一排的引腳。可以看到樹莓派的引腳具有特定的編號,如 IN、ALTO(RxD、TxD)、0(GND)。
|繼電器
繼電器是一類電子控制元器件,具有輸入回路(控制系統)和輸出回路(被控制系統),多用于自動控制電路中。在實際工作中輸入低電流控制高電流的一種自動開關,在電路中起著自動調節、安全保護、轉換電路等作用。
繼電器的工作原理可以參考文章:詳解繼電器的工作原理及電路
繼電器工作效果教學視頻:電子元件從零到精通-通過實驗認識“繼電器”
通過樹莓派引腳編程操作繼電器組件
|源代碼: gpioRelay.c
/* gpioRelay.c */ #include <stdio.h> #include <string.h> #include <wiringPi.h> //將杜邦線將樹莓派的第27、28、29引腳與繼電器組件相連。 #define SWIT1 29 #define SWIT2 28 #define SWIT3 27int main() { char cmd[12] = {'\0'};if(wiringPiSetup()== -1){printf("Fialed.\n");return -1;}//將配置的引腳設為輸出狀態。pinMode(SWIT1,OUTPUT);pinMode(SWIT2,OUTPUT);pinMode(SWIT3,OUTPUT);//默認為關閉狀態。digitalWrite(SWIT1,HIGH);digitalWrite(SWIT2,HIGH);digitalWrite(SWIT3,HIGH);while(1){printf("Please input the number 1/2/3:off-break,on-pass.\n");memset(cmd,'\0',sizeof(cmd));//函數 sacnf 沒起作用。gets(cmd);//低電平LOW電路接通,高電平HIGH電路斷開。if(strcmp(cmd,"1 on") == 0){digitalWrite(SWIT1,LOW);}else (strcmp(cmd,"1 off") == 0){digitalWrite(SWIT1,HIGH);}if(strcmp(cmd,"2 on") == 0){digitalWrite(SWIT2,LOW);}else (strcmp(cmd,"2 off") == 0){digitalWrite(SWIT2,HIGH);}if(strcmp(cmd,"3 on") == 0){digitalWrite(SWIT3,LOW);}else(strcmp(cmd,"3 off") == 0){digitalWrite(SWIT3,HIGH);}if(strcmp(cmd,"all on") == 0){digitalWrite(SWIT1,LOW);digitalWrite(SWIT2,LOW);digitalWrite(SWIT3,LOW);}else(strcmp(cmd,"all off") == 0){digitalWrite(SWIT1,HIGH);digitalWrite(SWIT2,HIGH);digitalWrite(SWIT3,HIGH);}} }|操作繼電器組件
在正確使用杜邦線連接繼電器組與樹莓派的前提下,終端運行源碼 gpioRelay.c ,看到交互軟件界面跳出輸入指令提示,按提示輸入指令即可實現與引腳相對應的繼電器的開閉。或者輸入 all on 、all off 實現全開、全閉。具體的效果實現,筆者就不在粘貼效果圖了。
思緒
不停地輸入 0、1 喚起電路,操縱繼電器啟動、閉合,目睹綠燈時而亮起時而熄滅,筆者也不禁陷入了深深的思索。從應用的層面上看,確實成功實現了操作樹莓派控制了繼電器的開閉。但這是通過操作一個類如“巨大的黑箱”般的函數得到的,內里整個組件所應用的原理和龐大的設計全部都被封裝了,筆者對其還是一無所知。
IO流的輸入、輸出也是一個比較抽象的東西,輸入0、1實現控制繼電器的開閉,若將輸入的 0、1 改為人臉面部特征數據,那就是人臉識別相關產品的研發了。輸入可以是紅外線、人體的溫度、人的行走步態等等(萬物皆可輸入),輸出可以是蜂鳴器的吼叫、人體熱成像圖、山林等高線地勢圖、機器學習中關于的人體動態圖譜以及電動車輔助駕駛等等(萬物皆可輸出)。
【關于電路原理、遙感理論、傳感器、信息論的課程以后必須要補起來。】
參考資料
- 參考博文 樹莓派wiringPi庫詳解
文章更新記錄
- “樹莓派的引腳編號”一節完成。 「2021.3 23 21:55」
- “沉思”一節完成。 「2021.3.24 11:39」
- “使用的樹莓派與繼電器組”一節完成。 「2021.3.26 11:44」
- “通過樹莓派引腳編程操作繼電器組”一節完成。 「2021.3.26 17:02」
- 修改并糾正了部分文本和錯別字。 「2021.4.7 10:20」
P.S.1 學習不耗費時間,寫博客最耗費時間。
總結
以上是生活随笔為你收集整理的树莓派项目实践 [1] —— 编程控制继电器组件实现电路开闭(C语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BERT-MRC论文笔记
- 下一篇: 电源滤波器工作原理