검색
홈으로 마이페이지 주문조회 장바구니
로그인
회원정보 게시판
회사소개 이메일
도서(BOOK)
키트(KIT)
특판 상품
졸업작품&전자기초
응용모듈
전자부품
모터
기구
엔클로져
고객센터 게시판
자유게시판
MCU 통합 게시판
강좌-RaspberryPi
강좌-드론(쿼드콥터)
강좌-아두이노(기초)
강좌-아두이노(응용)
신제품/신기술 소개
DIY 공작 게시판
윤교수의 연구실 칼럼
 ☎ : 02-776-4868

 F: 02-779-6757

☞ 평일 : 09~18시
☞ 주말 : 10~13시


국민822401-04-027758
☞ 예금주 : Ohm사
국민822401-04-027761
☞ 예금주 : R&C사
 
 
1 (주)알트소프트 사이트
 
2 LabVIEW 강좌 사이트
 
3 윤교수의 마이크로프로세서 월드
 
4 전자 엔지니어
 

 
강좌-RaspberryPi
 
[RaspberryPi] 18. GPIO-PWM 실험
 
 
2014/02/04 (03:03)
작성자 : ohmsa 조회수 : 2873
 

18. GPIO-PWM 실험

 

이전 강좌에서는 GPIO의 입출력에 관해서 C 언어를 이용해서 프로그램을 작성하는 방법에 대해서 알아 보았다. 이번 강좌에서는 GPIO 출력 포트를 PWM 신호로 출력하는 방법에 대해서 알아 보도록 한다.

 

16강좌에서 언급했듯이 GPIO 1 포트가 PWM 출력을 지원하기 때문에, 제작한 테스트 보드의 LED 2 PWM 신호를 출력하여 단순히 ON/OFF 되는 것이 아니고, 밝기가 밝아 지거나 어두워 지는 코드를 작성해 보기로 한다.

 

           $ nano pwm.c

 

 

#include

#include

 

int main(void)

{

       int pwm;

 

       if(wiringPiSetup() == -1){

             printf("Please setup wiringPi");

             return 1;

       }

 

       pinMode(1, PWM_OUTPUT); //GPIO 1 -> PWM_OUTPUT

 

       while(1){

             for(pwm = 0; pwm < 1024; pwm++){

                    pwmWrite(1, pwm); // pwm 출력

                    delay(1);

             }

 

             for(pwm = 1023; pwm > 0; pwm--){

                    pwmWrite(1, pwm);

                    delay(1);

             }

       }

 

       return 0;

 

위 코드에서 새로 나온 함수 하나가 나온다.

 

pwmWrite(pin, value)PWM 신호를 해당 핀에 출력을 하는 함수로, value 값은 0 ~ 1023 1024 레벨로 출력이 가능하다.

 

pinMode(1, PWM_OUTPUT)에서 볼 수 있듯이, 이전 강좌에서 GPIO 핀 모드를 INPUT 혹은 OUTPUT으로 설정을 하는 것이 아니고, PWM_OUTPUT이라고 정의해 준다.

 

에디터를 종료하면서 저장을 한 후에, 빌드 해 보자.

 

           $ gcc pwm.c –o pwm –I/usr/local/include –L/usr/local/lib –lwiringPi

           $ sudo ./pwm

 

별 문제 없다면 빌드가 정상적으로 완료되고, 실행을 시켜 보면 LED 2(OUTPUT 1)가 밝아 졌다가 어두워 지는 동작을 반복할 것이다.

 

아래 동영상을 한번 확인해 보자.

 

 

                     
비밀번호 확인 닫기
 
 
 
 
 
 
[RaspberryPi] 18. GPIO-PWM 실험 ohmsa 2014/02/04 2873
 
상호명 : R&C사 사업자등록번호 : 106-02-43112 통신판매업신고번호 : 용산 03564
대표 : 곽민수 사업장소재지 : 서울시 용산구 갈월동 17-1번지 세기빌딩 101호
전화 : ☎ : 02-776-4868 ,F: 02-779-6757 개인정보담당자 : 곽민수
[회사소개] [이용안내] [이용약관] [개인정보취급방침]
Copyright ⓒ 도서출판 OHM사와 학습기기 R&C사 All Rights Reserved.