일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- sensor
- Class
- preprocessing
- Overloading
- java
- APP
- file access
- UNO
- SERIAL
- digitalRead
- flutter
- public
- compare
- Encapusulation
- wpf
- mfc
- Pointer
- atmega328
- inheritance
- aduino
- length
- Binary
- Contour
- parameter
- Unity
- memory
- Read
- Android
- Barcode
- stream
- Today
- Total
목록분류 전체보기 (287)
폴크(FOLC)
# 적외선 신호의 색상에 대한 반사/흡수 성질을 이용 > 밝은색 : 반사되는 량이 많음 > 검정색 : 흡수되는 량이 많음 - 포토트랜지스터와 적외선 LED가 같은 방향으로 배치되어 있음 - 적외선이 반사되어 트랜지스터에 입력되면 전류가 흐르게 되어 판단 가능 # 측정 범위 > 거리 감지 : 1mm ~ 8mm ( center 2.5mm ) > 구동 : 15mA ( 파장 950nm ) > 감도 : 가변 저항으로 조절 가능 > 출력 : 디지털 스위칭 출력 ( 0, 1 ) > 전원 : DC 3.3V ~ 5V > 크기 : 32mm * 14mm # 측정 방식 > 디지털 방식 : 디지털 신호 출력 제어 ( 0, 1로 표현 ) > 아날로그 방식 : 아날로그 신호 출력 제어 ( voltage 값으로 표현 ) # 연결 방..
# 기울기를 감지하면 회로에 연결된 전기를 흐르도록 하여 확인 > 전도성 구 또는 액체상태의 수은 - 정상 : 양쪽 단자가 연결되어 단자로 전기가 흐르게 되면 - 이상 : 양쪽 단자가 연결되지 못하면 전기가 흐르지 않아서 기울어졌다고 판단 # 측정 범위 > 출력 : 디지털 스위칭 0 or 1 > 감도 : 가변 저항으로 조절 가능 > 전원 : DC 3.3V ~ 5V > 크기 : 50mm * 10mm # 측정 방식 > 디지털 방식 : 디지털 신호 출력 제어 ( 0, 1로 표현 ) # 연결 방법 > 총 3개 핀이 있으며 2개는 전원부 ( VCC, GND ), 1개는 D2(디지털) > VCC-5V, GND 그리고 SIGNAL-DIGITAL PWM 쪽에 2번 # 소스 코드 #define DATAPIN D2 voi..
# 발광부에서 출력된 적외선이 물체에 반사되어 되돌아 수광부에 수신 > 발광부는 LED, 수광부는 트랜지스터 > 수광부에 적외선이 수신되면 트랜지스터가 전류가 흐를 수 있는 상태로 전환 - 수신된 적외선 량에 따라서 전류량이 달라져서 출력되는 전압값의 변화로 거리 계산 # 측정 범위 > 범위 : 20mm ~ 300mm > 각도 : 35° > 감도 : 가변 저항으로 조절 가능 > 전원 : DC 3.3V ~ 5V > 크기 : 48mm * 14mm > 무게 : 18~65g # 측정 방식 > 아날로그 방식 : 아날로그 신호 출력 제어 ( voltage 값으로 표현 ) > 디지털 방식 : 디지털 신호 출력 제어 ( 0, 1로 표현 ) # 연결 방법 > 총 4개 핀이 있으며 2개는 전원부 ( VCC, GND ), ..
# 측정 범위 > 출력 : 15mA 이상의 driving ability > 감지 : 가변 저항으로 조절 가능 > 전원 : DC 3.3V ~ 5V > 크기 : 32mm * 14mm # 측정 방식 > 아날로그 방식 : 아날로그 신호 출력 제어 ( voltage 값으로 표현 ) > 디지털 방식 : 디지털 신호 출력 제어 ( 0, 1로 표현 ) # 연결 방법 > 총 4개 핀이 있으며 2개는 전원부 ( VCC, GND ), 1개는 A0(아날로그), 1개는 2(디지털) > VCC-5V, GND 그리고 SIGNAL-ANALOG IN 쪽에 0번 # 소스 코드 #define DATAPIN A0 void setup() { pinMode(DATAPIN, INPUT); Serial.begin(9600); } void loop..
# 측정 범위 > 출력 : 15mA 이상의 driving ability > 감지 : 가변 저항으로 조절 가능 > 전원 : DC 3.3V ~ 5V > 크기 : 32mm * 14mm # 측정 방식 > 아날로그 방식 : 아날로그 신호 출력 제어 ( voltage 값으로 표현 ) > 디지털 방식 : 디지털 신호 출력 제어 ( 0, 1로 표현 ) # 연결 방법 > 총 4개 핀이 있으며 2개는 전원부 ( VCC, GND ), 1개는 A0(아날로그), 1개는 2(디지털) > VCC-5V, GND 그리고 SIGNAL-DIGITAL PWM 쪽에 2번 # 소스 코드 #define DATAPIN D2 void setup() { pinMode(DATAPIN, INPUT); Serial.begin(9600); } void lo..
# 측정 범위 > 출력 파장 : 760nm ~ 1100nm > 감지 각도 : 60° > 전원 : DC 3.3V ~ 5V > 크기 : 36mm * 15mm # 측정 방식 > 아날로그 방식 : 아날로그 신호 출력 제어 > 디지털 방식 : 디지털 신호 출력 제어 # 연결 방법 > 총 3개 핀이 있으며 2개는 전원부 ( VCC, GND ), 1개는 A0(아날로그), 1개는 D2(디지털핀) > VCC-5V, GND 그리고 SIGNAL-DIGITAL PWM 쪽에 2번 # 소스 코드 #define DATAPIN 2 // KY-026 digital interface void setup() { pinMode(DATAPIN, INPUT); Serial.begin(9600); } void loop() { int digita..
# 측정 범위 > 출력 파장 : 650nm > 출력 파워 : 5mW > 전원 : DC 5V > 전류 : 작동 온도 : -10°C ~ 40°C > 크기 : 18.5mm * 15mm # 측정 방식 > 디지털 방식 : 디지털 신호 출력 제어 # 연결 방법 > 총 3개 핀이 있으며 2개는 전원부 ( VCC, GND ), 1개는 13(디지털핀) > VCC-5V, GND 그리고 SIGNAL-DIGITAL PWM 쪽에 13번 # 소스 코드 #define DATAPIN 13 void setup() { pinMode(DATAPIN, OUTPUT); } void loop() { digitalWrite(DATAPIN, HIGH); // Turn on the laser head delay(1000); digi..
# 기본 기능 > 클래스 내부에서 호출된다. > 클래스 외부에서도 호출이 가능하다. > 함수의 이름이 곳 포인터가 된다. ( 시작 주소 ) # 함수 디폴트 파라미터 > 함수에 파라미터를 전달하는 기본값을 설정 ( Varargs, ... 등 이용) > 우선 순위 위치 순서대로만 지정할 수 있다. ( 우->좌 ) # 함수 오버로딩 ( 다형성 ) > 함수 이름은 동일하고 파라미터 개수와 리턴값이 다름 ( 시그니처 ) # 함수 오버라이딩 ( 다형성 - 상속 관련 ) > 함수 이름과 파라미터 개수와 리턴값이 같음 ( 재정의 ) > 부모의 함수와 동일한 이름을 갖는 함수이지만 내용이 다름 # 예제 소스 class TEST_Car { private String _Name; private int _Year; TEST_..
# 측정 범위 > 주파수 범위 : 100 ~ 10,000Hz > 감도 : 1KHz ( -46, 오차 범위 : 2.0 ) > 최소 감도 대 소음 비율 : 58dB > 전원 : DC 5V > 크기 : 34.5mm * 15mm # 측정 방식 > 아날로그 방식 : 소리에 따른 아날로그 값을 직접 PIN 데이터의 값을 제어 > 디지털 방식 : 가변저항을 돌려 특정 소리에 디지털 신호 출력 제어 # 연결 방법 > 총 4개 핀이 있으며 2개는 전원부 ( VCC, GND ), 1개는 A0(아날로그핀), 1개는 D0(디지털핀) > VCC-5V, GND 그리고 SIGNAL-ANALOG IN 쪽에 0번 # 소스 코드 #define DATAPIN A0 void setup() { Serial.begin(9600); pinMod..
# 스크롤 위젯 > 데이터를 순차적으로 표현 # 동작 방식 ( 총 4가지 ) > default 생성자 - child 로 List 을 호출하여 동작 - 목록 보기에 표시될 수 있는 자식에 대해 작업을 수행 - 데이터량이 작은 경우에 이용 > 소스 코드 ListView(children: [ Container(height: 50, color: Colors.amber[600], child: const Center(child: Text('Entry A')), ), Container(height: 50, color: Colors.amber[500], child: const Center(child: Text('Entry B')), ), ],) > builder 생성자 - child 를 빌드하는 IndexedWidge..
# 적외선 기술(PIR)을 이용한 센서 > 사람을 탐지 하기 위해서 많이 사용 (6~7M 까지 가능) # 측정 범위 > 인터페이스 유형 : L 단일 트리거(default), H 연속 트리거 > 출력 레벨 : High 3.3V, Low 0V > 대기 전류 : 동작 전원 : 3.6V ~ 20V > 지연 시간 : 5s ~ 200s > 차단 시간 : 2.5s > 크기 : 32mm * 24mm > 동작 온도 : -15°C ~ 70°C # 측정 방식 > 직접 PIN 데이터의 값을 제어 # 연결 방법 > 총 3개 핀이 있으며 2개는 전원부 ( VCC, GND ), 1개는 SIGNAL > VCC-5V, GND 그리고 SIGNAL-DIGITAL PWM 쪽에 2번 # 소스 코드 int sensor = 2;..
# 가스 누출 감지(가정 및 산업)에 유용 > LPG, i-부탄, 메탄, 알코올, 수소, 솜케 등을 감지 가능 # 측정 범위 > 넓은 감지 범위 > 인터페이스 유형 : 디지털 및 아날로그 > 빠른 반응과 높은 감도 ( 전위차계로 감도 조정 ) > 전원 : 5V > 크기 : 56 * 20mm > 무게 : 10g # 측정 방식 > 직접 PIN 데이터의 값을 제어 # 연결 방법 > 총 4개 핀이 있으며 2개는 전원부 ( VCC, GND ), 1개는 NC(no connection), 1개는 SIGNAL > VCC-5V, GND 그리고 SIGNAL-ANALOG IN 쪽에 0번 # 소스 코드 #define DATAPIN A0 void setup() { Serial.begin(9600); pinMode(DATAPIN..
PC 환경(Windows10, Windows10pro)에서 Arduino 개발 환경(IDE)을 구성하기 # Arduino IDE 검색한다. > Software | Arduino 선택 #. 아두이노 IDE 설치 > Windows Win 7 and newer 선택 > 다른 버전을 선택하기 위해서는 Previous Releases 에서 찾아서 선택 # 여기서는, 기존 배포된 버전을 선택하여 진행하였다. > Previous Release 1.8.18 선택 # 각 OS 에 맞는 버전을 선택한다. Windows 에서 환경을 구성하고자 Windows Installer 나 Windows ZIP file for non admin install 중에 선택 > 설치 없이 진행하고자 Windows ZIP file for no..
# 측정 범위 > 범위 거리: 2cm – 500cm ( 해상도: 0.3cm ) > 전원 공급 장치: 5V DC > 대기 전류: 유효 각도: Pulse 로 제어 - 최초 LOW 상태에서 초기화 펄스를 HIGH 상태로 2us 이상 보내고 - LOW 상태로 10us 이상 보낸 후, HIGH 상태로 ECHO back 을 기다린다. - Duration 값을 획득하면 특별한 수식에 의해 Distance 를 계산한다. # 연결 방법 > 총 4개 핀이 있으며 2개는 전원부 ( VCC, GND ), 1개는 ECHO, 1개는 TRIG > VCC-5V, GND 그리고 SIGNAL-DIGITAL PWM 쪽에 8번 ECHO, 9번 TRIG와 접점 # 소스 코드 #define TRIG 9 // 초음파 송신 핀 #define EC..
# 오픈 소스를 기반으로 한 단일 보드(마이크로컨트롤러) 관련 개발 도구 및 환경 > 처음에 AVR을 기반으로 만들어졌으며 ARM 계열의 Cortex-M0, Cortex-M3 제품도 존재 - 아트멜사의 8비트 AVR 마이크로컨트롤러와 프로그래밍 및 다른 서킷들과의 결합 - 마이크로컨트롤러에는 주로 ATmega8, ATmega168, ATmega328과 같은 megaAVR 시리즈 - 기본적으로 5V 리니어 레귤레이터와 16MHz 결정 진동자(크리스털)가 내장 - 프로그램의 업로드를 용이하게 하기 위한 부트로더가 마이크로컨트롤러에 미리 내장 > 스위치나 센서로부터 값을 받아들여 LED나 모터와 같은 외부 전자 장치들을 통제 - 모든 보드는 RS-232 직렬 커넥터를 통해 프로그램 가능 - 직렬 아두이노 보드..
# 파일 종류 > text file : 문자열의 모임으로 바로 확인 가능 ( TxT 뷰어 이용 ) > binary file : 0, 1의 이진 형식으로 바로 확인 불가능 ( 별도 뷰어 필요 ) # 파일은 stream(임시 메모리 공간)를 통해서 접근 > InputStream / PrintStream ( 파일 연동 ) > setin / setout 으로 사용자 데이터 송신, 수신 # 파일 연동 > HDD 에 저장되는 정보, 연속적인 byte 의 모임 > 메소드 이용 - canRead() : 파일을 읽을 수 있는 파일인지 확인 - canWrite() : 파일이 쓸수 있는 파일인지 확인 - exists() : 파일이 존재하는지 확인 # 예제 소스 public static main(String [] args) ..
# 측정 범위 > 온도 측정 범위 : 0-50 °C ( ±2% ) - 얼음의 녹는점을 0°C, 물의 끓는점을 100°C로 하여 그 사이를 100등분한 단위 > 습도 측정 범위 : 20-90% RH ( ±5% ) - 상대습도 RH(Relative humidity) # 측정 방식 > 온도 측정 : 물질의 저항 값이 변하는 소재의 특성을 이용하여 측정 > 습도 측정 : 두 전극 사이의 저항 변화(전도율이 달라지는 차이)를 측정 ( 습도 흡착판 이용) # 연결 방법 > 총 4개 핀이 있으며 2개는 전원부 ( VCC, GND ), 1개는 미사용, 1개는 데이터부 ( SIGNAL ) > 아날로그 형태 : VCC-5V, GND 그리고 SIGNAL-ANALOG IN 쪽에 A0 ~ A5 중에 1개와 접점 > 디지털 형태..
# 입력과 출력 > 스트림 ( stream ) : 실제 입/출력으로 데이터의 흐름 ( 운영체에와의 약속 ) - 입력 스트림 : InputStream, 출력 스트림 : OutputStream # 문자 입력 > read : 입력 스트림으로 BYTE 입력, 파일도 가능 > 더이상 스트림에 데이터가 없는 경우에는 -1 을 반환 # 문자 출력 > write : 출력 스트림으로 BYTE 출력, 파일도 가능 # 파일 연동 > RandomAccessFile 또는 File 을 이용하여 파일의 데이터 연동 가능 > 'r' : 읽기 전용, 'rw' : 읽고 쓰기 > getFilePointer() 로 현재 파일 위치를 확인 > seek() 로 파일 위치 변경 가능 # 문자열 > 연속된 문자들의 모임, 배열과 연관이 깊음 > ..
# JAVA 프로그램은 JVM(가상머신)을 통해서 실행 > JVM 은 운영체제(OS) 에게 프로그램을 수행하기 위해서 메모리 공간을 할당 받는다. > 메소드 영역 : 클래스와 변수들이 저장되는 공간 - .class 파일을 load 해서 관련 정보를 갖고 있는다. > 스택 영역 : 메소드들의 스택 프레임이 저장되는 공간 - 메소드가 호출되는 시점에 지역 변수와 매개 변수의 정보를 갖고 있는다. - 푸시로 데이터를 쌓고 팝으로 데이터를 꺼내온다. ( 후입선출 - LIFO ) > 힙 영역 : 인스턴스 변수가 저장되는 공간 ( 생성/삭제 ) - new 키워드를 이용해서 확보됨. # 메모리 할당 > User 에 의해서 힙 영역에 특정 공간을 관리하기 위한 요청이 발생 > new 명령어를 이용해서 할당 받고 del..
# Pointer 의 개념이 없다. 하지만, 주소 또는 참조의 개념은 있다. > '*' 문자를 사용하지 않음. > 람다식을 이용 # 널 ( null ) > 모든 상태의 기본값 > 아무것도 가르키지 않는 상태값 ( 값이 없는 상태 ) > 정의 되지 않은 상태 ( 초기화 되지 않은 상태 ) # 값에 의한 전달 ( call by value ) > 클래스가 아닌 자료형 > 전달하는 변수의 값을 호출되는 함수의 매개변수에 복사(copy) > 메모리 영역이 공유되지 않음. # 참조에 의한 전달 ( call by reference ) > 클래스 > 전달하는 변수를 호출되는 함수의 매개변수에 주소 복사(memory address) > 메모리 영역이 공유