라즈베리 파이 GPIO 핀: Bash와 파이썬 LED 제어

우리가 본 이전 포스트에서 GPIO 핀 및 실용적인 응용 프로그램의 몇 가지 예를 했다, 오늘 우리는 범용 핀의 작업에 집중할 것 이다, 통역의 순서와 그들을 통제 하는 것을 배쉬 그리고 파이썬.

프로토&주도

사용 하는 것을 LED, 저항 330 , 와이어, 그리고 하나 브레드보드, 땜 납, 납땜 또는.

우리는 또한 필요 합니다 우리의 라즈베리 이미 Raspbian 사전 설치 된, 귀하의 경우 없는 경우, 어떻게 그것을 볼 수 있습니다. 다음 링크는 디렉터리.

회로 타고

직접 납땜 할 수는 LED 와이어로 저항 다음에 볼 것 이다 다이어그램, 비록 그것은 훨씬 더 사용 하는 브레드보드; 그것은 또한 매우 중요 한 기지에 잘 보고, 에는 “대각선” 내부는 다이오드 LED 회로 탑재 하는 2 개의 핀을 결합, 이미 그 뒤로 그것을 마운트 하는 경우 켜지 지 않습니다..

회로 LED 다이오드의 점화를 제어 하는 데 필요한.

회로 LED 다이오드 전원을 제어 하는 데 필요한.

난 하나를 사용 하려고 해요 브레드보드, 내가 사용 하는 것이 좋습니다는, 몇 가지 약 € 4 그리고 그들은 그들 필요 없이 반복 구성 요소를 다시 사용할 수 있게, 하나의 내부 연결 브레드보드 그들은 다음 경향이.

protocon

브레드보드 연결.

사이 연결에 브레드보드 그리고는 라즈베리 그들은 다음 다이어그램에서와 같이 해야 합니다., 는 GPIO 문제를 도달할 수 있다 3,3V 논리 높은 값을 할당 하려면.

브레드보드에 회로.

회로 LED 다이오드 전원을 제어 하는 데 필요한.

안녕하세요 Bash와 GPIO의 세계

한 번 장착 된 회로, 우리는 내가 전화 할 하려고 한 “안녕하세요 세계 GPIO” 에서 배쉬 다음 실행 스크립트.

#!/bin/bash
#Exportamos el puerto GPIO 17 
echo 17 > /sys/class/gpio/export 
#Lo configuramos como salida 
echo out > /sys/class/gpio/gpio17/direction 
#Encendemos el LED asignandole 1 como valor lógico
echo 1 > /sys/class/gpio/gpio17/value

우리가 다음으로 그것을 할 수 있는 LED를 해제 하려면 스크립트.

#!/bin/bash
#Apagamos el LED asignandole 0 como valor lógico
echo 0 > /sys/class/gpio/gpio17/value  
#Eliminamos la entrada del puerto GPIO 17 
echo 17 > /sys/class/gpio/unexport 

기본적으로 우리와 함께 하는 배쉬 생성 하는 디렉터리 계층 구조 에서 /sys/클래스/gpio 으로 처리 됩니다 각 파일에 콘텐츠를 추가 하 고는 변수.

계층 구조

/Sys/class/gpio 디렉토리 내에서 계층 구조.

파이썬에 대 한 소개

우리는 이미 우리의 회로 제대로 작동 입증 하 고는 LED 그것은 변수에 논리적 높은 가치를 주고 해 고 되었습니다, 이제 우리가 어떻게 동일을 할 수 있는 보자 파이썬, 그 수 있도록 일정을 우리의 웹 응용 프로그램 입력 및 출력의 제어 하는 GPIO 모든 장치에서.

funcweb

웹 응용 프로그램을 사용 하 여 작업.

진행 하기 전에, 나는 당신이 볼 것이 좋습니다. 챕터는 1 하는 10 의 파이썬에서이 비디오 자습서 채널 YouTube촉진 하는 코드, 만약 내가 하지 않은 프로그래밍의 많은 아이디어로 파이썬, 그것은 우리가 더 앞서 볼 것입니다 그리고 그것을 이해 하는 코드에 익숙해지도록 잘 매우 당신에 게 올 수 있습니다..

GPIO의 다른 핀아웃 (BCM 및 보드)

