본문 바로가기

전체 글99

[Embedded] STM32 - Servo Motor 이번 프로젝트에서는 서보모터를 PWM으로 제어하는 코드를 작성해보도록 하겠습니다.     PWM (Pulse Width Modulation) 신호: 오렌지 색 선전원 (Vcc): 빨간색 선으로, 일반적으로 +4.8V에서 +6V 사이접지 (Ground): 갈색 선PWM 신호 특성주기 (Period): 20ms (50Hz의 주파수)펄스 폭 (Duty Cycle): 1ms에서 2ms 사이1ms 펄스 폭은 서보 모터를 한 방향 (예: 0도)으로 회전시킵니다.2ms 펄스 폭은 서보 모터를 반대 방향 (예: 180도)으로 회전시킵니다.펄스 폭을 1ms에서 2ms 사이로 변화시키면, 서보 모터의 각도도 그에 따라 조절됩니다.    IOC 설정에서 Timer로 PWM을 제어할 수 있습니다. Tim1의 Channel1 .. 2024. 5. 31.
[Embedded] STM32 - 1602LCD-I2C 이번 프로젝트에서는 LCD에 간단한 문장을 띄워보도록 하겠습니다. 사용하려는 LCD는 아래와 같은 특징을 가지고 있습니다. 1602 LCD 디스플레이의 특징디스플레이 크기: 16 문자와 2 줄의 텍스트를 표시할 수 있습니다.간단한 문자 출력: 문자열, 숫자 및 간단한 그래픽을 쉽게 표시할 수 있습니다.백라이트 제어: 대부분의 1602 LCD에는 백라이트가 있어 어두운 환경에서도 데이터를 쉽게 읽을 수 있습니다.I2C 인터페이스 사용의 장점핀 수 절감: I2C 인터페이스를 사용하면 데이터 전송을 위해 단 두 개의 핀만 사용됩니다(SDA와 SCL). 이는 특히 핀 수가 제한된 소형 MCU에서 매우 유용합니다.네트워크 확장성: 여러 I2C 장치를 동일한 버스에 연결하여 각 장치를 고유한 주소로 제어할 수 있습.. 2024. 5. 31.
[Embedded] STM32 - UART DMA 보호되어 있는 글 입니다. 2024. 5. 31.
[Embedded] STM32 - UART Bluetooth 보호되어 있는 글 입니다. 2024. 5. 31.
[Embedded] STM32 - UART 이번 프로젝트는 UART 인터럽트를 활용한 통신 시스템을 구현하여 UART를 통해 데이터를 송수신하면서 사용자의 입력을 실시간으로 받아 처리하는 방식으로 구현해보도록 하겠습니다. UART(Universal Asynchronous Receiver/Transmitter)는 마이크로컨트롤러, 컴퓨터, 통신 장비 등에서 널리 사용되는 직렬 통신 인터페이스입니다. UART는 데이터를 직렬 형태로 전송하기 때문에, 단 두 개의 전선(송신선 TX와 수신선 RX)만으로 두 기기 간의 통신을 가능하게 합니다. 이는 데이터를 한 비트씩 순차적으로 보내고 받는 방식입니다.   USART2를 사용할거고 global interrupt를 체크해줍니다. USART2 글로벌 인터럽트 설정은 USART2 통신과 관련된 여러 이벤트에 .. 2024. 5. 31.
[Embedded] STM32 ADC - Interrupt 보호되어 있는 글 입니다. 2024. 5. 31.
[Embedded] STM32 ADC - DMA 보호되어 있는 글 입니다. 2024. 5. 31.
[Embedded] STM32 - ADC - 1 이번 프로젝트에서는 ADC에 대해서 알아보도록 하겠습니다. ADC란?ADC는 아날로그 신호를 디지털 형식으로 변환하는 장치입니다. 마이크로컨트롤러 내의 ADC는 센서와 같은 외부 장치로부터 아날로그 신호를 받아 이를 마이크로컨트롤러가 처리할 수 있는 디지털 값으로 변환합니다. STM32F411RETx의 ADC란STM32F411 시리즈는 일반적으로 여러 채널의 ADC를 갖추고 있으며, 이를 통해 다양한 아날로그 입력을 동시에 처리할 수 있습니다.각 ADC 핀은 특정 아날로그 신호를 받아들이고, 이를 내부적으로 디지털 값으로 변환하여 프로세서가 사용할 수 있도록 합니다.변환된 값은 센서 데이터 처리, 전압 측정, 사용자 입력 인식 등 다양한 애플리케이션에 사용됩니다.      X축과 Y축은 ADC 기능으로 .. 2024. 5. 31.
[Embedded] STM32 - US PWM 이번 프로젝트는 초음파 센서를 PWM으로 제어하는 코드를 작성해보도록 하겠습니다. 마찬가지로 새 프로젝트를 생성해서 핀 지정과 설정을 먼저 하도록 하겠습니다.        이번 프로젝트에서는 트리거 신호가 GPIO로 쓰이지 않고 Timer로 쓰입니다. 에코 신호는 이전 프로젝트와 마찬가지로 마찬가지로 GPIO로 쓰입니다. 타이머3에서 채널2를 PWM 생성에 사용하고 있습니다. 이는  PWM 신호를 생성하여 초음파 센서의 트리거 핀을 제어합니다. Prescaler 및 Period 설정을 통해 PWM 신호의 주파수와 펄스 폭을 조정합니다. TIM_CHANNEL_2에서 PWM을 시작하여, 초음파 센서의 트리거 신호를 제공합니다. 이는 센서로부터 거리 측정 과정을 시작하기 위해 사용됩니다. PWM의 Pulse .. 2024. 5. 31.