임베디드 시스템의 본질 - 기본편 (Embedded Systems Essentials)
리눅스 설치부터 로봇 제어까지, 임베디드 개발의 전체 흐름을 한 번에 경험하는 입문 강의 임베디드를 시작하려고 하면 어디서부터 손대야 할지 막막해집니다. 이 강의는 그런 분들을 위해 PC 한 대에서 시작해 로봇을 움직이기까지의 전체 흐름을 한 번에 경험할 수 있도록 구성되었습니다. 리눅스 설치와 기본 설정, 라즈베리파이 준비 과정부터 회로도와 데이터시트 읽기, 기본 통신 인터페이스 실습까지 다루며, 깊이보다는 전체 구조를 이해하는 데 집중합니다.


안녕하세요.
코린이 구조대 후추아빠 입니다.
이번에는 강의에서 배운 내용을 바탕으로 실제 개발 과정에서 한 번쯤 고민해 볼 만한 이야기를 해보려고 합니다.
강의에서는 IR 센서를 이용해 장애물을 감지하고, 그 결과에 따라 모터를 제어하는 방법을 배웁니다.
그런데 실제 환경에서는 센서가 항상 기대한 대로 동작하지는 않습니다.장애물이 없는데 순간적으로 감지되거나
장애물이 있는데도 일시적으로 감지되지 않거나
주변 환경에 따라 센서 값이 불안정해지는 경우가 있습니다.
이때 센서 값을 읽는 즉시 모터를 제어한다면 어떻게 될까요?
로봇이 불필요하게 멈추거나, 모터가 반복적으로 동작하는 현상이 발생할 수 있습니다.
그렇다면 어떻게 개선할 수 있을까요?
가장 간단한 방법 중 하나는 센서 값을 한 번만 확인하지 않고, 여러 번 확인하는 것입니다.
예를 들어 장애물이 감지되었다고 즉시 정지하는 대신, 3회 연속 감지되었을 때 정지하도록 만드는 것입니다.
Python으로 표현하면 다음과 같은 방식입니다.count = count + 1 if detected else 0if count >= 3: stop_motor()※ 이해를 돕기 위한 간략한 예시이며,
detected는 장애물 감지 결과,stop_motor()는 모터 정지 함수를 의미합니다.물론 실제 구현에서는 센서의 측정 주기와 로봇의 반응 속도도 함께 고려해야 합니다.
이러한 작은 개선 과정이 바로 실제 임베디드 소프트웨어 개발에서 중요한 부분입니다.이번 주 작은 도전 과제!
강의에서 구현한 장애물 감지 기능을 조금 수정해 보시는 건 어떨까요?
장애물이 1회, 3회, 5회 연속 감지되었을 때 각각 모터가 어떻게 반응하는지 비교해 보세요.
단순히 동작하는 코드를 작성하는 것에서 나아가, 왜 이렇게 동작하는지, 어떻게 하면 더 안정적으로 동작할 수 있는지 고민하는 습관을 길러보셨으면 합니다.감사합니다.
코린이 구조대 드림
안녕하세요.
코린이 구조대 후추아빠 입니다.강의를 따라 실습하다 보면 영상과 똑같이 했다고 생각했는데 동작하지 않거나, 예상하지 못한 에러를 만나는 경우가 있습니다. 이럴 때 혼자 너무 오래 고민하지 마시고 편하게 질문을 남겨주세요.
다만 아래 내용들을 함께 알려주시면 문제의 범위를 훨씬 빠르게 좁힐 수 있습니다.어느 강의의 어떤 실습인지
어디까지 정상적으로 진행되었는지
어떤 결과를 기대했는지
실제로는 어떤 현상이 발생하는지
실행한 명령어와 에러 메시지
가능하다면 작성한 코드와 배선 사진
예를 들어,
❌ "GPIO 실습이 안 됩니다."
보다는
⭕ "GPIO 출력 실습 중입니다. 프로그램 실행까지는 정상이고 에러도 발생하지 않는데 LED가 켜지지 않습니다. GPIO 번호는 XX번을 사용했고, 현재 배선과 코드는 아래와 같습니다."또는,
❌ "SSH 접속이 안 됩니다."
보다는
⭕ "라즈베리파이와 PC는 같은 공유기에 연결되어 있고 ping은 정상입니다.ssh jcrt@192.168.x.x를 실행하면Permission denied (publickey)가 출력됩니다."
처럼 알려주시면 좋습니다.질문을 작성하면서 ‘어디까지 정상이고 어디부터 문제가 발생했는가?’를 정리해보는 것 자체가 좋은 디버깅 연습이 됩니다. 그래도 모르겠다면 괜찮습니다. 아는 범위까지만 적어주셔도 함께 확인해드리겠습니다.
수강 중 막히는 부분은 언제든 편하게 질문 남겨주세요.감사합니다.
코린이 구조대 드림안녕하세요.
코린이 구조대 후추아빠 입니다.어느덧 다음주에 추석 연휴가 성큼 앞으로 다가왔네요.
먼저 강의를 찾아주시고 꾸준히 함께해주시는 수강생분들께 감사드립니다.긴 연휴 동안 잠시 쉬어가셔도 좋고, 시간이 나신다면 밀렸던 강의를 한두 개씩 천천히 따라가 보셔도 좋을 것 같습니다.
임베디드 공부는 한 번에 많은 내용을 익히는 것보다 직접 연결하고, 실행해보고, 막히기도 하면서 하나씩 익숙해지는 과정이 더 중요하다고 생각합니다.
완강을 서두르지 마시고 각자의 속도로 즐겁게 따라와 주세요.
가족들과 즐겁고 편안한 추석 연휴 보내시길 바랍니다. :)감사합니다.
코린이 구조대 드림안녕하세요.
코린이 구조대 후추아빠 입니다.
준비물 목록 중 RC522 RFID 모듈 관련 내용을 업데이트하여 안내드립니다.납땜이 완료된 RC522 모듈 제품에는 RFID 카드가 포함되어 있지 않은 상황이라,
해당 제품을 선택하신 분들을 위해 별도의 RFID 카드 구매 링크를 준비물 목록에 추가했습니다.
이미 RC522 모듈을 구매하셨지만 RFID 카드가 없는 경우에는
추가된 링크의 카드를 함께 준비해 주시면 강의 실습을 진행하실 수 있습니다.준비물 관련해서 혼동이 없도록 확인되는 내용은 계속 업데이트하겠습니다.
감사합니다.
코린이 구조대 드림안녕하세요.
코린이 구조대 후추아빠 입니다.최신 Raspberry Pi OS에서는
pigpiod가 기본 설치되어 있지 않아, 강의의 PWM 실습 진행 중 아래와 같은 메시지가 나타날 수 있습니다.
$ sudo systemctl status pigpiod
Unit pigpiod.service could not be found.PWM 실습은
pigpio라이브러리를 사용하므로, 아래 순서대로pigpiod를 설치 및 실행해 주세요.
$ sudo apt update
$ sudo apt install -y git build-essential
$ git clone https://github.com/joan2937/pigpio.git
$ cd pigpio
$ make
$ sudo make install
$ sudo ldconfig설치 후 아래 명령어로
pigpiod를 실행합니다.
$ sudo pigpiod정상 실행 여부는 아래 명령어로 확인할 수 있습니다.
$ pgrep pigpiod
숫자가 출력되면 정상적으로 실행 중인 상태입니다.
이후 강의와 동일하게 PWM 실습 코드를 실행하시면 됩니다.
실습 중 동일한 문제가 발생하면 질문 게시판에 남겨주시면 안내드리겠습니다.감사합니다.
코린이 구조대 드림안녕하세요.
코린이 구조대 후추아빠 입니다.강의 촬영 당시 사용하던 raspi-gpio tool이 현재 유지보수가 종료되었습니다.
따라서, 최신 Raspberry Pi OS에서는 후속 도구인 pinctrl tool을 사용하셔야 됩니다.강의에서 아래와 같이 나오는 명령어는
$ raspi-gpio get 0
현재 환경에서는 다음과 같이 실행해 주세요.
$ pinctrl get 0강의에서 사용하는 기본적인 get/set 명령은
raspi-gpio를 pinctrl로 변경하여 동일하게 따라 하시면 됩니다.감사합니다.
코린이 구조대 드림안녕하세요.
코린이 구조대 후추아빠 입니다.기본편에서 임베디드 시스템의 전체적인 흐름을 익혔다면,
이제 그 개념들을 실제 STM32와 C 코드로 구현해보는 펌웨어편으로 이어가실 수 있습니다.
펌웨어편에서는 GPIO, UART, PWM, I2C, ADC, Timer를 직접 구현하고, 마지막에는 각각의 기능을 하나의 펌웨어 시스템으로 통합하는 프로젝트까지 진행합니다.현재 펌웨어편은 얼리버드 할인이 진행 중이며,
얼리버드 종료 이후에도 「임베디드 시스템의 본질」 로드맵을 통해 기본편과 펌웨어편을 30% 할인된 가격으로 수강하실 수 있습니다.
아직 기본편을 학습하고 계신 분들은 서두르지 않으셔도 됩니다. 기본편을 충분히 익히신 뒤 자연스럽게 다음 단계로 넘어오시면 됩니다.주변에 임베디드 시스템이나 펌웨어 개발을 공부하고 싶은 분이 계시다면 「임베디드 시스템의 본질」 로드맵도 함께 소개해주시면 감사하겠습니다.
수강 중 궁금한 점은 언제든 질문으로 남겨주세요.
감사합니다.
코린이 구조대 드림안녕하세요,
코린이 구조대 후추아빠 입니다.『임베디드 시스템의 본질 - 기본편』에 이어지는 두 번째 과정,
『임베디드 시스템의 본질 - 펌웨어편』이 오픈되었습니다.펌웨어편 출시를 기념하여 얼리버드 기간 동안, 기본편도 25% 할인된 가격으로 만나보실 수 있습니다.
또한 기존 기본편 수강생분들께는 감사의 의미로, 펌웨어편 40% 할인 쿠폰을 별도로 제공드렸습니다.기본편에서 임베디드 시스템의 원리를 이해하고,
펌웨어편에서는 STM32를 활용해 직접 구현해 보세요.
많은 관심과 강의 홍보 부탁 드리겠습니다. :)감사합니다.
코린이 구조대 드림






