반응형

nRF52 26

nRF52840 PWM으로 LED 제어하기

안녕하세요, '소프트웨어 공장'입니다. 이번 포스팅에서는 nRF52840 DK 보드와 nRF52840 SDK를 활용하여 PWM(펄스 폭 변조)으로 LED의 밝기를 제어하는 방법을 소개하려고 합니다. 이 글에서는 PWM을 사용하여 LED 밝기를 점점 밝아지고 어두워지게 하는 예제를 구현해 볼 것입니다. 이를 통해 여러분은 nRF52840의 PWM 기능을 이해하고 실습해보는 기회를 가질 수 있습니다.PWM(Pulse Width Modulation) 개요PWM(Pulse Width Modulation)은 전자 기기에서 신호의 듀티 사이클을 조절하여 아날로그 출력을 에뮬레이션하는 방법입니다. 주로 모터의 속도 제어나 LED의 밝기 조절에 사용되며, 전력 소비를 효과적으로 관리할 수 있는 장점이 있습니다. nRF..

nRF52 2024.11.05

nRF ESB(무선 통신 구현)

ESB (Enhanced ShockBurst)는 Nordic Semiconductor의 nRF 시리즈 무선 칩에서 주로 사용되는 경량 프로토콜입니다. 이 프로토콜은 짧은 거리에서 저전력, 신뢰성 있는 무선 통신을 가능하게 하며, 리소스가 제한된 IoT (Internet of Things) 장치, 웨어러블 기기, 센서 네트워크 등에서 많이 활용됩니다. 이 글에서는 ESB의 주요 특징, 제한사항, 그리고 nRF52840와 같은 nRF 시리즈 칩을 활용한 무선 통신 구현 방법을 설명합니다.1. ESB 소개Enhanced ShockBurst (ESB)는 무선 데이터 전송에서 효율성과 신뢰성을 동시에 추구하는 프로토콜입니다. 주로 간단한 무선 네트워크에서 저전력으로 신속하게 데이터를 주고받아야 하는 환경에 적합합..

nRF52 2024.09.20

nRF52 RAM, Flash 크기 조정

nRF52 시리즈 MCU를 사용할 때, RAM과 Flash 메모리의 시작 주소는 MCU가 정상적으로 동작하는 데 매우 중요한 역할을 합니다. 특히 애플리케이션에서 SoftDevice(블루투스 스택)나 부트로더를 사용하는 경우, 이 설정은 더욱 복잡해지며 상황에 따라 RAM과 Flash의 시작 주소를 적절히 조정해야 합니다.이 글에서는 다음과 같은 경우에 맞춰 RAM 및 Flash 메모리의 크기를 조정하는 방법을 설명하겠습니다.SoftDevice와 MBR(Master Boot Record)을 사용하지 않는 애플리케이션MBR만 사용하는 애플리케이션SoftDevice를 사용하는 애플리케이션1. 개요nRF52 시리즈 MCU를 사용하는 애플리케이션에서 RAM과 Flash 메모리의 설정은 필수적입니다. MCU가 부..

nRF52 2024.09.19

nRF52 Watchdog Timer: 시스템 안정성을 보장하는 방법

임베디드 시스템 개발에서 시스템의 신뢰성을 보장하는 일은 매우 중요합니다. 특히 IoT 장치나 무선 통신 장치와 같은 시스템은 외부 환경에 의해 예기치 않게 오류가 발생할 수 있습니다. 이때 Watchdog Timer(감시 타이머)를 사용하면, 시스템이 예기치 않은 상황에 빠지더라도 자동으로 복구될 수 있습니다. 본 글에서는 nRF 시리즈에서 Watchdog Timer를 설정하고 사용하는 방법을 중점적으로 다루며, 예시 코드와 함께 그 과정을 단계별로 설명합니다.1. Watchdog Timer란?1.1 개념Watchdog Timer는 시스템이 주어진 시간 내에 특정 동작을 수행하지 않을 경우, 이를 감지하고 시스템을 리셋하는 보호 장치입니다. 임베디드 시스템에서 흔히 사용되는 이 타이머는 주로 소프트웨어..

nRF52 2024.09.18

nRF52 fstorage 사용 가이드

nRF fstorage는 Nordic Semiconductor에서 개발한 경량 데이터 저장 라이브러리입니다. 이 라이브러리는 nRF52 시리즈와 같은 임베디드 시스템에서 효율적으로 데이터를 관리하고 저장하는 데 특화되어 있습니다. 이 글에서는 nRF fstorage의 특징, 설정, 초기화 방법, 그리고 실제 데이터를 읽고 쓰는 방법을 설명합니다. 또한, SoftDevice 사용 여부에 따른 API 변경점과 주요 사용 방법을 상세히 다룹니다.1. nRF fstorage 개요nRF fstorage는 플래시 메모리 관리와 같은 중요한 기능을 수행하는 경량 라이브러리입니다. 이는 주로 작은 크기의 데이터를 빠르고 안정적으로 저장할 수 있도록 설계되었으며, 제한된 리소스를 가진 임베디드 시스템에 최적화되어 있습니..

