18. STM32 I2C 통신 - AM1008W-K-P 동작 구현
·
🧊 STM32
이 전 글에서 AM1008W-K-P 데이터시트와 I2C HAL 함수들을 소개했다. 이번 글은 위 정보들을 이용하여 아두이노와 똑같이 재현하도록 하겠다. 우선 프로젝트를 생성한다. 프로젝트 생성에 대한 내용은 생략하겠다.1. I2C 설정I2C 동작을 구현하기 위해 레지스터를 설정해주어야 하는데, CUBE IDE에서는 간단하게 GUI를 통해 생성할 수 있다. I2C1와 USART1을 각각 활성화시킨다. (생략, 이 전글들 참고 바람)USART1는 기본 115200을 사용할 것이므로 별도의 설정을 할 필요는 없지만 I2C1은 속도를 설정해주어야 한다.AM1008W-K-P 센서는 30kbps 이하에서 동작하는 것이 스펙이다. I2C1은 default 설정으로 standard 모드로 100kbps이다.  100k..
[STM32] 13. UART Interrupt 구현
·
🧊 STM32
UART 통신에서 Polling 방식은 간단하지만 효율성이 떨어질 수 있다. 이를 해결하기 위해 Interrupt 방식과 DMA 방식을 사용할 수 있다. 이 번 포스팅은 Interrupt 방식을 통해 이 전 포스팅인 Polling 방식 기능을 그대로 구현하는 방식으로 진행한다.이전 포스팅 : https://blog.naver.com/younjung1996/223477638132 12. STM32 시리얼 모니터를 위한 UART 통신 구현 (2)기본적인 UART 통신은 폴링(Polling) 방식으로 수행할 수 있다. 폴링 방식에서는 MCU가 계속해서 ...blog.naver.com사용된 보드는 STM32F103이며, UART 1번을 사용한다. (PA10 - UART1_RX, PA9 - UART1_TX) 📌..
[BLE 실내 측위 프로젝트] 6. RSSI 변동을 해결하기 위한 이동 평균 필터
·
💡Project/✅ BLE Indoor Positioning
BLE RSSI의 문제점은 위 그림과 같다.4.5m 이상에서는 제대로 된 거리를 계산할 수 없음. (나중에는 통신 거리가 더 길어진 BLE5.0에 대해 알아볼 예정)실제 환경에서는 많은 외부 요인으로 인해 RSSI 변동이 발생해 거리의 오차가 발생함.📌 1. 이동 평균 필터RSSI 변동을 해결하기 위한 방법은 여러 가지가 있는데 그 중 가장 간단한 이동평균 필터이다.원리는 간단하다. 하나의 윈도우 사이즈만큼 그룹을 묶는다.그룹의 평균 값을 대푯값으로 잡는다.한 칸씩 이동한다. (Convolution 1D와 같은 원리)이 간단한 방법으로 스무딩 효과를 낼 수 있다. RSSI 값이 확 튀었을 때 이를 완화시켜주는 효과를 낸다. 당연히 단점도 존재한다.  delay가 발생한다. 윈도우 사이즈만큼 평균 내기 ..
[STM32] 11. 시리얼 모니터를 위한 UART 통신 구현 (1) FTDI (UART To USB)
·
🧊 STM32
FTDI (Future Technology Devices International Ltd.)는 주로 UART (Universal Asynchronous Receiver-Transmitter) 신호를 USB (Universal Serial Bus)로 변환하는데 사용되는 IC (Integrated Circuit) 칩을 제조하는 회사이다. FTDI 칩을 사용하면 UART를 사용하는 장치를 USB 포트에 연결할 수 있다. 임베디드 시스템에서 printf 함수를 사용하는 것은 디버깅, 로깅, 상태 확인 등을 위해 매우 유용하다. printf 함수는 표준 C 라이브러리 함수로, 포맷된 출력을 생성하여 콘솔이나 터미널에 문자열을 출력하는데 사용된다. 그러나 임베디드 시스템에서는 일반적으로 디스플레이나 콘솔이 없기 때..
[Pytorch] Conv1D + LSTM 모델 Pytorch 구현
·
🐍 Python/Deep Learning
그림 참고 1: Early Warning Model of Wind Turbine Front Bearing Based on Conv1D and LSTM | IEEE Conference Publication | IEEE Xplore 그림 참고 2: Understanding 1D and 3D Convolution Neural Network | Keras | by Shiva Verma | Towards Data Science 1. 데이터셋 가정 Batch size : 100000 Sequence : 10 Feature : 3 (x-axis, y-axis, z-axis) Dataset shape : (100000, 10, 3) = (Batch size, Sequence, Feature) = (B, S, F) 2...
[LoRa] LoRa 란?
·
통신/LoRa
안녕하세요. 오늘부터 LoRa 관련하여 포스팅을 시작하겠습니다. TTN(The Things Network)에서 제공하는 자료를 기반으로 LoRa 기초를 다지기 좋습니다. https://www.thethingsnetwork.org/docs/lorawan/ LoRaWAN® Learn about LoRaWAN: the secure messaging protocol used by The Things Network www.thethingsnetwork.org 사물인터넷의 발전으로 초소형 통신장치 수요가 증가함에 따라, 기존에 IoT를 위하여 대표적으로 활용되던 WiFi, BLE, Zigbee와 같은 근거리 네트워크가 발전되었습니다. 하지만 장거리를 필요로 하는 서비스에는 부적합하여 저전력*장거리 통신 기술인 LP..
[딥러닝] ResNet - Residual Block 쉽게이해하기! (Pytorch 구현)
·
🐍 Python/Deep Learning
안녕하세요. Plain Network(단순히 Layer을 깊게 쌓음)에서 발생하는 Vanishing Gradient(기울기 소실), Overfitting(과적합) 등의 문제를 해결하기 위해 ReLU, Batch Nomalization 등 많은 기법이 있습니다. ILSVRC 대회에서 2015년, 처음으로 Human Recognition보다 높은 성능을 보인 것이 ResNet입니다. 그 위용은 무지막지한 논문 인용 수로 확인할 수 있습니다. 그렇기 때문에 ResNet은 딥러닝 이미지 분야에서 바이블로 통하고 있습니다. Plain Network는 단순히 Convolution 연산을 단순히 쌓는다면, ResNet은 Block단위로 Parameter을 전달하기 전에 이전의 값을 더하는 방식입니다. F(x) : w..
[딥러닝] DeepLearning CNN BottleNeck 원리(Pytorch 구현)
·
🐍 Python/Deep Learning
안녕하세요. 오늘은 Deep Learning 분야에서 CNN의 BottleNeck구조에 대해 알아보겠습니다. 대표적으로 ResNet에서 BottleNeck을 사용했습니다. ResNet에서 왼쪽은 BottleNeck 구조를 사용하지 않았고, 오른쪽은 BottleNeck 구조를 사용했습니다. BottleNeck을 설명하기 전, Convolution의 Parameters을 계산할 줄 알아야 합니다. 이 부분은 다른 글에서 자세히 설명하겠습니다. Convolution Parameters = Kernel Size x Kernel Size x Input Channel x Output Channel BottleNeck의 핵심은 1x1 Convolution입니다. ( Pointwise Convolution 이라고도 합..
[딥러닝] 선형회귀 (Linear Regression) : Pytorch 구현
·
🐍 Python/Deep Learning
선형 회귀를 Pytorch로 구현하겠습니다. 이 글을 보시기 전에 아래 링크를 보시는 것을 추천드립니다. https://coding-yoon.tistory.com/50?category=825914 [딥러닝] 선형 회귀(Linear Regression) 지도 학습에는 대표적으로 세가지가 있습니다. 1. 선형 회귀 ( Linear Regression ) : 3월 : 60점, 6월 : 70점, 9월 : 80점이라면, 12월은 몇 점일까? 2. 이진 분류 ( Binary Classification ) : [0, 1], [True, F.. coding-yoon.tistory.com 최대한 선형 회귀식처럼 보기 쉽게끔 코딩하였습니다. # 선형 회귀 import torch import torch.nn as nn # ..
18진수
'구현' 태그의 글 목록