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