VicPy 아두이노 이론 - 타이머 사용하기 > 아두이노

Arduino

아두이노 강의 리스트

VicPy | 아두이노 이론 - 타이머 사용하기

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
VicPy님의 아두이노강의 청각장애인을 위한 자막
15444294996034.jpg

 de 5

이번 시간에는 아두이노 이론 그 타이머 사용하기에 대해서 알아보겠습니다
이번 시간에 살펴볼 내용들을 좀 부터 보겠습니다
이번 시간에는 타이머 라는 개념에 대해서 알아볼 건데요
타이머는 특정 시간이 지나면 어떤 알림을 할 때 그 유리한 그런 기능을
갖고 있습니다
타이머를 이용하면 어떤 센서 정보를 주기적으로 취업 할 때는 상당히
유리한 데요
이번 시간에는 이런 타이머를 어떻게 사용 하는지 그 다음에 이거 를 갖고
간단한 예제를 몇가지 해보겠습니다
타이머 라고 하는 게 무엇일까요 우리 아침에 일어날 때 알람을 맞춰놓고
일어나죠
이 알람을 잘 생각해보지 알람은 어떤 식으로 작동 하나요
특정 시간을 맞춰 놓으면 그 시간이 됐을 때 알람이 작동을 하면서
움직이게 하는 거 이런게 타이머 줘
아두이노 에서 타이머를 쓰는 방법은 라이브러리를 이용하는 겁니다
아두이노 에서는 심플테마 임을 1 라이브를 제공하는데요
이 심플 타이머 라이브러리 라고 하는 사이트에 가보면
이 라이브러리에 대한 자세한 내용들을 소개되어 있습니다
인 라이브러리 이기 때문에 없이 마찬가지로 이 라이브 를 쓸때는 심플테마
임 어쩜 헤더파일 심플 타이머 점 cpp 파일을
그 우리 아들이 no 라이브러리 즈 폴더 밑에 심플 타이머 폴더를 만들고
저장을 해야 됩니다
이렇게 저장된 저장을 해놓고 그 라이브를 만들 수가 있는데요 이
라이브러리 만들때 야드 위의 사이트에서 갯 코드 를 눌러주면 은 코드를
쉽게 복사해서 다운받을 수가 있습니다
이런 라이브러리 이용해서 특정 시간이 지남에 알람으로 논리는 그런 예제를
한번 만들어보겠습니다
예 알람을 울어야 되기 때문에 버튼과 그 다음에 피해 줘 부저를 하나
갖고 버튼을 누르면 5초에 알람이 울리는 그런 예제를 한번 만들어
보겠습니다
피해 joe's 핏과 나하고 버튼 1
그 다음에 led 그 다음에 저항 2개가 필요합니다
간단한 회로를 1 구성할 건데요 지금 보시는 것처럼 그 여기에 버튼
하나와 그 다음에 피해 줘 보조 그 다음에 led 를 이렇게 연결을
합니다
버튼 같은 경우에는 플로팅 상태를 막기 위한 회로를 이렇게 추가 하구요
그 다음에 여기 디지털 핀 이번에 다가 버튼에 손을 1 결선을 합니다
그리고 피해 줘 부조를 올리기 위해서 피해 줘 보자 는 디지털 팅 8번
에다가 이렇게 연결을 합니다
그 지역의 지털 핑 8번 이렇게
결선이 됐구요
led 를 그 깜빡 가 되기 위해서 디지털 팅 13번 에다가 이렇게
결정을 했습니다
디지털 p13 벌 그리고
5 볼트와 그라운드를 각각 회로의 다가 전력을 넣어줬습니다
이렇게 회로를 구성 했는데 이 회로는 여기 보시는 것처럼 제가 미리
이렇게 구성을 해 놨습니다
그래서 버튼이 하나 있구요 그 다음에 플로팅 상태를 막기 위한 저항
이렇게 하는 설치가 돼 있고 그 다음에 피해 줘 부저가 1 들어있구요
그 다음에 led 가 나 들어 있습니다 12 에는 저항의 1 단학
조항을 1 다른 왔죠
그렇게 하고 여기에 보시는 것처럼 그 여기에 디지털 핀 이번 2번은
버튼의 연결돼 있고 그 다음에 디지털 핀 그 8번은 피해 줘 구조
연결되어 있습니다
그리고 디지털 팅 13번 은 여기 보시는 led 이렇게 결성이 되어 있죠
그래서 이게 전체가 어떻게 작동하는지를 미리 한번 확인해보겠습니다 그렇게
외부에서 전원을 인가 를 하게 되면 인간 전어를 바탕으로 의자가 이제
버튼을 한번 눌러 볼게요 이렇게 두르면
이 버튼이 5초에 이제
작동을 하게 하는 거죠 그 방금 전에 올리는 수리 들으셨나요 다시 한번
해볼게요
지금 보면은 일정시간이 지나면 피해 줘 부조 해서 소리가 나는걸 확인하실
수 있죠
이 안에서 버튼을 눌렀을 때 요 침 안에서 타이머가 세팅이 됩니다
그 타이머가 시간이 지나며 소리를 내면서 led 를 꺼 져
이런 예제를 하나 만들어 볼 건데 어떻게 만들 수 있는지 한번
확인해보겠습니다
아들이 놓고 들 한번 보면 은 이 예제에서 가장 핵심적인 내용은 심플
타이머 라고 하는 것을 쓰는 거죠
이 심플테마 이 뭐 예제를 라이브 를 이용해서
타이머를 설정 하는 거죠 그 다음에 버튼을 하나 만들었으니까 그 버튼에
대한 것을 이번 핀을 연결했고
알람을 처리 하기 위해서 8 범피 내다가
피해 줘 부조를 연결했습니다 그 다음에 led 를 하나 표시하기 위해서
13분 핀을 썼죠
그래서 버튼은 이번 디지털 핀
그 다음에 피해 줘 부조는 8번 디지털 핀 led 는 13번지 털 핀에
연결 되어 있습니다
이 상태에서 심플 타이머 라고 하는 이 라이브러리 시간에 관련된
라이브러리를 같아 썼죠
이 라이브러리를 같다 스 기 위해서 타이머 라는 변수 라가 상황 해줬구요
그 다음에 현재 상태를 체크하기 위한 p 스테이트 라는 변수가 나눴습니다
잎이 스테이트 의 초기값은 노후를 설정해서 실제로 숫자 0이 할당 된거
하고
마찬가지구요 그 다음에 예약에 관련된 변수 루
그 츠루 펄스를 나타내는 블링 가 변수인
이별수 하나를 설 정했습니다 그러니까 이제 타이머가 예약 됐는지 시간이
예약 되는지를 나타내는 걸 확인하는 거죠
그 다음에 세법에서 에 이게 버튼과 led 가 들어 있으니까 디지털 핀을
쓰고 있잖아요 그렇지 떨 핀을 쓰니까 핌 모드 함수 가지고 2개를 세팅해
줍니다
버튼은 외부에서 값이 들어 오는 거니까 임프 스스로 핀 모드를 색 배팅을
했구요
led 는 그 값이 밖으로 나가는 거니까
9 부스를 세팅을 했습니다 2개 값을 세팅을 했고
계속해서 인지 한번 보죠 아까 작동하는 걸 봤더니 버튼이 눌리면 그래서
버튼이 눌리는 걸 체크해 됐죠
그래서 디지털 리드 에서 버튼 을 읽습니다
이 버튼은 현재 디지털 p 이번에 연결되어 있으니까 이번 핀 의 값을
있겟죠
이번 핀 의 값을 읽어서 스테이트 안에서 체크하게 됩니다
이눌린 상태를 잎이 스테이트 2 눌렀는지 를 전체를 아우르는 그 전역변수
p 스테이트 상태가 놓으면서
현재 스테이트 가 하 이 라 면 즉 버튼이 눌려 따면
그때는 이제 그 요 문자 안으로 들어와서 여기에 이제 엔 디 엔드 가 두
개 들어 있으면
이쪽에 있는 이 문장 전체 하고 이 문장 전체가 툴은 g 를 비교합니다
이 문장이 문장의 전부다 참이면 이프 뭐니 실행이 되구요 그렇지 않으면
이프 문이 실행이 되지 않죠 그래서 요 조건이 참이라면
요 않을 이렇게 실행에 대해서 들어옵니다 만약에 2 계약되어 있는 값이
펄스 라면 그 부 값을 부피도 앞 그예 약값을 트롤을 바꿔주고
디지털 라이트를 led 를 하이로 바꿔 주는 거죠 이게 무슨 말이냐 며
그 led 우리 붙어 있는 13번 핀에 연결 되어 있는 led 를 하
입혀 라면은 수리 줘
그러니까 버튼을 누르면
내부 상태 값을 체크해서 led 값을
바꿔 가지고 led 를 키는 거죠
그 킨 상태에서 뭘 하냐면 타이머 쩝 센 타임아웃 어이 첫 번째 깜 5천
두번째 까 피플을 넣어 주는 거죠
3 타임아웃이 라고 하는 것은 이 심플테마 이뭐 클래스가 그 라이브러리가
제공하는 이 함수 입니다
에쎄 타임 아웃은 첫 번째 인자 아까 이제 그 타임 아웃에 대한 시간이죠
이 여기에서 5000 이라고 넣어주면 5초 후에 이 두 번째 인자로
지정한 함수가 실행이 됩니다
그래서 는 디프 라고 하는 함수가 호출이 되서 실행이 되는 거죠
이렇게 해서 타이머를 설정할 수가 있습니다
타이머 함수는 여기 보시는 것처럼 3 타임 아웃으로 설정을 해 놓으면 오
초구에 비프 라는 함수 불로 노출이 되는 거죠
이 상태에서 스테이트 값을 변경 을 시켜 놓고
여기까지만 세타 2 마호 까지만 해오면 실제 타이머는 작동하지 않습니다
실제 타이머를 실행을 시키기 위해서는 타이머 넌 이라고 하는 이 함수를
호출 해줘야 됩니다
그 타이머 런 을 호출해 주는 순간
5초 후에 비프 를 호출하는 그런 코드가 내부적으로 세팅이 되고 작동을
하게 됩니다
그래서 이제 다시 한번 정리를 해보면 그 버튼을 여기서 이번 이번 디지털
뿐 연결되는 버튼을 누르면 그 13번 핀 의 연결되어 있는 led 를
키고
그 다음에 5초의 디피를 비프 라고 하는 함수를 호출하는 뭐 지기의
세팅이 된 상태에서 타이머 점 런 이라고 하는걸 호출해 주는 순간 그
내부에 타이머가 작동 하는 거죠 그래서 침 안에서 타이머가 작동
하는거구요
집안에서 5초의 타이머가 작동을 하며 는 이 심플테마 임업 클래스가
라이브러리가 자동적으로
df 메소 피프 함수로 호출하게 됩니다
비프 함수는 호출 되면서 뭘 하냐면
2 그 예약 때 있다는 이견 수 값에 다가 트루퍼스 값을 변경 을 시키고

