2017/6/12

raspberry pi . relay

ref:
pi 的 gpio 好像是 3.3v, 所以買 relay 的時候要這注意要買推得動的。
我是買:這一家, 因為我只要一路,控制有 3.3v。

relay 上的 VCC, GND 用 pi 上面的 5V, Ground。
然後 gpio 用 gpio25,pin 腳22,外側倒數第三跟。

先用 ref 裡面的 relay 程式(因為他是控制 gpio 24, 25),看 relay 可以正常開關。
就可以開始其他的...

用 python..先啟動 python..到 interactive..
pi@raspberrypi:~/Relay$ python
Python 2.7.9 (default, Sep 17 2016, 20:26:04) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import RPi.GPIO as GPIO
>>> GPIO.setup(25,GPIO.OUT)
Traceback (most recent call last):
  File "", line 1, in 
RuntimeError: Please set pin numbering mode using GPIO.setmode(GPIO.BOARD) or GPIO.setmode(GPIO.BCM)
>>> GPIO.setmode(GPIO.BCM)
>>> GPIO.setup(25,GPIO.OUT)
__main__:1: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
>>> GPIO.output(25,False)
>>> GPIO.output(25,True)
>>> 
原來 GPIO 的數字命名有兩種:依照 排針 pin 腳數字,還是 BCM datasheet 的gpio 數字。
這裡用的是 datasheet 數字。
最後 output False, True 就可以聽到 relay 動作...

接著做自動開關..
關 15 sec
開 10 min
>>> import time
>>> GPIO.output(25,True)
>>> for i in range(10):
...     GPIO.output(25,False)
...     time.sleep(15)
...     GPIO.output(25,True)
...     print i
...     time.sleep(10*60)
... 

沒有留言:

張貼留言