달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

쉘 스크립트

1. LXTerminal아이콘 더블 클릭~

 

2. 커맨드라인에 sudo su 입력

pi@ raspberry ~ $ sudo su

커맨드 프롬프트가 root@ raspberrypi:/home/pi# 이렇게 바뀐다.

 

3. 25번 핀의 LED를 켜고 끄기에 앞서 사용하려는 핀번호를 내보내기 파일(export)에 쓴다.

root@ raspberrypi:/home/pi# echo 25 > /sys/class/gpio/export

export파일에 핀 번호를 쓰면 해당 핀용 제어파일이 담길 새로운 디렉터리가 /sys/class/gpio/에 만들어진다.

여기서는 /sys/class/gpio/gpio25라는 파일이 만들어진다.

 

4. cd 명령을 사용하여 그 디렉터리로 이동한다.

root@ raspberrypi:/home/pi# cd /sys/class/gpio/gpio25

l(소문자 L)s 명령을 사용하여 현재 디렉터리에 어떤 파일과 폴더들이 있는지 본다.

root@ raspberrypi:/sys/class.gpio/gpio25# ls

actuve_low direction edge power subsystem uevent value

지금부터 작업해야 할 파일은 direction과 value파일이다.

 

5. direction 파일은 해당 핀을 입력이나 출력으로 설정하는 방식이다. LED를 켤려면 출력으로 설정.

root@ raspberrypi:/sys/class.gpio/gpio25# echo out > direction

 

6. LED를 켤려면 value파일에 1을 써야한다.

root@ raspberrypi:/sys/class.gpio/gpio25# echo 1 > value

엔터를 눌리면 LED가 켜진다!

 

7. LED를 끄려면 valud파일에 0을 쓴다.

root@ raspberrypi:/sys/class.gpio/gpio25# echo 0 > value

8. 루트에서 나갈려면 exit 입력

파이썬

LED를 켜​는 것은 이번에는 파이썬을 이용해서 구현 할 수 있다.

1. File Manager(파일 관리자)를 연다. 홈 디렉터리 /home/pi/에 있는지 확인한다.

 

 

2. 마우스 왼쪽버튼을 눌러서 Create New > Blank file 을 클릭하여 파일을 만든다. (이름, 맘대로).py 라고 이름을 지정한다. .py꼭 있어야됨. 나는 blink.py라고 했다.

 

3. 파일을 더블클릭하고 코드를 넣는다.

import RPi.GPIO as GPIO //GPIO제어에 필요한 코드를 가져온다.

import time //sleep함수에 필요한 코드를 가져온다.

 

GPIO.setmode(GPIO.BCM) //칩의 신호 번호를 사용한다.

GPIO.setup(25, GPIO.OUT) //25번 핀을 출력으로 설정한다.

 

while True: //들여쓰기를 한 코드 조각으로 무한 루프를 만든다.

     GPIO.output(25, GPIO.HIGH) //LED를 켠다.

     time.sleep(1) //1초 기달

     GPIO.output(25, GPIO.LOW) //LED 끈다.

     time.sleep(1)

 

 

4. LXTerminal을 열고 홈디렉터인지 확인한 다음 파일을 실행하자

pi@ raspberrypi ~ $ sudo python blink.py

LED가 깜박일 것이다.

 

5.Ctrl + C를 누르면 스크립트 종료하고 다시 커맨드 라인으로 돌아간다.

 

 

 

파이썬 언어 참고

https://wikidocs.net/57

'라즈베리파이 > GPIO' 카테고리의 다른 글

C언어를 이용한 GPIO 출력 (wiringPi )  (0) 2016.02.08
사운드 보드(파이썬)  (0) 2016.02.08
GPIO 입력(파이썬)  (0) 2016.02.08
GPIO 설치하고 테스트하기  (0) 2016.02.08
:
Posted by youjin.A