디지털 라이트 를 통해서 led 값에 대한 세팅 값을 바꾸게 됩니다
그 다음에 여기서 이제 디카는 소리가 났었죠 아까 그 삐 하는 소리가
났었는데 소리를 내기 위해서 톤이라고 하는 함수를 썼죠
이토는 여기 보시는 것처럼
연결되어 있는 핀이 줘 식은 이토는 디지털 팀 8번에 연결되어 있습니다
8번의 연결되는 핀 에다가
요런 세팅 값을 소리를 내 주는 거죠
이 8번 핀 에다가 지금 보시는 것처럼 e 하는 소리를 1초 동안 내구요
0.1 초를 기다려서 다시 1초 동안 피하는 소리를 또 한 번 된거구요
다시 0.1 쭉 기다렸다가 피하는 술을 한번 또 냈습니다
그러니까 삐 하는 소리가 0.1 초 간격으로 3번 연속으로 어울리겠네요
그 다시한번 봄에는 버튼을 눌러주면 led 가 켜져 쪄요
그리고 버튼을 놓아주면 5초에
2ppm 라는 소리가 0.1 초 간격으로 올리게 됩니다
여기에서 여러분이 만약에 이 타이머 값
여기에 있는 3 타임 9 갑 요 값을 조정해 주게 되며 그 지정된 시간
후에 타이머가 작동을 하게 될겁니다
이 타임아웃을 어떻게 쓰는지 이해 되시나요
음 기본적으로 이런 이렇게 하면 이제 타이머가 작동 하는 거죠
어 지금 이런 타이머를 이용하면 은 아주 재미난 것들을 많이 만들 수가
있습니다
어 지금 심플 타이머의 가장 핵심인 3 타임아웃 함수에 대해서 다시 한번
확인해보겠습니다
3 타임아웃이 라고 하는 것은 특정 시간 뒤에
정해진 동작이 실행되도록 하는 심플 타이머의 핵심 함수입니다
이 함수의 첫번째 인자는
그 지정된 시간이죠 2시간이 1000분의 1초 단위로 표시가 됩니다
그래서 5000 이라고 해 주면 5초 우애 하고 표시가 되고 1초면 천
이라고 써 주면 되겠죠
그렇게 해서 써 주면 되고 그 다음에 이 두 번째 인자는
2 타이머가 발생하는 시점에 호출될 함수 이름 입니다
삼수 이름을 지정해주면 특정 시간 위에 그 함수가 호출 되는 거죠
여기에 써 주는 함수는 기본적으로 우리가 정의한 함수를 써 주면 되겠죠
비프 라고 하는 것은 우리가 정의해서 어떻게 정자 칼질에 기술 해주는
함수 를 써주면 됩니다
이렇게 앞에서 정의한 심플 타이머 라이브러리는
2타임 5 그 심플 타이머가 제공하는 넌 이라는 함수가 있는데요 이러한
함수로 출 해줘야만 송출 해줘야 대만 실제로 작동을 하게 됩니다
그래서 심플 타이머 쓰는 방법을 다시 한번 확인해 드릴게요 심플 타이머는
가장 기본적으로 해야 되는게
이 앞에는 3 타임아웃 가지고 시간을 세팅해 주고 그다음에 런 을 가지고
실점 출 해주는 시점에 곧바로
프로그램이 실행이 되는 거죠
그래요 지금 방금 전에 led 가 버튼을 누르면 커지고 요
그 다음에 5초 후에 led 가 꺼지면서 알람이 울리는 그런 내용들을
확인해 봤읍니다
이 타이머를 이용해서 주기적으로 센서 정보를 알려주는 예제를 하나 더
만들어 보겠습니다
이번에 만들 예제는 led 는 1초마다 켜졌다 꺼졌다 를 반복하고 요
조도 센서는 5초마다 값을 1 도록 하는 그런 예제입니다
재료는 조도 센스 하나의 led 않아 그 다음에
560 까 10k 옴 저항 이 두 개 필요합니다
지금 보시는 것 처럼 간단한 회로를 1 구성했습니다
이 회로를 보면은 여기에 그 led 가 하나 붙어 있구요
여기에 그 조도 센서가 나부터 있습니다
그래서 조도 센서를 잘 보면 은 조도 센서는
그 아날로그 까 아날로그
그의 이 0a 0a 연결되어 있습니다 그래서 조도 센서는 0부터 1023
의 값을 있게 되겠죠
1023 의 값을 읽어서 처리하는 거구요
그 다음에 led 는 보시는 것처럼 디지털 핀 13번의 연결되어 있습니다
디지털 핑 13번 연결돼 있어서
led 를 디지털 tv 를 제어해서
켰다 껐다 할 수 있겠죠
그래서 이게 이제 실제로 어떻게 작동하는 건 지를 미리 한번 회로 들을
보고 확인해 보겠습니다

