전체 글

전체 글

    Arduino to STM32

    https://rorsi.tistory.com/38 STM32 to Arduino 이번에는 STM32 MCU에서 Arduino로 Uart 통신하는 방법에 대해서 알아보고자 한다. 사용하는 STM32 MCU는 Nucleo-411RE이고 Arduino는 Nano를 사용한다. Nucleo-411RE에 대한 자세한 설명은 블로그에 정리해두었으.. rorsi.tistory.com 에 이어서 이번에는 반대로 Arduino에서 STM32로 데이터를 전송해 본다. IDE 설정은 전과 똑같이 해주고 코드를 수정해준다. /* USER CODE BEGIN WHILE */ uint8_t a; uint8_t b = 'B'; while (1) { if(HAL_UART_Receive(&huart1, &a, sizeof(a), 10..

    STM32 to Arduino

    이번에는 STM32 MCU에서 Arduino로 Uart 통신하는 방법에 대해서 알아보고자 한다. 사용하는 STM32 MCU는 Nucleo-411RE이고 Arduino는 Nano를 사용한다. Nucleo-411RE에 대한 자세한 설명은 블로그에 정리해두었으니 확인하면 된다. https://rorsi.tistory.com/29 Nucleo-f411re STM32 Nucleo MCU 의 최소 기능만으로 구성된 개발 보드로 ST사에서 제작한 개발 보드이다. 개발 측면에서는 대부분의 Port에 1:1로 매칭되도록 많은 확장핀을 할당하여 개발편의성을 확실히 제공해 rorsi.tistory.com 우선 보드와 보드끼리 점퍼선을 이용하여 연결해준다. Nucelo-F411RE 보드의 PA10(RX)와 Nano 보드의 D..

    SPI

    SPI SPI는 Serail Peripheral Interface Bus의 약어로 마이크로컨트롤러와 시프트 레지스터, 센서, SD 카드와 같은 소형 주변 장치 간에 데이터를 전송하는 데 일반적으로 사용되는 인터페이스 버스입니다. SPI 통신은 4개의 신호단자로 구성되어 있습니다. 신호단자 이름 다른 이름 설명 SCLK SCK, CLK Serial Clock MOSI SDI, DI, SI Master Output Slave Input MISO SDO, DO, SO Slave Output Master Input SS nCS, CS, nSS, STE, CE Slave Select, Chip Enable SCLK: 직렬 클럭 (마스터로부터의 출력) MOSI; SIMO: 마스터 출력, 슬레이브 입력 (마스터로부터..

    LoRa

    LoRa LoRa는 Long Range의 약어로서 Semtech에서 개발되었고 Semtech는 LoRa Alliance를 구성하여 글로벌 표준을 개발하였습니다. LoRa는 장거리에 걸쳐 소량의 데이터를 보낼 수 있는 장거리 저전력 무선 통신 시스템입니다. 이 두 가지 기능으로 인해 IoT 및 IIoT 산업 분야의 많이 사용되고 있습니다. LoRa는 FSK(Frequency Shifting Keying) 변조와 유사하지만 통신 범위를 크게 증가시키는 Chirp Spread Spectrum(CSS) 변조를 기반으로 합니다. Chirp Spread Spectrum Chirp은 'Compressed High Intensity Radar Pulse'의 줄임으로 기존에는 레이더 등 군사용으로 사용되었으나 LoRa가..

    B-L475E-IOT01A

    Discovery kit NUCLEO보다는 마이너하지만 그래도 많많찮은 저렴한 가격과 종류를 가지고 있다. 주로 녹색 PCB로 생산되며 NUCLEO와는 다르게 디버거 파트를 따로 잘라내기 힘들다. 다만 ST-LINK/DISCOVERY 변환 점퍼와 핀헤더는 NUCLEO와 동일하게 유지되고 있어서 ST-LINK로도 활용할 수 있다. NUCLEO는 보드 내장 주변장치가 상대적으로 빈약하여 사용자의 디바이스 추가 연결에 의존하는 비율이 높은데 비해 DISCOVERY 계열은 주변장치가 좀 더 많이 포함되고 별도 인터페이스 규격의 도터보드 형태로 확장할 수 있는 경우가 많다. 대신에 가격대도 NUCLEO보드들 보다 높은 편에 속한다. 마이크로컨트롤러 기능 STM32L475VGT6 in LQFP100 package ..

    Arduino nano 33 BLE - 개발환경 설정

    NANO 33 BLE는 AVR 기반인 기존 아두이노와 다르게 ARM 기반의 제어칩을 사용한다. 그렇기 때문에 컴파일 방법이 달라, 보드를 새로 설치하여야 한다. "툴" -> "보드" -> "보드 매니저..." 을 클릭하여 "nano 33"이라고 검색한 후 "Arduino Mbed OS Nano Boards"를 설치. 설치가 끝나면 "Arduino NANO 33 BLE" 가 보드 선택 창에 나타난다. 보드를 선택한 후 포트 역시 선택해 준다. 간단한 예제를 아두이노 나노 33 BLE에 업로드 해보자. IDE에서 파일 - 예제 - 01.Basics - Blink 예제를 사용합니다. 예제를 불러오고 아두이노에 업로드하여 동작을 확인합니다. 아두이노 나노 33 BLE에 'LED_BUILTIN'핀은 D13번 핀입..

    WIFI

    와이파이(Wifi) 일반적으로 와이파이는 IEEE 802.11 표준을 통신에 사용하는 무선 LAN 기술을 말한다. 와이파이 제품은 전파를 사용해 클라이언트 기기에서 공유기(router) 등의 AP로 데이터를 전송하고, 공유기는 LAN, WAN 또는 인터넷 상의 다른 기기와 연결한다. 초기에 와이파이 기술은 2.4GHz 주파수를 사용했지만, 이후 5GHz, 60GHz, 6GHz 주파수 대역으로 확대됐다. 와이파이란 원래 무선 기술 이름이 아니라 각 무선 제품이 상호운용된다는 것을 알려주는 와이파이 얼라이언스의 인증 프로그램이자 상표에 불과했다. 하지만 현재 와이파이는 IEEE 802.11 표준의 어려운 알파벳을 대신해 전체 무선 LAN 기술 이름이 됐다. 와이파이 작동 Wi-Fi는 일반적으로 스마트폰, 태..

    Bluetooth

    블루투스(Bluetooth) 블루투스란 스마트폰, 노트북, 이어폰, 헤드폰 등의 전자기기를 서로 연결하여 정보를 교환하는 근거리 무선 기술(10M 이내)의 표준을 말합니다. 와이파이, 블루투스, 로라 등 무선통신 기술을 매우 많지만, 그중에서도 근거리 무선 기술에 보통 활용되는 것은 블루투스입니다. 블루투스 원리 블루투스는 산업, 과학, 의료용으로 할당된 ISM(Industrial Scientific and Medical) 주파수 대역인 2.4~2.48GHz 범위에 있는 총 79개의 채널을 사용합니다. 이러한 이유로 시스템간의 전파 간섭이 생길 우려가 있어 블루투스는 주파수 호핑 방식을 취하고 있습니다. 주파수 호핑이란 많은 수의 채널을 특정 패턴에 따라 빠르게 이동하며 데이터를 조금씩 전송하는 기법입니..

    Nucleo-f411re

    STM32 Nucleo MCU 의 최소 기능만으로 구성된 개발 보드로 ST사에서 제작한 개발 보드이다. 개발 측면에서는 대부분의 Port에 1:1로 매칭되도록 많은 확장핀을 할당하여 개발편의성을 확실히 제공해 주고, 아두이노의 핀헤더 규격까지 지원해 주는 데다가 무엇보다도 동사의 ST-LINK 다운로더/디버거가 보드에 기본으로 포함된다. 때문에 개발 편의성과 범용성이 매우 높은 주제에 가격까지 저렴하다. 대체로 아두이노 방식의 확장 핀헤더와 STM32방식의 확장 핀헤더를 동시에 제공하는데 이러한 확장헤더에 아두이노 용으로 널려있는 센서모듈이나 모터구동모듈 등을 바로 끼우거나 점퍼와이어로 연결하면 제품개발 검증에 필요한 간단한 프로토타입을 순식간에 구성할 수 있다 마이크로컨트롤러 기능 LQFP64 패키지의..

    I2C

    I2C란 I2C(Inter-Intergrated Circuit, 또는 TWI - Two Wire Interface)는 복수 개의 슬레이브 장치가 복수개의 마스터 장치와 통신하기 위한 프로토콜이다. SPI와 마찬가지로 하나의 완성품을 구성하는 요소들 간의 근거리 통신을 위해 고안되었다. 정식 명칭은 I 2C이다. 따라서 I2C는 "아이투씨"가 아니라 "아이스퀘어드씨"라고 부르는 것이 맞다. Inter-IC라고도 부르지만, 잘 사용되지는 않는다. 주로 MCU, EEPROM, ADC, DAC, I/O 인터페이스와 같은 저속의 임베디드 시스템의 주변장치들(Peripheral)에 사용된다 하나의 마스터와 다수의 슬레이브로 연결이 구성되며, 마스터에서 기준클럭(SCL)을 생성하고, 이 클럭에 맞춰 데이터(SDA)를..