핀 번호의 두 가지 유형이 있다, 실제 번호 매기기 또는 모드 보드, 및 칩의 번호 매기기 SoC 브로드 그들을 제어, 우리는 모드에서 핀을 사용 하려고 BCM, 하지만 차이 살펴 봅시다.

BCMvsBOARD

안녕하세요 파이썬 GPIO의 세계

동영상을 시청 하 신 후, 그리고 다른 핀아웃 이미 기본 코드를 이해할 수는 “안녕하세요 세계 GPIO” 에서 파이썬.

먼저 우리가 제어에 필요한 모든 것을 다운로드 하려고 하는 GPIO 와 함께 파이썬, 에서 Raspbian 그들은 이미 설치 된 파이썬 그리고 라이브러리 GPIO, 하지만 우리는 추가 패키지를 설치 하 고 최신 버전을가지고 시스템 업데이트.

usuario@maquina:~$ sudo apt-get install python-dev
usuario@maquina:~$ sudo apt-get install python-rpi.gpio
usuario@maquina:~$ sudo apt-get update && sudo apt-get upgrade

한 번 업데이트, 설정 하는 방법을 알아보겠습니다는 LED 다음으로 스크립트, 예를 들어 호출 수 있습니다. enciende.py, 그리고 우리는 명령으로 root로 실행할 수 있습니다. “sudo Python enciende.py”.

#!usr/bin/env/ python
#enciende.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Definimos el modo BCM 
GPIO.setmode(GPIO.BCM) 
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Y le damos un valor logico alto para encender el LED
GPIO.output(17, GPIO.HIGH) 

이 우리 해제할 수 있습니다., 예를 들어 전화 apaga.py

#!usr/bin/env/ python
#apaga.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Definimos el modo BCM
GPIO.setmode(GPIO.BCM)  
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Y le damos un valor logico bajo para apagar el LED
GPIO.output(17, GPIO.LOW) 
#Finalmente liberamos todos los pines GPIO, es decir, los desconfiguramos)
GPIO.cleanup() 

그리고이 우리가 전화를 합니다. parpadea.py, 깜박이 만들 것입니다 우리는 LED.

#!usr/bin/env/ python
#parpadea.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Importamos la libreria time
import time 
#Definimos el modo BCM 
GPIO.setmode(GPIO.BCM) 
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Queremos que lo que contenga el for i in range se repita 5 veces
for i in range(0,5): 
        #Asignamos valor logico alto para encenderlo
               GPIO.output(17, GPIO.HIGH) 
        #Esperamos un segundo
               time.sleep(1)
        #Asignamos valor logico bajo para apagarlo
         GPIO.output(17, GPIO.LOW) 
        #Esperamos un segundo
         time.sleep(1) 
#Una vez termina las 5 repeticiones, liberamos el pin GPIO utilizado; en este caso el 17
GPIO.cleanup() 

라이브러리를 가져오지 않음 경우 “시간“, 추가 하지 수는 “수 면“, 그리고 추가 하지는 “수 면” 두 번째의 사이 켜고 끄기, 그것은 아주 가능성이 우리의 눈이 인식 하지 됩니다 깜박임.

그것은 매우 중요 하지에 특수 문자를 추가 하는 스크립트 파이썬에서, 이런 이유로 코멘트 악센트 취급 하지 않습니다., 이후 그것은 잘못 된 문자 오류를 준.

다음 항목에서 우리는 간단 하 게 하는 방법을 볼 것 이다 웹 응용 프로그램 이러한 실행 수 스크립트, 브라우저를 가진 어떤 장치 든 지에서 그것을 제어할 수 .

당신 처럼 당신이 나를 따라 수 지 저 귀 다, 페이 스 북, 구글 +, 링크 드 인, 이 발행물에서 버튼으로 공유 또는, 만약 당신이 어떠한 질문이 나 제안 하시기 바랍니다 주저 하지 말고 의견.

더 많은 독자를 도달 하는 데 도움이 Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

