Search

'라즈베리파이 파이썬'에 해당되는 글 1건

  1. 2019.03.14 【 라즈베리파이 】 #17 4LED 순차 점멸 with Timing chart
반응형

【 라즈베리파이 】 #17 4LED 순차 점멸 with Timing chart

 지난시간 2개의 LED를 이용해서 타이밍 차트에 따라 반복 점멸을 하도록 만들어 보았다. 이번에는 4개의 LED이용할 것이며, 타이밍 차트 대로 순차로 점멸하되, 총 10회만 반복하도록 프로그래밍 해보자. 


▶ 선수 학습 :

 

  1. (기초#16State Diagram 구현 실습 (타이밍 차트 참고 강좌클릭


▶ 회로 구성 : 

( 이미지를 클릭하면 크게 확대 됩니다)



▶ 개요 

  GPIO의 출력을 순서대로 제어 해보는 실습으로,  파이썬의 while 구문을 함께 연습해 볼 수 있다.  아래 이미지는 스테이트 다이어그램(State Diagram)으로 동작의 순서를 도식화 해서 이를 다시 프로그래밍으로 구현해 보는 연습을 통해 정확한 동작의 구현을 기대할 수 있다. 



(아래 이미지를 클릭해서 보면 눈금등을 더 선명하게 보실 수 있어요) 



▶ 실습절차 

 저항과 LED를 준비하고 위 회로도와 같이 연결한다. 
(저항은 LED가 보호되면서 적당량의 밝기를 가질 수 있도록 용량값을 선택하는데, 통상적으로 100
Ω~470Ω 사이값으로 준비하면 실험을 위한 짧은 실습에는 크게 문제가 없다)

  

- LED1 → GPIO 18번 핀 연결  / LED2 → GPIO 23번 핀 연결

- LED3 → GPIO 24번 핀 연결  / LED4 → GPIO 25번 핀 연결

(LED 극성에 주의 : 리드선이 긴 쪽이 '+'  ,  짧은 쪽이 '-' 이다)


1. 부품 : 220Ω x 4 ,  LED x 4




▶ 파이썬 코드 


라즈베리파이에서 파이선을 실행시킨다. 

메뉴에서 새파일을 선택하고 아래와 같이 작성 저장후 실행시킨다.(F5)




▶ 코드설명 

4개의 LED가 순차적으로 반복 실행

-타이밍 차트에서 한 눈금당 0.2초 씩 계산함.
-L1High 신호 : 0.8초 동안 On
-L2High 신호 : L1신호 시작부터 0.4Delay 0.8초 동안 On
-L3High 신호 : L2신호 시작부터 0.4Delay 0.8초 동안 On
-L4High 신호 : L3신호 시작부터 0.4Delay 0.8초 동안 On
-L1High 신호 : L4신호 종료부터 1.2Delay 0.8초 동안 On

-이후 반복   (10회 반복)


-위 타이밍 차트를 분석해보면 패턴 L L L L의 패턴이 순서 대로 이어지고 있고, L4가 Off 된 이후 12개의 눈금(각0.2초 총 1.2초)

이후 다시 첫 L1으로 반복되는 것을 알 수 있다.  


- 총 10회를 반복하도록 while 구문에 조건을 주어야 한다. 

- ' no += 0.1 ' 은   'no = no + 0.1' 과 동일한 코드이다.

- State_1(0.4)  :  State_1() 함수를 호출하면서 delay 타임을 위한 인자값으로 0.4(초)를 전달하고 있다.   [ State_1(0.4)  ]



▶ 실행 결과 

( 영상을 전체보기로 크게 하여 보세요)



ED On Off 실습 with Python

반응형