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

01. ADC(Analog-to-Digital Converter)& DAC(Digital-to-Analog Converter) (1) ADC : 연속적인 아날로그 신호(전압, 전류 등)를 컴퓨터가 이해할 수 있는 이산적인 디지털 값(0과 1)로 변환하는 장치- 동작 과정 : 아날로그 입력 -> 샘플링 -> 양자화 -> 이진수(디지털 값)로 변환 (ex) 포텐션미터- ESP32의 ADC 사양항목설명해상도(Resolution)최대 12-bit까지 지원(8-bit,9-bit,10-bit지원)값 범위(Value Range)12-bit 모드 : 0 ~4095(기본) / 10-bit 모드 : 0 ~1023입력 전압 범위(Input Voltage Range)0V ~ 3.3V ( 3.3V 초과 시 ESP32가 손상될 ..

01. 전기/전자 기본 개념 - 전압(Voltage, V) : 전자의 위치 에너지 차이로, 전류를 흐르게 하는 원동력, 단위는 볼트(V)이며 전압은 높은 곳에서 낮은 곳으로 흐름 - 전류(Current, I) : 전자의 흐름으로, 전하가 움직이는 속도를 의미함. 단위로는 암페어(A)이며 전압이 높다고 전류가 많아지는 것이 아니며 저항에 따라 다름 - 저항(Resistance, R) : 전류의 흐름을 방해하는 정도로, 단위는 옴(Ω)이며, 너무 높은 전압이 걸렸을 때 타버리는 LED와 같은 모듈을 위해 저항을 연결해서 전류를 제한하는 방식으로 사용됨 - 옴의 법칙(Ohm's Law) : 전압(𝑉) = 전류(𝐼) × 저항(𝑅) - 전력(Power, P) : 전류가 실제로 사용하는 에너지로, 단위는 와트..

01. 아두이노 실습 도구 - 아두이노 보드 : 프로젝트의 핵심으로 코드를 업로드하거나 센서나 모터를 제어하는 역할 (ex) Arduino Uno, ESP32- USB 케이블 : PC와 아두이노를 연결하는 역할로, 사용하는 아두이노 보드 종류에 따라 사용하는 케이블의 종류도 다름- 브레드보드(Breadboard) : 부품을 연결하고 회로를 쉽게 테스트할 수 있게 도와주는 보드로, 납땜 없이 회로를 구성할 수 있음 -> 전원레일(수직으로 +,-가 있는 두 줄)과 회로 구성 공간이 두 쌍 있는 큰 브래드보드∙ VCC(Voltage Common Collector, +) : 전압이 공금되는 (+)극, LED의 긴다리(양극,+)는 VCC에 연결해야 작동함∙ GND(Ground, -) : 전기가 빠져나가는 (-..

01. 아두이노(Arduino)와 ESP32 - 아두이노 :오픈소스 마이크로컨트롤러 플랫폼으로, 쉽게 하드웨어를 제어하고 프로그래밍할 수 있도록 만들어진 개발보드- ESP32 : Wi-Fi&Bluetooth 기능이 내장된 마이크로컨트롤러로, IoT 프로젝트에서 많이 사용되는 개발보드 02. 아두이노 IDEvoid setup() { // Put your setup code here, to run once}void loop() { // Put your main code here, to run repeatedly}- 아두이노 IDE에서 새 스케치를 열면 기본 코드 :∙ void setup() : 한번만 실행되는 설정 코드를 작성하는 부분으로, 핀 모드나 시리얼 통신 시작 등의 코드가 작성됨∙ void lo..

01. 템플릿(template) : 포괄적 함수(generic function)template T Max(T x, T y) { return x>y?x:y;} //typename을 사용해도 됨- 인자(매개변수)를 통한 다형성을 제공하며, 코드의 변화없이 형만 다른 함수가 필요한 경우에 사용하는 것이 좋음 -> 게빌지기 민들어야하는 코드를 컴파일러가 대신 만들기 때문에 템플릿을 사용하더라도 코드는 줄어들지 않음-> class 위치에 typename도 사용할 수 있는데 함수 템플릿에서는 typename을 더 선호하고 클래스 템플릿에서는 class를 더 선호- 참조자(reference) : 기존 변수에 대한 별명으로, 참조자를 통해 원래 변수를 직접 수정할 수 있음(원래 변수를 통해 참조자도 수정가능)#inc..

01. 오버라이딩(Overriding) : 가상함수(Virtual function)- 가상함수 : 부모 클래스 내에서 정의된 멤버함수를 자식 클래스에서 재정의하고자 할 때 사용, 기존의 클래스를 고치느니 상속을 받은 후, 가상함수를 이용하여 기존의 함수를 고쳐서 사용하는 방식을 채택 -> 상속 받은 함수(부모)를 실행하지 않고 자신(자식)의 함수를 실행- 오버라이딩 : 가상함수의 구현하는 방식으로, 같은 이름의 함수를 자식 클래스에서 재정의하여 사용함, 함수의 선언 부분이 전부 같아야함//overriding, 가상함수class A{public:virtual int SS(int i) {return(i*2);}};class B: public A{public:int SS(int i) {return(i*3);}..

01. 상속(Inheritance)//class 파생클래스명 : 상속접근제어 기본클래스명 {};class Dog : public Animal {};- 기본 클래스 : 다른 언어에서는 부모 클래스로 주로 불리며, 상속을 하는 클래스- 파생 클래스 : 다른 언어에서는 자식 클래스로 주로 불리며, 상속을 받는 클래- 상속 접근 제어자 : 접근 제어자인 public, protected, private를 기본 클래스명 앞에 작성하여 기본 클래스에서 상속받은 멤버들이 파생 클래스 안에서 어떤 접근 속성을 갖게할지 제어함 -> 기본 클래스의 속성이 private일 경우에는 어떤 방식으로도 상속받을 수 없음 ! - 인클래스 멤버 초기화(In-class member initializers) : 클래스 내부에서 초기값을 ..

01. 함수중첩(function overloading)- 함수 오버로딩 : 다형성을 제공하는 C++에서는 하나의 함수 이름을 중첩해서 사용 -> 하나의 함수명으로 여러 개의 유사 목적으로 사용-> 매개변수의 자료형이나 개수가 다른경우에 사용하는데 만약에 리턴값자료형만 다른경우에는 중첩이 불가능함int add(int i, int j) return (i+j);float add(float i, float j) return (i+j);double add(double i, double j) return (i+j);//double add(int i, int j) return (i+j); 반환값자료형만 다른 경우에는 오류남- 컴파일러가 자동으로 매개변수의 입력 자료형에 따라 해당하는 함수를 연결해줌class Dog{..