삼성 아틱 710S와 조도센서 파이썬 예제 2개

메이커 2018-09-11 (화) 09:23 5년전 2001  

파이썬 사용시


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

 

https://goo.gl/JVMp9q 


1f7c3ee5d7e718d5cf0b1a77c77892dc_1536643
 

 from time import sleep

 

OUTPUT = 'out'

INPUT = 'in'

HIGH = 1

LOW = 0

 

def export(pin):

    try:

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

        exp.write(str(pin))

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

    except IOError as e:

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

 

def unexport(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('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')

        direction.close()

    except IOError as e:

        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('Error: %d - %s' %(e.errno,e.strerror))

 

def analogRead(pin):

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

    try:

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

        value = file.read()

        file.close()

        return int(value)

    except IOError as e:

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

        return 0

 

LEDpin = 128

LightSensor = 0

 

export(LEDpin)

pinMode(LEDpin,OUTPUT)

 

try:

while True:

raw = analogRead(LightSensor)

volt = raw * 1.8/4095

print("Raw value: %d" %raw)

print("Voltage: %0.2f" %volt)

if raw <= 1024:

digitalWrite(LEDpin, HIGH)

else:

digitalWrite(LEDpin, LOW)

sleep(0.5)

except KeyboardInterrupt:

unexport(LEDpin)

print("Stop!!!")


 

 

 

1f7c3ee5d7e718d5cf0b1a77c77892dc_1536643
 

 

다른 방식의 소스코드 (파이썬)

 

조도센서 사용하기

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

1f7c3ee5d7e718d5cf0b1a77c77892dc_1536643
 

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

1f7c3ee5d7e718d5cf0b1a77c77892dc_1536643
 

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)

메카리워즈 Image Map


모바일 버전으로 보기