Servlet

라즈베리파이로 원하는 시간에 맞추어

서보모터를 제어하기 위한 소스코드.

 

import RPi.GPIO as GPIO
import time

 

GPIO.setmode(GPIO.BCM) 
SERVO = 13        
GPIO.setup(SERVO, GPIO.OUT)
SERVO_PWM = GPIO.PWM(SERVO, 50)
SERVO_PWM.start(0)

 

alarm_S="08:00:00"      // 알람 시간 설정

 

while (True):
 i = 1                                        
 cur_time = time.ctime()               

// 요일, 월, 일, 시간, 년도를 받아온다.
 ddmmss=cur_time.split(' ')[-2]       

// cur_time 에서 받아온 정보중 시간 부분만 활용하기 위하여 ' '를 기준으로 자른다.


 

 if ddmmss==alarm_S:                 
  while(i < 2):                            

// 불필요해 보이지만 항상 대기중인 서보모터가 첫 신호를 무시할 때가 있어 2번 실행해준다.
   SERVO_PWM.ChangeDutyCycle(10)  
   time.sleep(1)                              
   SERVO_PWM.ChangeDutyCycle(5)  
   time.sleep(1)
   i = i + 1

  SERVO_PWM.stop()
  GPIO.cleanup()

 

이 코드의 핵심은 사실 이부분이다.

시간에 대한 정보를 가져온 후 원하는 정보만 골라 사용할 수 있는 코드이다.

 

cur_time = time.ctime()
ddmmss=cur_time.split(' ')[-2] 

 

cur_time = time.ctime()의 출력값.

 

 

ddmmss=cur_time.split(' ')[-1]의 출력값.

 

 

ddmmss=cur_time.split(' ')[-2]의 출력값.

다음과 같이 -1, -2 이런식으로 오른쪽에서 부터 원하는 정보를 가져올 수 있다.

-3이면 24가 출력된다.

 

 

사용한 서보모터

 

'파이썬 > 자유' 카테고리의 다른 글

python 파이썬 설치  (0) 2019.02.27