ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 라즈베리 파이, 간단한 GPIO 활용
    보고서 및 정보/공학계열 2018. 1. 5. 00:02

    <라즈베리 파이3와 간단한 GPIO활용>




    라즈베리 파이라즈베리 파이3




     라즈베리 파이는 영국의 라즈베리 파이 재단이 기초 컴퓨터 과학 교육을 증진시키기 위해 만든 싱글 보드 컴퓨터이다. 학교에서 강의를 듣고 브레드보드를 이용한 간단한 회로구성으로 GPIO를 체험해보았다. 


     가장 먼저 해야했던 것은 라즈베리 운영체제를 micro SD카드에 다운받는 것이었다. 운영체제인 라즈비안은 라즈베리 파이 홈페이지에서 다운로드 할 수 있다. 코딩 프로그램은 지니를 활용, 파이썬으로 코딩하였다. (지니를 이용하지 않고 터미널로 회로를 작동시킬 수도 있다. 대신 상대경로나 절대경로를 지정해주어야 한다.


     사진 좌상단의 40개의 핀들이 바로 GPIO 인데 이 핀과 브레드 보드, 지니를 이용하여 아래 동영상과 같은 회로 작동을 실습해볼 수 있다. 각각의 핀은 전원(3.3V 혹은 5V-회로의 양극을 연결)이나 GND(Ground- 회로의 음극을 연결) , GPIO 고유번호를 가지고 있다. 


     아래 영상의 회로는 GPIO 18번(40개중 12번 핀)과 6번핀(GND), 220옴(적적갈) 저항을 이용하여 깜빡이는 회로를 구성한 것이다.(라즈베리 파이 회로내 과전류를 막는 장치가 없기 때문일 것이다.) 먼저 파일을 하나 만들고 .py를 붙여 저장한다. 이후 아래와 같이 코딩을 한다.



    import RPi.GPIO as GPIO 

    import time 


    GPIO.setmode(GPIO.BCM) 

    LED = 18

    GPIO.setup(LED, GPIO.OUT)  


    try: 

    while (True): 

    GPIO.output(LED, GPIO.HIGH)

    time.sleep(1)

    GPIO.output(LED, GPIO.LOW)

    time.sleep(1)


    except KeyboardInterrupt:

    GPIO.output(LED, GPIO.LOW)  

    GPIO.cleanup()



     이때 setmode BCM은 파이썬을 이용할 때 쓰는 것으로 C언어를 사용하고 싶다면 WiringPi를 이용해야 하므로 별도의 소프트웨어를 설치하는 과정을 거쳐야한다. 들여쓰기는 종속관계를 나타내므로 들여쓰기를 명확히 해주어야하며(이때 tap을 사용하는 방식이나 space bar를 사용한 방식 둘 중 하나만 이용한다. 지니를 사용할 경우 알아서 띄어 주므로 신경쓰지 않아도 된다.) 띄어쓰기, 대소문자 구분도 명확히 해야한다.


     (브레드 보드는 +,-가 표시된 구역은 색띠 방향(동영상 참조)으로 연결되어 있고 나머지 부분은 색띠에 수직한 방향으로 서로 연결되어 있으며 다른 방향으로는 연결되어 있지 않다.)


     LED를 GPIO 18번으로 설정하고 18번 채널을 출력용으로 설정한다. 이후 코딩 내용을 한번 읽고 끝나는 것이 아니라 계속 루프를 돌아야 하므로 while문을 사용하고 켜져있는 상태를 1초 유지, 꺼져있는 상태를 1초 유지하게 코딩한다. 


     마지막으로 키보드로 while문이 작동하고 있는 프로그램을 종료할 수 있게 키보드 인터럽트 구문을 넣는다. ctrl+c로 회로 동작을 멈출 수 있게 된다.



     완성된 회로가 코딩된 내용에 따라 작동하는 모습을 보자.



    '보고서 및 정보 > 공학계열' 카테고리의 다른 글

    라즈베리 파이, 간단한 카메라 활용.  (0) 2018.01.07
    온도 측정 실험 보고서  (0) 2018.01.06
    인장 실험  (0) 2018.01.04
    인공지능과 실업  (1) 2017.12.03
    기술과 환경  (0) 2017.11.27
Designed by Tistory.