청소년 IT 메이커 교육 4차
청소년 IT 메이커 교육 4차
한성대
작성자: 이상훈
이번 수업의 목차입니다.
터치센서를 조작해보고 앞서 배운 내용을 종합하여 원하는 기능을 구현하겠습니다.
퀴즈 문제도 만들었으니 풀어보세요.
먼저 터치센서입니다.
터치센서의 기능은 1차시에 설명했기 때문에 생략하겠습니다.
바로 보드에 연결해봅시다.
이제 이 정도는 너무 쉽죠?
디지털 입력핀의 번호만 알고 있다면 정말 간단합니다.
이젠 코드를 살펴봅시다.
처음으로 attachInterrupt() 라는 함수가 나왔습니다.
다른 코드는 이전에 보았을 텐데요.
이 함수를 보기 전에 우선 다른 코드를 통해 전체적인 내용을 살펴보면
기본적으로 LED밝기가 50으로 세팅되어 있고, 모든 LED에 흰색 빛이 나도록 하였습니다.
이때, 조건문을 살펴보면 0으로 초기화 되어있는 count(터치 횟수)가
1일때는 밝기가 50, 2일 때는 100 3일때는 200인 것을 알 수 있습니다.
그렇다면 이제는 attachInterrupt() 함수에 대해 분석해볼 차례입니다.
attach는 "붙이다"를 Interrupt는 "방해하다, 정지하다"라는 뜻을 의미합니다.
아두이노에서 interrupt는 일반적으로 하던 동작을 시행하다가 외부 이벤트가 발생하면
하던 동작을 중지하고 이벤트에 따라 지정된 기능을 하는 것을 의미합니다.
그래서 이 attachInterrupt() 함수는 FALLING이 발생하면 Touch함수가 실행되는 것이죠.
사실 이 정도로 간단하다면 Interrupt 기능을 사용하지 않고도 코드를 짤 수 있습니다.
하지만 센서의 개수를 여러 개 사용하고 기능을 발생시키는 상황이 중첩된다면
오류가 발생하게 됩니다.
이런 상황을 방지하기 위해 쓰는 함수이니 너무 어렵게 생각하지 마시고
나중에 아두이노를 다루게 됐을 때 이렇게 복잡한 상황이 있다면
"그때 인터럽트가 있었지"하고 검색을 통해 찾아보고 사용하길 바랍니다.
자 그럼 다른 코드도 넣어봅시다.
이 코드는 정말 제가 앞에서 말한 내용으로 충분히 해석 가능합니다.
간단하게 설명정도만 하면, 이전 코드는 터치 횟수에 따라 LED의 밝기가 변화했다면
이번에는 터치 횟수에 따라 LED 색이 변화하게 됩니다.
다음은 원하는 기능을 구현할 차례입니다만...
기능에 구현하기 전 알아야 하는 코드와 센서는 전부 다룬 상태입니다.
그래서 원하는 기능 구현에 필요한 코드를 이번 파트에서 다루기 보다는
우선 무드등 키트 조립을 하시고 난 후에 종합적으로 다루는 것이 더 좋아보입니다.
또 퀴즈 문제를 지금 10명 정도가 푼 것을 확인했는데요.
점수 평균은 제가 생각한 것과는 조금 다르지만
틀릴 만한 문제는 역시나 정답률이 저조하더라구요.
그래서 4차시는 여기서 마치고 제가 퀴즈 분석과 따로 강조하고 싶은 코드는
제가 오늘 12시까지 오답체크를 하고 새롭게 파트를 만들어 업로드하겠습니다.
4차시를 마무리하며...
퀴즈 안 풀었다면 꼭 풀어보세요.
"퀴즈를 몇점 맞았나"보다도 중요한 것이 "퀴즈를 풀어봤는지"가 아닐까 생각합니다.
저도 조금 안 좋은 습관이 있는게 제가 자신이 없거나 피하고 싶은게 있을 때
합리화를 하며 자꾸 상황을 외면하려고 합니다.
그때마다 후회하는게 그렇게 "어떻게든 되겠지"하며 상황을 피하고 나니
저한테 남은 것이 하나도 없었고, 상황은 악화되었습니다.
즉, 저 자신에게 있어 하나도 도움되는 것이 없었다는 말입니다.
그래서 여러분도 이런 상황을 외면하고 회피하려기 보다는 도전하는게 더 도움이 될 것이라고 생각합니다. 긴 얘기 들어주셔서 감사합니다.
TMI 대방출...
퀴즈와 업로드를 같이하려다 보니 또 업로드가 늦어진 점 정말 죄송합니다...
조금 핑계를 대면, 친구가 군대를 들어가서 머리 빡빡 미는거 영상 찍어주고
이야기 좀 나누다보니 시간이 어느새 금방 가버렸네요...







댓글
댓글 쓰기