삼성 아틱과 5V 릴레이 연결 예제 (파이썬)

메이커 2018-09-11 (화) 09:23 3년전 1228  

릴레이는 전기적 신호를 이용하여 스위칭하는 모듈입니다.

 

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

 

https://goo.gl/JVMp9q 

 

 

1.    GPIO의 출력 전압이 5V로 되어 있는지 확인 후, 다음과 같이 점퍼를 이동합니다.


1f7c3ee5d7e718d5cf0b1a77c77892dc_1536642
 

 

2.    하드웨어 연결은 다음과 같습니다.

1f7c3ee5d7e718d5cf0b1a77c77892dc_1536642
 

3.    터미널에서 파이썬 코드를 다음과 같이 작성합니다.

import time

 

OUTPUT = 'out'

INPUT = 'in'

HIGH = 1

LOW = 0

 

def reg(pin):

    try:

        exp = open('/sys/class/gpio/export','wb',0)

        exp.write(str(pin))

        print('Registion Successful: pin%d' %pin)

        #exp.close()

    except IOError as e:

        #print('Registion Error: pin%d' %pin)

        print('Error: %d - %s' %(e.errno,e.strerror))

 

def unreg(pin):

    try:

        uexp = open('/sys/class/gpio/unexport','wb',0)

        uexp.write(str(pin))

        print('Unregistion Successful: pin%d' %pin)

        uexp.close()

    except IOError as e:

        #print('Unregistion Error: pin%d' %pin)

        print('Error: %d - %s' %(e.errno,e.strerror))

 

def pinMode(pin, mode):

    try:

        direction = open('/sys/class/gpio/gpio%d/direction' %pin,'wb',0)

        direction.write('out' if mode == OUTPUT else 'in')

        #print('pin%d setted at %s' %(pin,'out' if mode == OUTPUT else 'in'))

        direction.close()

    except IOError as e:

        #print('CANNOT SET PIN MODE: pin%d' %pin)

        print('Error: %d - %s' %(e.errno,e.strerror))

 

def digitalWrite(pin,value):

    try:

        val = open('/sys/class/gpio/gpio%d/value' %pin,'wb',0)

        val.write(str(value))

        val.close()

    except IOError as e:

        #print('WRITE ERROR: pin%d' %pin)

        print('Error: %d - %s' %(e.errno,e.strerror))

 

def digitalRead(pin):

    try:

        file = open('/sys/class/gpio/gpio%d/value' %pin,'rb',0)

        value = file.read()

        file.close()

        return int(value)

    except IOError as e:

        #print('READ ERROR')

        print('Error: %d - %s' %(e.errno,e.strerror))

        return 0

 

def analogRead(pin):

    filePath = '/sys/devices/platform/c0000000.soc/c0053000.adc/iio:device0/in_voltage%d_raw' %pin

    print(filePath)

    try:

        file = open(filePath,"rb",0)

메카리워즈 Image Map


모바일 버전으로 보기