목록Programming Language/C&C++ (18)
091

*현재 이 코드에서는 직접적으로 DS3231 코드를 사용하지 않고 NTP 서버로부터 현재시간을 가져오는 구조*01. DS3231(Dallas Semicondutor -> 반도체 회사이름, 현재는 Maxim Integrated에 인수) & NTP - DS3231 : 실시간 시계(RTC, Real Time Clock) 모듈 중 하나로, 날짜와 시간을 전원이 꺼져도 유지, 정밀도가 높다보니 일반 RTC보다 정확함 -> 통신방식이 I2C이기 때문에 SDA(GPIO 21)와 SCL(GPIO 22)를 각각 연결해줘야함 - NTP(Network Time Protocol) : 인터넷이나 네트워크 상에서 장비들의 시간을 동기화하는 표준 프로토콜로, 마이크로컨트롤러나 컴퓨터는 전원이 꺼지면 시간이 초기화 되기 때문에 현재..

01. DHT(Digital Humidity and Temperature sensor) - DHT: 디지털 방식으로 온도와 습도를 측정해서 마이크로컨트롤러에게 보내주는 센서 (ex) DHT11, DHT22, DHT21-> 구조의 경우 VCC, GND, DATA(디지털 핀에 연결함)로 구성되어있고, 내부적으로 측정 후 디지털 신호 한 줄로 데이터 전송 02.ESP32와 DHT11 연결해서 온도에 따라 LED ON/OFF 하기 - 하드웨어 : DATA에 코드에서 지정한 GPIO핀을 연결해주면 됨- 소프트웨어 : • main.ino#include "DHTControl.h"#define LED_PIN 4float temp = 0.0, humi = 0.0;void setup(){ Serial.begin(11..

01. SPI(Serial Peripheral Interface) & RFID(Radio Frequency Identification) - SPI란 마이크로컨트롤러와 센서, 디스플레이, RFID 사이에서 빠르고 간단하게 데이터를 주고 받기 위한 통신 규격(프로토콜)으로, 선이 많이 필요한 특징을 가지고 있습니다. 클럭 기반 동기식이며, 마스터가 모든 것을 주도합니다.• 마스터-슬레이브 : 마스터란 통신을 제어하는 주인 장치를 의미하며, ESP32나 아두이노가 이 역할을 합니다. 클럭을 생성하고 어떤 슬레이브와 통신할지 선택합니다. 슬레이브란 명령을 기다리고 응답하는 장치로 센서, 디스플레이, RFID 등이 이 역할을 합니다.• SPI의 기본 핀은 MOSI(Master Out Slave In, 마스터가 보..

01. RTOS(Real-Time Operating System) - RTOS : 실시간 운영체제로, 여러 개의 작업을 스케쥴링을 통해 동시에 실행되도록 관리해줌. loop() 내부에서 너무 다양한 기능을 구현하다보면 버벅이거나 응답이 느려지므로 RTOS를 이용하여 여러 작업을 동시에 처리하는 시스템으로 만들어줌-> ESP32에는 FreeRTOS가 기본적으로 내장되어있고 Task를 적절히 Core 0 또는 Core 1에 배치해줌 - ESP32의 듀얼 코어 구조 : ESP32에는 Core 0과 Core 1로 두개의 코어가 있음. 코어는 명령을 실제로 처리하는 CPU의 뇌처럼 생각하면 편함 -> Core 0은 시스템 전용으로 WiFi, 블루투스, 백그라운드 OS 작업을 하고, Core 1은 사용자 전용으로,..

01. 핀 3개짜리 토글 스위치(Switch) - SPDT(Single Pole Double Throw) : 3핀 스위치는 전자 회로에서 흔히 사용되는 스위치로, 하나의 입력(Common, 폴)과 두 개의 출력(Throw, 던)을 제공 -> 양쪽 출력 단자는 전기적으로 동등한 위치라서 VCC와 GND를 양쪽에 왼쪽/오른쪽 구분 없이 연결해주면 됨 02. 3가지 작업(LCD,Switch,UART) 유연하게 처리하기- 하드웨어 :- LCD : 빨간색(VCC)/검정색(GND)/노란색[SCL(Serial Clock Line),GPIO22] -> 클럭 신호(타이밍을 전송)/ 하얀색(SDA(Serial Data Line), GPIO21) -> 데이터 전송(내용) +) 비공식적 축약이라서 SDL이 아니라 SDA가 맞..

01. EEPROM(Electrically Erasable Prohrammable Read-Only Memory) - EEPROM : 저장을 꺼도 데이터가 유지되는 비휘발성 메모리먀, 비밀번호, 설정값, 마지막 상태 저장 등에 사용됨-> 전기적으로 데이터를 읽고, 지우고, 다시 쓸 수 있으며, Flash와 유사함, 사용자가 정하는 만큼의 용량을 사용함 Q. EEPROM과 Flash는 무슨 차이가 있나요?A. EEPROM과 Flash는 둘 다 비활성 메모리지만, 구조와 쓰임새의 차이가 있습니다. Flash는 플래시 기반으로 블록 단위로 지우고 쓰며 속도가 상대적으로 빠르지만, EEPROM은 바이트 단위로 읽고 쓰기가 가능하며 느립니다. 그러므로 Flash는 펌웨어나 파일 시스템(SPIFFS, LittleF..

마이크로컨트롤러와 주변 장치를 연결하는 대표적인 통신 프로토콜에는 UART, I2C, SPI 등이 있음, 저번 글에서는 URAT에 관한 내용을 다뤘고 이번 글에서는 I2C 프로토콜을 이용하여 LCD에 출력하는 코드에 대해 설명할 예정 ! 01. I2C(Inter-Intergrated Circuit) & LCD(Liqiuid Crystal Display) (1) I2C : 두 개의 선(SDA, SCL)만으로 여러 개의 장치를 연결할 수 있는 직렬 통신 프로토콜로, SDA와 SCL은 각각 데이터 전송, 클록 신호 전송의 기능의 역할을 함, ESP32에서 Wire 라이브러리를 사용하여 쉽게 구현 가능 (2) LCD : 액정 디스플레이로, 전로 장치에서 글자, 숫자, 심볼등을 표시하는 데 사용됨. 1602 L..

01. UART(Universal Asynchronous Receiver-Transmitter) - UART : 바동기 직렬 통신 방식으로, 두 장치 간 데이터를 TX(송신)과 RX(수신) 라인을 통해 전송하는 방식(프로토콜)* 펄스(Pulse) : 짧은 시간 동안 발생하는 전압 또는 전류의 순간적인 변화* 클럭 신호(Clock Signal) : 일정한 주기로 HIGH와 LOW가 반복되는 신호로, 동기화된 데이터 전송을 제어하는 역할 - ESP32에 있는 UART 포트UART 포트TX 핀RX 핀주요 용도UART0GPIO1GPIO3기본 Serial(디버깅용)UART1GPIO10GPIO9추가 시리얼 통신UART2GPIO17GPIO16보통 센서/모듈 연결- 이전 글에서 사용했던 Serial 클래스의 메소드들은..