日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

树莓派:外设开发编程,控制继电器

發(fā)布時間:2025/4/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 树莓派:外设开发编程,控制继电器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

樹莓派外設(shè)開發(fā)接口文檔參考

wiringPi(特定平臺,特定功能接口) 庫(Linux 動態(tài)庫 .so? ?靜態(tài)庫.a)

API? ? ? printf? ?是c 的標(biāo)準(zhǔn)庫

1、樹莓派的接口

(所謂的外設(shè)開發(fā)編程就是我們說的接口)

io口:? input????????? output? ????????對主控芯片來說

input相關(guān)的模塊: 人體(傳感器),火焰,振動等

Output相關(guān)的模塊:繼電器? ?,蜂鳴器

?(實現(xiàn)某些控制)

PWM:電機調(diào)速,燈光調(diào)明亮度

語音識別模塊,液晶屏

(比如項目中定死了,就用樹莓派,你買了一個屏幕是SPI的,那你就要用SPI的協(xié)議,去寫樹莓派的代碼,讓他跟液晶屏調(diào)試起來

如果你買的語音模塊是串口的,同樣的,要用樹莓派的串口編程,與這個語音模塊配合起來)

串口 uart

IIC

SPI

IIS

其他特定硬件的接口:flash..

Nanopi:Linux

S3c2410,2440 6410

Tiny210 tiny 4412

海思方案,瑞星微方案,移遠方案

c51,STM32,Arduino,WemosD1(純邏輯的開發(fā)):沒有OS(Linux)

2、樹莓派的接口函數(shù)

如何檢查樹莓派有沒有wiringPI?

這就是裝了wiringPi庫,你沒裝的話,他會提示指令不認(rèn)識

你要用別人編好的piringPI庫,要加個-l

?注意看這里

相關(guān)的代碼

?我們里面先什么也不寫

?我們克隆一下這個窗口

出現(xiàn)這樣的情況是因為我們在窗口一打開了這個文件?

O是以只讀的方式打開 ,E是可以編輯它? ,R重新加載 ,Q退出 ,A 放棄

?原因是ls -a?

?解決方案一:把前面的窗口關(guān)上

解決方案二:刪掉隱藏文件

然后我們繼續(xù)編輯

?運行

1、樹莓派控制繼電器

?接線正確的話紅燈會亮起

(ucc連接3.3v,GND連接0v)

他是一個可編程的電子開關(guān),io口控制才會吸鐵派片

Gpio既能輸入,也能輸出,是通用的

現(xiàn)在我想做一件事情,鍵盤輸入1 導(dǎo)通,鍵盤輸入0斷開

記得里面判斷一下

連接的是7口,如何把7口設(shè)置成輸出口呢?

先調(diào)用硬件初始化函數(shù)

還有GPIO的控制

這個PinMode是引腳的模式,有輸入模式INPUT,和輸出模式OUTPUT

?導(dǎo)通開關(guān)繼電器賦值一個低電平就會導(dǎo)通,如何才能賦值低電平呢?

digitalWrite

高電平就斷開了

?

代碼如下?

?這里寫cc也可以

(因為gcc 的軟連接就是面向cc的)

運行一下

?默認(rèn)情況下它就亮了,就綠了

?

?我們現(xiàn)在輸入個0 ,看能不能關(guān)掉

結(jié)果?

我們想讓他能一直玩

用while(1)的時候,cmd需要重新歸位

修改一下,讓繼電器上來不通

執(zhí)行有時候蹦了

?原因是回車的問題

用getchar();吸收回車

?運行結(jié)果

?然后我們再來一下代碼優(yōu)化

代碼中的7是不是很難看,可讀性差

我們可以用define SWITCHER 7

?思路,main函數(shù)一進來做wiringPi庫的初始化

然后引腳要做初始化,因為引腳既有輸出功能,也有輸入功能,我們把他配置成輸出的功能

為了讓繼電器一上電不要導(dǎo)通電器,來了一個高電平

循環(huán)的時候,你不給它10 它容易一直都是1,記得getchar()吸收一下回車符

2、繼電器組硬件控制開發(fā)

連接成功后會有微弱的光

scanf 取地址符號去掉,是因為數(shù)組名就是個地址

scanf里面用%s,因為字符串

scanf之前都要memset初始化一下

這里注意是sizeof,而不是strlen

我們先控制一個

?運行結(jié)果

?說明scanf還是有一些bug的

用gets會提示你危險慎用(沒辦法不過也能用)

?運行一下

?繼電器組的燈

同樣的邏輯,我們可以做其他的燈

?

?

?運行結(jié)果

?繼電器的燈光

可以再來個一鍵關(guān)閉,開啟

?

運行

總結(jié)

以上是生活随笔為你收集整理的树莓派:外设开发编程,控制继电器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。