본문 바로가기
[아두이노] millis() 타이머 함수로 진동모터와 LED 동시에 작동시키기 지난 포스팅에서 PWM을 적용해서 LED에 페이드 인 & 페이드 아웃 효과를 주는 방법에 대해 알아보았다. 이번에는 진동 모터(vibration motor) 기능을 추가하여 LED가 페이드인/아웃 하는 동시에 진동이 같이 울리는 프로그램을 구현해 보려고 한다. 우선 여기서 중요한 것이 LED와 진동모터 두 가지 작업을 어떻게 동시에 비동기적으로 처리하느냐가 될 것이다. 아두이노 프로그램은 기본적으로 loop() 함수 안의 코드를 매우 빠르게 반복 실행한다.만약 특정 동작(예: LED 켜기/끄기, 센서 값 읽기)을 일정 시간 간격으로 실행하고 싶다면 어떻게 해야 할까? 가장 간단하게 생각할 수 있는 방법은 delay() 함수를 사용하는 것이다.예를 들어, delay(1000); 를 사용하면 1초 동안 프.. 2025. 7. 27.
아두이노에 PWM을 적용해서 LED에 페이드 인 & 페이드 아웃 효과 주기 알다시피 디지털 신호는 켜짐(HIGH)과 꺼짐(LOW) 딱 두 가지 상태만 가진다. 그런데 LED를 서서히 밝히거나 어둡게 하고 싶다면 어떻게 해야 할까? 마치 아날로그 신호처럼 부드러운 밝기 조절이 필요할 때, 바로 PWM(Pulse Width Modulation), 즉 펄스 폭 변조가 그 솔루션이 될 수 있다. PWM은 디지털 신호를 아날로그처럼 활용하는 기술이다.PWM 개념PWM은 일정한 주기를 가진 펄스 신호를 사용한다. 이 주기 안에서 신호가 켜져 있는 시간의 비율을 듀티 사이클(Duty Cycle)이라고 부른다.듀티 사이클이 높으면: 켜져 있는 시간이 길어져 평균 전압이 높아진다.듀티 사이클이 낮으면: 켜져 있는 시간이 짧아져 평균 전압이 낮아진다.이때 펄스가 너무 느리게 켜지고 꺼지면 장치가.. 2025. 7. 17.
[아두이노] 푸시버튼을 적용한 S.O.S 신호 점멸 구현 어제 우리 프로젝트 팀의 첫 오프라인 미팅이 있었다. 플젝 진행 방향에 대한 논의가 끝나고 잠시 남아서 리더님에게 아두이노 푸시버튼 연결을 좀 도와달라고 했다. 지난 글에서 아두이노 내장 LED로 S.O.S 신호 깜빡이기 실습을 했는데, 이 때 사실 원래 목표는 루프로 계속 돌리지 않고, 버튼을 한 번 눌렀다 떼면 S.O.S 신호가 한 차례 점멸하도록 하는 것이었다. 그런데 브래드보드에 푸시버튼과 점퍼와이어를 연결하는 방법을 제대로 몰라서 결국 이렇게 저렇게 시도하다가 포기했었는데, 어제 드디어 프로젝트 미팅에 가서 성공시켰다. (내가 한 건 아니고 리더님이 해주셨지만... ㅎㅎ) 우선 가장 중요한 회로를 다시 복기해 보도록 한다. 지난 포스팅에서 소개했던 팅커캐드를 이용해서 회로를 깔끔하게 정리해 보.. 2025. 6. 23.
아두이노 내장 LED로 S.O.S 구조 신호 깜빡이게 만들어 보기 3주동안 나의 체력을 무지막지하게 갉아먹었던 기말시험이 드디어 끝났다. 시험이 끝난 기념으로 드디어 한 달 전에 산 아두이노 보드를 꺼내서 실제로 작동을 시켜보기로 했다. 어떤 프로그래밍을 해볼까 하다가, 모스 부호를 이용해서 SOS 신호를 만들어 보기로 했다. "따따따 따-따-따- 따따따" 지금 파이브북스에서 찰스 펫졸드의 를 읽고 있는데, 거기 모스부호에 대한 이야기가 나온다. 모스부호야 말로 1과 0 그 자체, 컴퓨터의 근본이 아니던가? 원래는 아두이노 주문할때 패키지로 딸려온 푸시버튼, 브래드보드, 와이어 등을 사용해서 버튼을 누르면 SOS 신호를 점멸하도록 만들려고 했는데, 무슨 이유에서인지 한 시간을 씨름을 했는데 스위치가 인식이 안 되었다. 방법은 나중에 차차 생각해 보기로 하고, 오늘은 .. 2025. 6. 14.
TinkerCAD로 아두이노와 친해질 준비하기 학교에서 8월에 소프트웨어 경진대회가 열린다. 나는 아직 개발 경험은 없지만 사회적으로 의미 있는 좋은 프로젝트가 있어 용기 내서 참여하게 되었다. 내가 참여하게 된 프로젝트의 산출물은 IoT로 구현되기 때문에 기본적으로 C를 사용한 임베디드 프로그래밍이 필요하다. 내가 프로그래밍에 직접 참여할 수 있을지는 모르지만 어쨌든 프로젝트가 진행되는 동안 맥락을 이해하는 것이 반드시 필요할 것이기 때문에 나도 아두이노와 좀 친해져 보기로 했다. 우선 알리익스프레스에 아두이노 우노 키트를 주문해놨다. 어차피 키트를 받자마자 바로 코딩을 할 준비가 안 되어있기 때문에, 키트 없이도 아두이노를 실습해볼 수 있는 TinkerCAD로 먼저 간단한 실습을 해 보기로 했다. 마침 야심차게 1년치 구독중인 교보문고 sam .. 2025. 5. 10.