아틱과 버튼 사용 예제 (파이썬 사용)

메이커 2018-09-11 (화) 09:23 6년전 3087  

본 튜토리얼의 전체 PDF는 다음의 링크에서 참고하실 수 있습니다. 

 

https://goo.gl/JVMp9q 

 

 

1)    파이썬 

 

[ ~ ]# nano button.py

 

 

 

“button.py”라는 파일을 만들고, 다음의 소스코드를 붙여넣습니다.


#!/usr/bin/python

 

import time

import sys

 

print "Toggle a button"

buttonpin = 30

 

#export pin 30 by opening file and writing the pin number to it

pinctl = open("/sys/class/gpio/export", "wb", 0)

try:

    pinctl.write( str(buttonpin))

    print "Exported pin", str(buttonpin)

except:

    print "Pin ", str(buttonpin), " has been exported"

pinctl.close()

 

#set pin to be digital input

filename = '/sys/class/gpio/gpio%d/direction' % buttonpin

pinctldir = open(filename, "wb", 0)

try:

    pinctldir.write("in")

    print "Set pin ", str(buttonpin), " as digital input"

except:

    print "Failed to set pin direction"

pinctldir.close()

 

def exit_gpio():

    #unexport pin

    pinctl = open("/sys/class/gpio/unexport", "wb", 0)

    try:

        pinctl.write( str(buttonpin))

        print "Unexported pin", str(buttonpin)

    except:

        print "Pin ", str(buttonpin), " has been unexported"

    pinctl.close()

 

#pin value changes when the button is pressed

filename = '/sys/class/gpio/gpio%d/value' % buttonpin

while True:

    try:

        pin = open(filename, "rb", 0)

        print pin.read()

        time.sleep(1)

        pin.close()

    except KeyboardInterrupt:

        exit_gpio()

        sys.exit(0)

 

 

[ ~ ]# python button.py

 

파이썬 프로그램이 실행되면, 1이 출력됩니다. 이 때, SW403 버튼을 누르면 0으로 바뀌는 것을 확인할 수 있습니다.

 

1f7c3ee5d7e718d5cf0b1a77c77892dc_1536642

 

메카리워즈 Image Map


모바일 버전으로 보기