巨集定義 wiringpi中的 0 引腳,對應gpio17,由於繼電器採用的只是小的電壓壓降控制,所以本次不需要pwm控制,只需要定義引腳為輸出,再利用高低輸出的無限迴圈就可以實現實現。
ps:pinmode 函式
原型為:void pinmode(int pin, int mode);
digitalwrite 函式
原型為:void digitalwrite(int pin, int value);
使用該函式可以向指定的管腳寫入 high(高)或者low(低),寫入前,需要將管腳謳置為輸出模式。
wiringpi將任何的非 0 值作為 high(高)來對待,因此,0 是唯一能夠代表 low(低)的數值。
#include
#include
#define relaypin 0
intmain
(void
)// printf("linker ledpin : gpio %d(wiringpi pin)\n",voicepin); //when initialize wiring successfully,print message to screen
pinmode
(relaypin, output)
;while(1
)return0;
}
#!/usr/bin/env python
import rpi.gpio as gpio
import time
relaypin =
11# pin11
defsetup()
: gpio.setmode(gpio.board)
# numbers gpios by physical location
gpio.setup(relaypin, gpio.out)
gpio.output(relaypin, gpio.high)
defloop()
:while
true
:print
'...relayd on'
gpio.output(relaypin, gpio.low)
time.sleep(
0.5)
print
'relay off...'
gpio.output(relaypin, gpio.high)
time.sleep(
0.5)
defdestroy()
: gpio.output(relaypin, gpio.high)
gpio.cleanup(
)# release resource
if __name__ ==
'__main__'
:# program start from here
setup(
)try
: loop(
)except keyboardinterrupt:
# when 'ctrl+c' is pressed, the child program destroy() will be executed.
destroy(
)
ps:gpio.setmode(gpio.board)
gpio.setmode(gpio.board)
在rpi.gpio中,同時支援樹莓派上的兩種gpio引腳編號。第一種編號是board編號,這和樹莓派電路板上的物理引腳編號相對應。不用擔心因為版本的更改而導致引腳呼叫要重新更改。
另外一種呼叫方式是gpio.setmode(gpio.bcm)
,面向的是更底層的工作方式,使用起來會比較困難。
ps:還要說的就是gpio.cleanup()
gpio.cleanup() 是用來釋放資源的,可以及時的釋放樹莓派中的引腳,避免樹莓派損壞。
37種感測器 樹莓派開發 6 傾斜感測器
傾斜感測器利用感測器傾斜程度,實現開關功能,原理如同輕觸開關,我們 的主要任務也是利用引腳接收到高低訊號,然後根據接收結果控制兩個輸出電位高低,控制雙色led。include include define tiltpin 0 define gpin 1 define rpin 2 void led ...
樹莓派開發 繼電器
繼電器驅動電壓為 3.3v 繼電器正極接到樹莓派 3.3v,繼電器負極接到樹莓派 0v,繼電器 gpio 口接到樹莓派 gpio 口 接好後繼電器燈亮起 綠燈滅斷開,綠燈亮為閉合 配置引腳的 io 模式,此處我們連線了樹莓派 gpio.7,配置 7 號引腳為輸出模式 while 1 else if ...
樹莓派3B 控制繼電器
一 繼電器的定義 繼電器 英文名稱 relay 是一種電控制器件,是當輸入量 激勵量 的變化達到規定要求時,在電氣輸出電路中使被控量發生預定的階躍變化的一種電器。它具有控制系統 又稱輸入迴路 和被控制系統 又稱輸出迴路 之間的互動關係。二 繼電器的作用 通常應用於自動化的控制電路中,它實際上是用小電...