지금 제가 미러 회로 들을 하나 만들어 갔고 실행을 시키고 있는데요
지금 보면 은 우리가 이제 만들게 제는 이렇게 되있어요 led 가 계속
깜빡깜빡 거리고 있구요
이 조도 센서가 계속해서 주기적으로
현재 조도 값을 체크하는 그런 오직 이 작동하고 있습니다
요기 led 가 깜빡 깜빡 가리는 거 보이시죠
이걸 어떻게 작성 했는지 한번 보겠습니다
여기 보면은 잉 클로드 해가지고 심플테마 이미 뭐라고 하는게 있는데
요거를 이렇게 추가를 했죠
이 추가를 헤더 파일을 추가하면 추가하려면 아까 앞서서 말씀드린 대로
심플테마 임 어쩜 h 파일과 심플 타이머 점 cpp 파일이
아두이노 라이브러리 지 밑에 심플테마 임업 클리크 디렉토리를 만들고 그
안에 포함되어 있어야 되는 거죠
그렇게 해서 라이브러리를 추가한 다음에
led 13번 핀을 정했기 때문에 이렇게 led 를 티파 인물로 썼습니다
그리고 심플 타이머 변수라는 선언 했죠
심플 타이머를 선언했고 그 다음에 led 가 현재의 온 인지 오픈 질
알기 위해서
블링 깝 투로 퍼스 를 저장하는 불린 값인 led 오늘 이렇게 1
선언했습니다
3급 함수에서는 전기가 이제 인간 되자마자 실행된 3 더밤 수에서는 핌
모드에서 led 를 아웃풋 수정합니다 이게 디지털 핀에 연결 돼 있으니까
당연히 핀 모드라 오프 스스로 설정해줘야 되죠
led 가 13번 이니까 그 다음에 조도 센서가 주기적으로 값을 읽어서
그 현재 조도 값을 표시 해주는 것을 pc 에서 하기 위해서 시리얼 비긴
으로 해서
pc 의 시리얼 통신 1 열었습니다 그리고 여기에서 타이머 2개를 설 정
했죠
하나는 1초에 한번씩 토 그리라고 하면 함수로 출 해라
또 하나는
5초에 한번씩 루티 파이 라고 하면 함수로 출회 가 해가지고
3 인터 버리라고 하면 함수를 선언했습니다
2 3 인터벌 양 함수를 선언 해주면 얘는 계속해서 주기적으로 있게
호출이 되는 거죠
앞서서 우리가 살펴봤더니 심플 타이머가 제공하는
그 메쏘드는 그런 이라고 하는 그 원이라고 하는 함수 호출 해줘야만
작동을 했었잖아 요런 이나 함수로 호출해 주면 그 때 한 번만 작품을
했는데 지금 우리가 살펴본 현 3
인터 버리라 난 이 함수는 2 지정된 주기에 따라서 계속해서 반복을 하게
되는 함수입니다
에 3 인터벌 이라고 하는걸 해주고
요원을 이렇게 계속 넣어주면 주기적으로 뭐가 호출 되냐면
이토 볼에 있는 이 함수 호출 되는 거죠
led 오네 투로 led 가 터져 있으면 디지털 라이트 led 를 꺼라
그렇지 않으면 led 를 켜라 그러니까 무슨 말이냐면 토 글이네요 말
그대로 상태를 온 이나 5% 바꿔주는 토 걸 을 하는 거죠 그래서 led
가 이 함수가 호출될 때마다 한번은 켜지고 한번 꺼지고
그리고 여기 보면은 2 led 체크하는 led 변수 깝 뭐 블링 값이
라고 불리는 트루아 고 펄스를 갖는 변수 값이 에 상체가 호출될 때마다
계속 바뀌는 거죠
요 앞에 느낌표 있잖아요 이 느낌표를 써 주게 되면 은
2 느낌표 가 붙어 있는 상태에서 여기 뒤에 깝 시트로 면 전체가 펄스가
됩니다
마찬가지로 느낌표가 붙어있는데 항타 에서 여기가 펄 쓰면 전체는 투로 가
되는 거죠 즉 느낌표가 붙어있으면 값 상태가 역전 됩니다
led 상태가 한번은 투르 들어오면 한번은 펄 술에서 나가는 거죠
그 다음번 들어올 때는 led 오니 펄 c 로 바뀌어 있는 거죠
쉽게 말해서 토굴을 호출할 때마다 엘리 지온 현수 상태가 투로 퍼스가
반복되게 됩니다
그러면서 디지털 라이트 함수를 가지고 led 가 온 어 푸 되게 되는
거죠
마찬가지로 노티 파이 라는 함수가 호출이 되면 은 그 현재 조도 값을
나타낸 아니 문자열이 컴퓨터 화면에 찍히게 됩니다
그런데 이 찍히는 함수는 안 해 봤더니 아날로그 리뷰 해서 ag 로 값을
계속 읽어 드리네요
이 l0 값은 0부터 1013 사이에 그 값을 읽어 드리는 거죠
not 파이가 호출 되면서 계속 이 값이 익혀 드리게 됩니다
이걸 가지고 한 실제 간단한 예제 그 실제 어떻게 작동하는지를 한번
확인해보겠습니다
시리얼 모니터 를 가지고 한번 확인해 볼 건데요
그 현재 연결되어 있으니까 컴포트 로 연결하고
확인해보겠습니다 그래서 지금 그 조도 센서가 읽어들이는 값이 여기에
5초에 한번씩 쭉 지키는 거죠 그래서 현재 조도 센서가 939 가
찍히네요
만약에 죽을 센스 값이 이렇게 변경 일어난다 며 5초에 값이 바뀌는 게
확인이 되겠죠
그 지금 여기에는 내부의 타이머 2개가 이렇게 작동을 하고 있는 거죠
지금 우리가 살펴본 예제를 보면 은 3 인터 버리라는 이 함수가
나오는데요
2 c 3 인터벌 함수는 특정 강경 마다 정해진 동작이 실행되도록 하

댓글 0개

등록된 댓글이 없습니다.

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu