본문 바로가기

Embedded39

[Yocto Project] QT5 예제 실행하기 - 개발 환경개발 보드 : Raspberrypi 4WSL2 (Ubuntu 22.04 LTS)Yocto Project : Scarthgap0. 사전 작업 (리눅스 이미지 빌드)https://littlebitodd-developer.tistory.com/27 [Yocto Project] RaspberryPI4를 위한 리눅스 이미지 빌드1. 개발 환경WSL2 (Ubuntu 22.04 LTS)개발 보드 : Raspberrypi 4 2. 필요 패키지 설치sudo apt install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 liblz4-tool locales python3 python3-git p.. 2025. 4. 10.
[STM32] PWM를 통한 SG-90 서보 모터 제어 - 개발 환경개발 보드 : NUCLEO-F103RB개발 프로그램- STM32 CubeMX : 6.12.0- STM32 CubeIDE : 1.16.01. 서론  많은 액추에이터는 전압을 통해 특정한 각도 및 세기를 제어할 수 있습니다. MCU에서는 DAC을 통해 전압을 제어할 수 있지만, 더 쉽고 간단하게 전압을 직접 조절하지 않고 엑추에이터의 각도 및 세기를 조절할 수 있는 방법이 있습니다. 그 방법이 바로 PWM입니다. PWM을 간략하게 소개하자면 특정 시간내에 전압이 HIGH인 비율을 조절하는 것입니다.    만약 PWM에서 High가 5V이고 25%의 Duty cycle라면 5V X 0.25 = 1.25V와 비슷한 세기를 엑추에이터에 전달하는 것입니다. 그리고 PWM을 사용하면서 주의 사항이 있습니.. 2025. 4. 10.
[ESP32] LVGL를 통한 GUI 개발 환경 구축 - 개발 환경- 개발 환경Macbook Pro 14 (M3)macOS : Sequoia 15.4PlatformIO 사용 - 하드웨어 : Crowpanel 7.0inchMCU : ESP32-S3Display : 7inch, 800 x 480부가 기능 : 스피커, 마이크로 SD카드, 배터리 부착 가능1. 서론   디스플레이는 요즘 모든 제품에 들어간다고 하여도 과언이 아닙니다. 디스플레이는 직관성이 좋고 좁은 화면에서 다양한 기능을 사용자에게 제공하기에도 적합하며 업데이트를 통한 기능 추가에도 도움이 됩니다. 게다가 터치가 되는 디스플레이는 사용하기 매우 편리합니다.    하지만 임베디드에서 좋은 디스플레이를 사용하는 것에 대해서 많은 부담이 있다는 것도 사실입니다. 임베디드라는 제한된 하드웨어(메모리 및 .. 2025. 4. 9.
[Yocto Project] Linux kernel module 개발 - 개발 환경개발 보드 : Raspberrypi 4WSL2 (Ubuntu 22.04 LTS)Yocto Project : Scarthgap0. 사전 작업 (리눅스 이미지 빌드)https://littlebitodd-developer.tistory.com/27 [Yocto Project] RaspberryPI4를 위한 리눅스 이미지 빌드1. 개발 환경WSL2 (Ubuntu 22.04 LTS)개발 보드 : Raspberrypi 4 2. 필요 패키지 설치sudo apt install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 liblz4-tool locales python3 python3-git p.. 2025. 4. 8.
[STM32] 외부 인터럽트(EXTI : EXTernal Interrupt)를 통해 버튼의 입력 감지 - 개발 환경개발 보드 : NUCLEO-F103RB개발 프로그램- STM32 CubeMX : 6.12.0- STM32 CubeIDE : 1.16.01. 서론  인터럽트를 사용하기 전 사전적 정의부터 확인해보는 것이 좋습니다.  사전적 정의에서도 알 수 있듯이 "방해하다, 중단시키다 등"의 의미를 가지고 있습니다. MCU 관점에서의 인터럽트는 프로그램의 실행 흐름(STM32에서는 main 함수)을 방해 및 중단하고 급하게 처리해야 할 작업(Task)를 의미합니다.   인터럽트를 처리하는 것을 보면 마치 운영체제가 프로세스를 스케쥴링하는 것과 비슷하게 보이지만 반드시 주의 해야할 사항들이 있습니다. - 주의 사항기존 프로그램의 흐름의 영향이 가지 않도록 빠른 시간내 처리를 완료해야한다.중요) HAL_Dela.. 2025. 4. 6.
[STM32] USART / UART를 통한 데이터 송수신 - 개발 환경개발 보드 : NUCLEO-F103RB개발 프로그램- STM32 CubeMX : 6.12.0- STM32 CubeIDE : 1.16.01. 서론  USART(Universal Synchronous Asynchronous Receiver Transmitter)는 MCU으로 통신을 하려고 할때 가장 처음 배우는 통신 방법일 것입니다. 그 이유는 대부분의 개발보드에서 USART으로 PC와 통신할 수 있도록 하는 기능을 제공하고 있기 때문이며, 만약 없더라고 하더라도 USB to TTL을 사서 쉽게 해당 기능을 사용할 수 있기 때문입니다. 또한 그 외 다양한 장점이 있지만, 이번에는 STM32으로 USART를 사용해 PC와 통신하는 기능을 사용해보도록 하겠습니다. 2. 프로젝트 생성  STM32 C.. 2025. 4. 6.