C 문법을 공부한 뒤에도 장치에서 직접 실행하면 예상과 다른 결과가 나올 수 있습니다. 임베디드 실습은 코드와 하드웨어 상태를 함께 기록해야 원인을 찾을 수 있습니다. 처음에는 복잡한 센서 대신 버튼 하나와 LED 하나로 입력·상태·출력을 연결해 보세요.
실습 목표 정하기
버튼을 누를 때마다 LED가 켜지고 꺼지도록 만듭니다. “버튼을 누른다”의 의미를 계속 누르고 있는 상태인지, 누름이 시작되는 순간인지 먼저 정해야 합니다. 이 차이를 정하지 않으면 한 번 누를 때 여러 번 상태가 바뀔 수 있습니다.
입력과 상태 분리하기
입력 읽기, 이전 상태와 비교, LED 출력 코드를 단계별로 나눕니다. 코드에 사용한 핀 번호와 연결 방식을 문서에 적으세요. Arduino 공식 프로그래밍 자료에는 디지털 입출력과 버튼 예제가 있어 기본 동작을 확인하는 데 도움이 됩니다. 사용하는 보드가 다르면 그 보드의 문서를 우선해야 합니다.
타이밍과 오류 확인
짧은 눌림과 긴 눌림, 전원이 다시 켜진 경우를 각각 시험합니다. 입력이 흔들려 여러 번 감지될 수 있으므로 측정 로그를 보고 처리 규칙을 정하세요. 값이 예상과 다르면 코드를 무작정 바꾸지 말고 연결, 전원, 설정, 빌드, 실행 순서로 확인합니다.
결과물로 남기기
실행 동영상만 올리지 말고 소스 코드, 보드 모델, 배선 설명, 빌드와 업로드 절차, 실패 사례를 함께 남깁니다. RTOS나 더 복잡한 장치를 배우려면 Zephyr 공식 시작 안내의 샘플 빌드 흐름을 비교해 볼 수 있습니다. 전체 직무 학습 순서는 임베디드 개발 로드맵에서 확인하세요.