본문 바로가기
  • 경제적 자유를 얻는 그날까지
728x90
반응형

엔지니어링/임베디드42

728x90
반응형
IMU MEMS 센서 MPU6050 살펴보기 2 - 가속도 센서 지난 번에 MPU6050의 자이로센서에 대해 살펴보고 노이즈 오차를 측정해보았다. 오늘은 MPU6050의 가속도 센서를 살펴보자. IMU MEMS 자이로 센서, 가속도 센서의 특징 및 각도 계산에 대해서는 아래 블로그 참고 https://swiftcam.tistory.com/95 IMU MEMS 센서(Gyroscope + Accelerometer) MEMS 란? MEMS(Micro Electro Mechanical Systems) 라고 한다. 센서의 기술이 발달함에 따라 기계식 센서를 실리콘다이와 같은 반도체 안에 구현한 초소형 센서들을 말한다. MEMS 중 주변에서 쉽게 사용할 수 있는.. swiftcam.tistory.com MPU6050의 자이로 센서 특징 살펴보기는 아래 블로그 참고 https:/.. 2020. 3. 22.
[STM32] printf 함수의 수행시간 측정 지난번에 SysTick을 사용하여 usDelay를 구현해보았다. 관련 내용은 아래 포스트를 참고하면 된다. https://swiftcam.tistory.com/145?category=783715 [STM32] sysTick 을 이용한 usDelay 함수 만들기 STM32CubeIDE에서는 기본적으로 1ms단위로 입력이 가능한 msDelay를 제공한다. 그러나 가끔 시간을 측정하거나 1ms보다 작은 delay를 사용하고자 한다면 msDelay를 사용할 수 없다. us 단위의 delay를 만드는 방법.. swiftcam.tistory.com 오늘은 UART로 printf를 출력할 경우 수행시간을 측정하고 usDelay를 이용하여 수행시간을 단축한 결과와 비교하고자 한다. 1. printf의 함수의 수행시간 .. 2020. 3. 18.
[STM32] sysTick 을 이용한 usDelay 함수 만들기 STM32CubeIDE에서는 기본적으로 1ms단위로 입력이 가능한 msDelay를 제공한다. 그러나 가끔 시간을 측정하거나 1ms보다 작은 delay를 사용하고자 한다면 msDelay를 사용할 수 없다. us 단위의 delay를 만드는 방법은 타이머 소스를 사용하거나 system clock을 사용하거나 여러가지 방법이 있지만 오늘은 sysTick을 사용하여 usDelay함수를 구현해보고자 한다. 1. SysTick sysTick는 Cortex-M 코어에만 지원하는 24bit 타이머이다. Tick 타이머에 적합하도록 설계되어 있는 간단한 타이머이다. sysTick은 시스템 클럭를 그대로 사용하거나 8분주한 클럭을 소스로 사용할 수 있다. 타이머의 동작은 간단하다. Reload Register를 이용하여 타.. 2020. 3. 9.
[STM32] UART로 실수형(float) 출력하기 지난 포스트에서 printf 함수를 호출하여 UART 데이터를 터미널로 출력해보았다. https://swiftcam.tistory.com/143 [STM32] printf를 시리얼로 출력하기 printf 함수는 펌웨어 개발단계에서 디버깅을 위해 가장 많이 사용하는 방법중 하나이다. 보통 visual studio나 PC 기반의 IDE는 printf를 통하여 툴에서 화면으로 출력되도록 지정되어 있다. 그러나 STM32와 같은.. swiftcam.tistory.com 한가지 더 확인해보기 위해 아래 코드를 실행해본다. 아래 코드에는 문자열과 int형 변수, float형 변수값을 printf로 출력하도록 하였다. 터미널로 출력된 결과를 보면 문자열과 int형 변수들은 출력이 되었지만, float형 변수는 출력되.. 2020. 3. 6.
[STM32] printf를 시리얼로 출력하기 printf 함수는 펌웨어 개발단계에서 디버깅을 위해 가장 많이 사용하는 방법중 하나이다. 보통 visual studio나 PC 기반의 IDE는 printf를 통하여 툴에서 화면으로 출력되도록 지정되어 있다. 그러나 STM32와 같은 임베디드 보드의 경우에는 printf를 출력할 대상을 지정해주어야 한다. STM는 UART를 기본적으로 가지고 있기 때문에 UART를 이용하여 printf를 출력할 수 있다. 오늘은 UART를 이용하여 printf를 터미널 화면으로 출력하는 방법을 소개한다. UART를 이용하여 printf를 출력하기 위해서는 먼저 UART 사용할 수 있도록 드라이버가 설정되어 있어야 한다. STM32CubeIDE에서 UART를 설정하는 방법에 대해서는 아래를 참고하면 된다. https://.. 2020. 3. 6.
[아두이노 기초] 타이머 제어 아두이노 우노의 타이머의 종류와 기능에 대해 알아보고 타이머를 이용하여 지난번 제어했던 초음파 센서를 주기적으로 읽도록 변경한다. 1. 회로도 구성 초음파센서의 제어에 대한 내용은 지난번 글을 다시 한번 확인한다. https://swiftcam.tistory.com/132 불러오는 중입니다... 2. 기초개념 1) 아두이노 UNO 타이머 아두이노 UNO는 ATMege328p칩을 사용하기 때문에 3개의 타이머를 가지고 있다. 타이머 종류 해상도 라이브러리 용도 Timer 0 8bit SimpleTimer.h delay 함수 사용 Timer 1 16bit TimerOne.h Timer 2 8bit MsTimer2.h tone 함수 사용 - 타이머는 정확한 시간을 측정하거나 정확한 시간에 동작 수행을 하기 위.. 2020. 2. 18.
[아두이노 기초] 초음파 센서 초음파 센서의 기초 개념에 대해 살펴보고 초음파 센서를 이용한 거리를 측정해본다. 1. 회로도 구성 - HC-SR04 초음파 센서는 신호발생신호인 Trigger와 수신신호인 Echo를 아래와 같이 연결한다.전원은 아두이노의 5V 전원을 연결해서 사용한다. TRIG : A4 ECHO : A3 2. 기초개념 1) 초음파센서 - 초음파 센서는 초음파를 발사하고 장애물에서 반사된 신호를 수신하여 물체의 형태를 보거나 거리를 측정하는데 사용 - 초음파는 물 속에서 전달이 잘 되는 특성이 있어 잠수함이나 해상 선박에 많이 사용 - 초음파센서의 신호 Trigger: 초음파 센서에 송신의 시작을 알리는 신호, 10us 펄스폭을 가지는 신호를 초음파 모듈로 보냄 Echo: 송신 시작에서 반사후 수신된 신호까지의 시간을 .. 2020. 2. 15.
[아두이노 기초] SPI 통신 SPI 통신의 기초 개념에 대해 살펴보고 SPI 통신을 이용하요 RFID를 제어해본다 1. 회로도 구성 - 아두이노 우노에는 SPI 통신용 포트가 정해져 있으므로 RFID의 SPI 인터페이스는 아래와 같이 연결한다. 단, 아두이노 보드의 3V3 전원을 사용해야 한다. SCK : D13 MOSI : D11 MISO : D12 SDA : D10 RST : D9 2. 기초개념 1) SPI(Serial Peripheral Interface) 통신 - 클럭을 사용하여 비동기방식의 단점(Overhead, 설정 맞춤, 전송오류)을 보완함 - I2C보다 속도가 빠른 편임, 1:N 구조가 가능함 - SCK(클럭), MOSI(마스터 출력 슬레이브 입력), MISO(마스터 입력 슬레이브 출력), SS(슬레이브 선택) 2) .. 2020. 2. 12.
[아두이노 기초] 시리얼 통신 회로 디버깅 및 표준 통신으로 많이 사용하는 시리얼 통신의 기초 개념에 대해 살펴보고 시리얼 통신을 이용하여 터미널 문자 출력 및 데이터 송수신을 구현해본다. 1. 회로도 구성 - 아두이노에는 Serial-to-USB 변환 모듈이 있어 USB를 이용하여 Hardware Serial(Tx, Rx)핀을 노트북과 시리얼로 연결할 수 있다. 2. 기초개념 1) 시리얼(Serial 통신) - 보통 UART(Universial Asynchronous Receiver and Transmitter)라고 하는 통신방법이다. - '시리얼'이라는 용어는 데이터를 Serialize/Deserialize 하는 과정을 말한다(2~4개의 통신선으로 데이터 전송이 가능) - 표준 통신방법이라 세계 표준이며, 간단하게 장비간 데이터를.. 2020. 2. 11.
[아두이노 기초교육] I2C 통신을 이용한 LCD 제어 LCD 모듈에 대한 기초 전자회로와 아두이노와 주변기기의 연결방법으로 많이 사용하는 I2C(Inter Integrated Circuit) 통신에 대해 알아보고 I2C를 이용하여 LCD 모듈을 제어해본다. 1. 회로도 구성 - I2C 인터페이스가 지원되는 LCD 모듈을 사용한다. - 전원은 5V, GND를 각각 연결해주고, I2C의 SCL은 아날로그 포트 A4, SDA는 A5에 각각 연결한다. 2. 회로설명 1) LCD(Liquid Cristal Display) - 액정(Liquid Crystal)이라는 유체이면서 고체와 같은 광학적 성질을 가지는 물질 - 고체 표면에 전기적 신호를 보내어 액정이 특정방향으로 정렬되면 빛을 차단하거나 투과할 수 있음 2) 16X2 LCD 모듈 - 16개 문자를 2열로 출력.. 2020. 2. 2.