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

엔지니어링/임베디드40

728x90
반응형
[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.
[아두이노 기초교육] 7-세그먼트 제어 7-세그먼트에 대한 기초 전자회로에 대해 알아보고 제어해본다. 1. 회로도 구성 - 7세그먼트는 8개의 LED를 연결하는 것과 동일함 - 저항이 내장되어 있지 않으므로 디지털 출력 2~9번 포트를 각각의 저항(330ohm)을 통하여 7 세그먼트 핀으로 연결됨 핀 연결 방법은 아래와 같다. - a: 2번 핀(디지털 출력) - b: 3번 핀(디지털 출력) - c: 4번 핀(디지털 출력) - d: 5번 핀(디지털 출력) - e: 6번 핀(디지털 출력) - f: 7번 핀(디지털 출력) - g: 8번 핀(디지털 출력) - dp: 9번 핀(디지털 출력) 2. 회로설명 1) 7-세그먼트 - 7개의 획(dp 불포함시)으로 숫자나 문자를 나타낼 수 있는 표시장치 - 다수의 LED로 구성되어 있음 - 공통 anode 방식.. 2020. 2. 1.
[아두이노 기초교육] 피에조 스피커 제어 피에조 스피커에 대한 기초 전자회로에 대해 알아보고, Push Button 3개를 이용하여 피에조 스피커를 제어해본다. 1. 회로도 구성 - 피에조 스피커의 주파수를 제어하기 위한 Push buttion이 3개 있으며 순서대로 디지털 입력 4,3,2에 연결됨 - 피에조 스피커는 극성이 있으며 +를 디지털 출력 7번핀에 연결됨 2. 회로설명 1) 피에조 스피커 - 전기적 신호를 주면 수축 또는 확장하게 되는 피에조 효과 이용 - 판을 진동시켜 소리를 냄 - 극성있음, 다리가 긴 쪽이 + - PWM 주기를 변경하여 다양한 음을 만들 수 있음 - 아두이노에서는 tone()을 이용하여 PWM의 주기를 변경 3. 소스코드 /**************************************************.. 2020. 2. 1.