nRF52 2024.09.17

nRF52 RTC(Real-Time Clock)를 활용한 캘린더 구현

RTC(Real-Time Clock)는 시간이 중요한 애플리케이션에서 필수적인 모듈입니다. 시간을 추적하고 알람을 설정하며, 정밀한 타이밍을 제어하는 등의 작업에서 RTC는 핵심적인 역할을 합니다. 특히 저전력 시스템에서는 프로세서가 지속적으로 작동하지 않더라도 RTC를 이용해 시간 관련 작업을 처리할 수 있어 전력 소비를 크게 줄일 수 있습니다.이번 포스트에서는 nRF52840 SoC(System on Chip)에서 RTC를 이용해 캘린더를 구현하는 방법을 살펴보겠습니다. 실제 날짜와 시간을 추적하는 캘린더 설정부터 알람 기능, 시간 조정, 그리고 장시간 사용 시 발생할 수 있는 오차 관리 방법까지 다루어 보겠습니다.1. RTC 모듈 개요RTC는 마이크로컨트롤러에 내장된 저전력 타이머로, 시간 및 날짜..

nRF52 2024.09.16

nRF52 Application Scheduler

nRF52840은 노르딕 세미컨덕터에서 제공하는 강력한 무선 마이크로컨트롤러(MCU)입니다. 이 MCU를 기반으로 다양한 응용 프로그램을 개발할 때, 여러 작업을 병렬로 처리하거나 다양한 이벤트를 효율적으로 처리하는 것이 중요합니다. 이를 위해 nRF SDK는 Application Scheduler라는 도구를 제공하고 있습니다. 이 가이드는 nRF SDK의 Application Scheduler를 설정하고 사용하는 방법에 대해 설명하며, 코드 예제와 함께 사용 시 주의할 점도 다룹니다.1. Application Scheduler란?Application Scheduler는 nRF SDK에서 제공하는 모듈로, 시스템에서 발생하는 다양한 이벤트를 효과적으로 처리할 수 있도록 돕는 스케줄링 도구입니다. 이를 사..

nRF52 2024.09.15

nRF52 Application Timer 설정 및 사용

애플리케이션에서 주기적인 작업이나 이벤트가 필요한 경우 Timer를 이용한다. nRF52의 Application Timer는 RTC1을 사용하며, 응용 프로그램에 작업을 위해 정확한 타이밍 소스를 제공한다.1. Application Timer 개요nRF52840에서 Application Timer는 RTC1을 기반으로 하여 동작합니다. 이 타이머는 초저전력 모드에서도 동작 가능하며, 주기적인 작업이나 이벤트 처리에 적합합니다. 일반적으로 배터리 구동 장치나 저전력 IoT 애플리케이션에서 타이머가 필요한 경우 많이 사용됩니다.타이머는 반복 모드(repeated)와 단일 실행 모드(single shot)를 지원하며, 타이머가 종료되거나 시간이 만료될 때 특정 작업을 수행하는 콜백 함수(Handler)를 등록..

nRF52 2024.09.14

nRF52를 이용한 BLE Central 가이드

BLE (Bluetooth Low Energy)는 저전력 무선 통신 프로토콜로, 주로 IoT 장치 간의 데이터 전송에 사용됩니다. BLE 네트워크에서는 두 가지 주요 장치 유형이 존재하는데, Central과 Peripheral입니다. 이 글에서는 nRF52840과 같은 SoC(System on Chip)를 사용하여 BLE Central 장치로서 동작하는 방법과, BLE Central이 Peripheral 장치와 어떻게 상호작용하는지를 설명합니다.1. BLE Central이란?BLE Central은 BLE 네트워크에서 중앙 컨트롤러 역할을 합니다. 여러 Peripheral 장치와 연결하여 데이터를 수집하고, 장치를 제어하며, 다양한 센서 및 디바이스로부터 실시간으로 데이터를 주고받을 수 있습니다. 스마트폰..

nRF52 2024.09.13

nRF52 BLE Peripheral에서 Advertising Service Data 활용하기

Bluetooth Low Energy (BLE)는 저전력 통신을 효율적으로 제공하기 때문에 다양한 IoT(사물인터넷) 디바이스에서 널리 사용되고 있습니다. nRF52840과 같은 디바이스에서 BLE 애플리케이션을 개발할 때 중요한 부분 중 하나는 Advertising입니다. Advertising은 Peripheral 디바이스가 연결을 맺지 않고 근처의 Central 디바이스에 데이터를 방송하는 과정입니다. 이 데이터 중에서 중요한 요소 중 하나가 바로 Advertising Service Data입니다. 이 데이터는 Peripheral 디바이스가 제공하는 서비스에 대한 추가적인 정보를 포함합니다.이 글에서는 BLE에서 Advertising Service Data가 어떤 역할을 하는지, 이를 nRF52840..

nRF52 2024.09.12
반응형