16 에 대 한 생각 "라즈베리 파이 GPIO 핀: Bash와 파이썬 LED 제어

  1. 저는 초보자 질문…
    때문에의 저항 330 옴과 그것을 사용 하는 경우?

    항상 사용 330 우리가 RPI를 사용, 또는 그것은 다를 수 있습니다.?

    인사와 우수 블로그!!!

    • 안녕, 피터,

      원리에서 그것은 작동 한다, 오류만 주신 권한을 어떤 사람들 하지만 웹 응용 프로그램에서 실행, 사용자로 서 www-데이터 기본적으로 더 이상 이러한 권한이.

      그냥 실행 하는 경우 시도에 “sudo chmod + x script.py” 실행 수 있도록, 비록 하지 그래서 그냥 터미널에서에서 작동 해야 한다; 당신은 나를 가르칠 수 있는 경우 스크립트를 실행 하는 터미널에서 오류를 반환??

      귀하의 의견 주셔서 대단히 감사 합니다..

    • 나를 찾을 그것은 매우 이상한, 스크립트에는 이후 더 @, 오류 자세한 내용을 주실 수 있습니까?

      또 봐요, 그리고 댓글 주셔서 감사 합니다.

  2. 안녕하세요,
    Python 가이드 샘플을 다음을 통해 LED 설정 하 려 하지만 그것은 내게 다음 오류 코드를 실행 하면 그것은:

    GPIO로 RPi.GPIO 가져오기

    오류:
    -배쉬: 가져오기: 순서를 찾을 수 없습니다.

    이 오류는 왜 것을 아십니까?

    감사 합니다 당신과 블로그에 축 하는 봉사 나 많은!

    • 나노 안녕하세요, 논평 주셔서 감사.

      그것은 파이썬이 아니라 Bash에 코드 해석 되는 것 같다.

      스크립트 실행 중 입니까, 또는 직접 터미널에 코드의 라인?

      • 흠 터미널에서 그것을 실행 했다…hehe 지방 오류 (나는 딸기에 새로운 오전 그것을 감당할 수 없습니다 아직 = P )

        • 내가 기 뻐 하면 해결!!!

          논평 주셔서 감사, 당신은 질문이 있는 경우 주저 하지 말고; 독자 사이 고 나는 손을 놓칠 것 이다.

  3. 다시 좋은,
    코드의 첫 번째 줄은 이해가 안: #!usr/빈/env/파이썬
    이게 무엇이죠?
    그것은 단지와 함께 또는 그것 없이 작동 참조

    • 나노 안녕하세요, 다시 환영.

      당신이 언급 하는 라인은 종종 어디 명령 인터프리터 해야 터미널에 게 스크립트의 시작 부분에 포함 된 문을 통과합니다, 이 경우, 파이썬; bash에 대 한 것 같습니다.:

      #!/빈/bash

      이 경우에, 그것은 작동 선언으로 그것 없이 이후 파일 확장자.py, 하지만 그것은 항상 그것을 추가 하는 것이 좋습니다..

      당신의 의심이 삭제 하도록 하겠습니다., 여기 당신이 원하는 언제 든 지 코멘트 🙂 대단히 감사 다시

  4. 감사합니다, 튜토리얼은 우수, 하지만 난 의심의 여 지:

    다음 오류를 두고:

    선 12 가져오기:찾을 수 없습니다
    선 14 구문 오류: 예기치 않은 단어 (기대 “)”)

    내 코드는:

    #GPIO setup.py
    ### 시작 초기화 정보
    # 제공: GPIO-setup.ch
    # 필요한 시작: $remote_fs $syslog
    # 요구 정지: $remote_fs $syslog
    # 기본 시작: 2 3 4 5
    # 기본-그만: 0 1 6
    # 짧은 설명: 설치 모드 gpio
    # 설명: Gpio를 설치 22/27/17/4 모드로
    ### 결국 초기화 정보

    GPIO로 RPi.GPIO 가져오기
    #BCM 모드 정의
    GPIO.setmode(GPIO입니다. BCM)
    #우리는 이제 GPIO 출력 핀 정의
    GPIO.setup(4, GPIO입니다. 밖으로)
    GPIO.setup(17, GPIO입니다. 밖으로)
    GPIO.setup(27, GPIO입니다. 밖으로)
    GPIO.setup(22, GPIO입니다. 밖으로)

    어떤 아이디어???

    • 안녕하세요 Leoctam, 논평 주셔서 감사.

      첫 번째 라인을 시스템 데몬을 만들 하려는 이해 하 주세요, 하지만 계정에 반영 되지 것 이다 그래서 그들은 주석.

      반면에, GPIO와 상호 작용 하는 사용 하는 코드는 파이썬, 시스템 데몬에서 호출 되는 스크립트.py에 유지 해야 합니다, Bash를 사용 하 여이 자습서에는 첫 번째 예제와 같이 그렇게.

응답을 남기다