Smart IoT 설계 시스템 Lecture 07. 센서와 액츄에이터 실습.

Slides:



Advertisements
Similar presentations
제어기 활용 -GPIO Ch.05 RaspberryPi Sejin Oh. Raspberry Pi 제어기 활용 -GPIO  GPIO (General Purpose Input Output)  마이크로프로세서가 주변장치와 통신하기 위해 범용으로 사용되는 입출력 포트 
Advertisements

마이크로 시스템 1 선 덕 한선 덕 한 lecture7. LCD 구동. 마이크로 시스템 2 강의 목표 현재 디스플레이 장치로써 가장 널리 사용되어지는 LCD 을 프로세서 에서 어떻게 제어 하는지 알아본다.
1 모터 (Motors) 김원웅. 2 모터 (Motor) □ 모터 응용분야 □ Desktop PC 의 DVD ROM, HDD □ 러닝머신, 전동드릴, 선풍기 등 전력에 의해서 뭔가가 움직이 는 분야에는 거의 모두 모터가 사용 □ 우리가 배울 모터의.
Smart IoT 설계 시스템 Lecture 09. Smart IoT 시스템 소개. Smart IoT 설계 시스템 2.
Smart IoT 설계 시스템 Lecture 14. 화재경보 시스템 1.
Smart IoT 설계 시스템 Lecture 09. 스마트 팜 실습 1.
플로우센서 소개 For the Custom Convenience and Satisfaction
마이크로프로세서설계 - 3 ATmega128 마이크로컨트롤러의 특징 LED 실습 1
SoC 로봇워 참가자 교육.
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이 gpio.
임베디드 프로그래밍 Lecture #
아두이노 활용 SW코딩 시작하기 아두이노 소개 개발툴 다운로드 USB 드라이버 설치하기 개발툴 실행하기
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
2015년 2학기 PULSE 4 전자물리실험 09 - Servo Motor 제어 - DSU 메카트로닉스 융합공학부 -
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이와 node.js.
아두이노 프로그래밍 1일차 – Part2 아두이노 사양 강사: 김영준 목원대학교 겸임교수.
BIG Data 컴퓨터응용과학부 박진완.
Programming을 이용한 ECG증폭기 설계
UV FLAME DETECTOR 동 인 전 자 MODEL NO UVRS-0001 MODEL NO UVDU-0002
개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티
Tizen RT on Quail Board 2017년 3월 2일 삼성전자 소프트웨어센터.
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
10장 주변장치 (PIO) Slide 1 (of 28).
DC Motor Control.
Arduino와 Led를 이용하여 Wearable Display 만들기
임베디드 프로그래밍 Lecture #
GPIO RaspberryPi Sejin Oh.
GPIO RaspberryPi Sejin Oh.
DSP와 TMS320F28X의 이해
멀티파이 파트별 기능소개 라즈베리파이 핀 헤더 소켓 연결(26 핀, 2.54mm) 라즈베리파이 GPIO 26핀
12. 아두이노와 센서를 이용한 제어 - 스마트 폰으로 제어하는 아두이노 -.
전원설비 포인트연결어댑터 교육자료 주식회사 필 트 론.
Arduino uno의 Hardware 구성부품의 종류와 그 용도.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express.
25장. 메모리 관리와 동적 할당.
AVR - Chapter 15 황 지 연.
종합설계 I - 반도체 회로 설계 - 충북대학교 양병도 교수.
고등용 LED를 이용한 재미있는 표현.
2-1 대기 중의 물.
사물인터넷(IoT) 융합실습을 위한 교육용 실습장비
                                  1장. 디지털 회로의 개요 디지털 회로란? 디지털 IC의 개요.
Computer System Architecture
RPi2 SPI 8x8 Dot Matrix LED
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
자동제어 개념 1 1.
8051 IO-PORT 정보통신•컴퓨터 공학부 송명규
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이와 node.js.
2015년 2학기 PULSE 4 전자물리실험 09-Servo Motor 제어 - DSU 메카트로닉스 융합공학부 -
NT융합부품연구부 / 융합부품소재연구부문
Stepper Motor 디바이스 드라이버
8. 아두이노를 이용한 아날로그 제어 - 스마트 폰으로 제어하는 아두이노 -.
4. 아두이노로 LED 제어하기 - 스마트 폰으로 제어하는 아두이노 -.
센서값 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
#1 배열 활용 #include int main(void) { int i; int grade[5]; grade[0] = 10; grade[1] = 20; grade[2] = 30; grade[3] = 40; grade[4] = 50; for(i=0;i.
-Part2- 제1장 1차원 배열이란 무엇인가.
생체계측 강의록 Medical instrucmentation#8
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
아두이노 프로그래밍 Lecture #
아날로그일까? 디지털일까? -사용자 경험 기반 디지털 기술을 활용한 반응하는 액자 만들기-
C.
어서와 C언어는 처음이지 제22장.
4 LED 출력 LED 점멸 LED 밝기 조절 RGB LED로 색상 표현하기 FND 제어 4-digit FND 제어 Dot matrix 제어 Dot matrix를 이용한 애니메이션.
Progress Seminar 양승만.
상사용 역량진단 시스템 사용안내 1. 역량진단 시스템 프로세스 2. 상사진단 - 상사진단 1차 - 상사진단 2차.
임베디드 프로그래밍 Lecture #
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
3. Arduino 실습 – 아날로그 입력(1) 아날로그 입력 – 먼지 센서 먼지 센서 개요 먼지 센서 특징 먼지 검출 센서
Presentation transcript:

Smart IoT 설계 시스템 Lecture 07. 센서와 액츄에이터 실습

목차 센서에 대해 센서 종디지털 값으로 컬리브레이션 아날로그 폴링 인터럽트 2. 센서 디지털 아날로그 컬리브레이션 3. 액츄 pwm 4. 액츄에이터Smart IoT 설계 시스템 5.

센서란 Sensor의 의미 센서란 주변의 물리 화학 생물학적 정보를 감지하여 전기적 신호로 변환하는 장치(Device) ○ 라틴어로 지각, 느낌 등의 의미 ○ 인간의 5감 기능(시각·청각·후각·미각·촉각)을 센스(SENSE)라 함. ○ 리드SW. 패턴 인식을 하는 시스템 레벨의 센서. ○ 최근에는 인텔리전트 센서로CPU 내장형. 복잡 다양성을 띠고 있다. 센서란 주변의 물리 화학 생물학적 정보를 감지하여 전기적 신호로 변환하는 장치(Device) 인간의 오감과 Sensor ○ 눈-시각: 광센서{광도전소자, 카메라 CCD, 영상(이미지)센서, 포토다이오드} ○ 귀-청각: 음향센서(마이크로폰, 압력소자) ○ 피부-촉각: 촉각센서 ○ 혀-미각: 미각센서(백금, 산화물, 반도체가스센서, 입자센서, 산화계열 선형소결반도체) ○ 코-후각: 후각센서(가스, 메탄, 바이오케미칼센서, 실리콘산티탄산염)

스마트폰 센서 센서 분야에서 200편 이상의 논문을 발표하며 ‘센서의 아버지’라고 불리는 Janusz Bryzek 교수는 향후 10년 이내에 지구상에 사용되는 센서의 개수가 1조 개를 넘게 될 것이라고 예상.(2013년 10월 스탠포드 대학 ‘Trillion Sensors Summit’). 스마트 폰에 적용된 센서들 (www.jopenbusiness.com)

센서 분류 센서의 활용분야 따른 분류 ○ 구성에 의한 분류 : 기본센서, 조립센서, 응용센서 ○ 기구에 의한 분류 : 기구형(또는구조형), 물성형, 기구, 물성혼합형 ○ 검출신호에 의한 분류 : 아날로그센서, 디지털센서, 주파수형센서, 2진형센서 ○ 감지기능에 의한 분류 : 공간량, 역학량, 열역학량, 전자기학량 공학량, 화학량, 시각, 촉각 ○ 변환방법에 의한 분류 : 역학적, 열역학적, 전기적, 자기적, 전자기적, 광학적, 전기화학적, 촉매화학적, 미생물학적, 효소화학적 ○ 재료별 : 세라믹, 반도체, 금속, 고분자, 효소, 미생물 ○ 용도별 : 계측용, 감시용, 검사용, 제어용 ○ 특징별 : 다차원센서, 다기능센서 ○ 분야별 : 산업용, 민수용, 의료용, 화학 실험용, 우주용, 군사용

센서 분류 센서의 역학량에 따른 분류 물리량과 화학량에 따른 센서의 분류 감지대상 센 서 변위 길이 차동트랜스, 스트레인게이지, 이미지센서, 콘덴서(정전형) 변위계 속도 가속도 회전형 속도계, 동전형 가속도계 회전수 진동 로터리 엔코더, 스코프, 압전형 검출기 압 력 다이어프램, 로드셀, 수정압력계 힘(토크) 저울, 천칭, 토션바(비틀림 바) 물리량과 화학량에 따른 센서의 분류 구분 감지대상 센서 주요 효과 물리센서 온도 열전대, 서미스터, 온도계 열저항, 열복사 빛 색 광전도, 광결합형, 이미지센서, 포토다이오드 광전도, 패러데이 필터 자기 홀(hall)소자, 자기저항소자 Hall, Josephoson 전류 분류기, 변류기 전류의 크기 변화 자외선, 방사선 조도계, 광량계, GM계수계   화학센서 습도 세라믹센서, 결로센서, 고분자막센서 저항, 유전율의 변화 가스 매연센서, 반도체 가스 센서, 동성가스센서 저항 변화, 기전력 변화 이온 PH전극센서, 이온선택 기전력, 저항

센서의 발전

GPIO 제어와 Wiring Pi 설치 패키지 관리 서버로부터 이용 가능한 프로그램 패키지의 목록을 최신버전으로 업데이트 $sudo apt-get update 컴퓨터에 설치된 프로그램이 업데이트 되었으면 새로운 버전으로 설치하게 해주는 명령어 $sudo apt-get upgrade 1. 소스관리툴 git 를 다운로드한다. (오픈소스 https://github.com/WiringPi/WiringPi 의 소스를 체크아웃하기 위해서) $sudo apt-get install git-core 2. “wiringPi” 프로젝트를 통째로 받아온다. $git clone git://git.drogon.net/wiringPi 3. 빌드 및 설치를 진행한다. $cd wiringPi $./build 4. 설치가 잘 되었는지 아래의 명령어로 확인해 본다. $gpio -v $gpio readall

온도 습도 센서 특징 전기적 특성 1. 모델명 : AM2302 2. 정밀도 및 해상도 : 0.1 3. 습도 측정 범위 : 0-100%RH 4. 온도 측정 범위 : -40~80℃ 5. 습도 측정 오차 : ±2%RH 6. 온도 측정 오차 : ±0.5℃ 7. 저전력소모 8. 부가회로가 불필요   - 사용 전압 : 3.3-6V DC - 싱글핀 디지털 데이터 출력 - 측정 응답 시간 : min 2초 - 측정 조건 VDD = 5V , T = 25 ℃ - Pin Connection Pin 1 – 전원 VCC 3.5~5.5V DC Pin 2 - DATA (시리얼 양방향) Pin 3 – 사용안함(No Connection) Pin 4 - GND

온도 습도 센서 소스코드 온도데이터 : get_temperature.c 파일 습도데이터 : get_humidity.c 파일 #include <wiringPi.h> ~ static int DHTPIN = 11; //GPIO Port static uint8_t sizecvt(const int read) { ~ } int read_dht22_dat() { ~ } int main (void) { DHTPIN = 11; while (read_dht22_dat() == 0) delay(500); // wait to refresh } received_temp = ret_temp ; printf("Temperature = %d\n", received_temp); return 0;

Analog to Digital – ADC 컨버터 사용 ADC 컨버터 MCP3208 사용 MCP3208 Pin Description MCP3208 Pin Map SPI 연결 회로 (CD 첨부 파일 참고)

조도(빛) 센서 Analog 출력 연결 특징 전기적 특성 1. 감도 조절 (파란색 가변저항 조정)밝기와 주 변 빛의 세기를 감지 2. 출력 : 아날로그 전압 출력, 디지털 스위치 출력 (0, 1) 3. 온도 측정 범위 : -40~80℃ 4. 습도 측정 오차 : ±2%RH 5. 온도 측정 오차 : ±0.5℃ 6. 저전력소모 7. 부가회로가 불필요 - 작동 전압 : 3.3V ~ 5V DC - 출력 : 아날로그 전압 출력, 디지털 스위치 출력 (0, 1) - lm393 칩 - 측정 조건 VDD = 5V , T = 25 ℃ - Pin Connection Pin 1 – 아날로그 출력 Pin 2 – 디지털 출력 Pin 3 - GND) Pin 4 - 전원 VCC 3.5~5.5V DC

조도(빛) 센서 Analog 실습 SPI및I2C활성화 $sudo nano /etc/modprobe.d/raspi-blacklist.conf # blacklist spi and i2c by default (many users don't need them) #blacklist spi-bcm2708 #blacklist i2c-bcm2708 blacklist snd-soc-pcm512x blacklist snd-soc-wm8804 소스코드 #include <wiringPi.h> #include <wiringPiSPI.h> #define CS_MCP3208 8 //GPIO 8 #define SPI_CHANNEL 0 int read_mcp3208_adc(unsigned char adcChannel) { ~ }   int main(void) { pinMode(CS_MCP3208, OUTPUT); adcValue_light = read_mcp3208_adc(adcChannel_light); }

조도(빛) 센서 Digital 출력 연결 가변저항을 사용하여 밝기의 기준값을 설정하여 High, Low 신호 출력을 사용한다. #include <wiringPi.h> #define LIGHTSEN_OUT 2 //gpio27 - J13 connect int main(void) { pinMode(LIGHTSEN_OUT, INPUT); if(digitalRead(LIGHTSEN_OUT) == 0) printf("light full ! \n"); if(digitalRead(LIGHTSEN_OUT) == 1) printf("dark \n"); } 컴파일 명령 $gcc –o lightdetect lightdetect.c –lwiringPi 실행명령 $sudo ./lightdetect

액츄에이터 실습 액츄에이터(actuator)란 신호처리기에 의하여 다듬어져 나온 신호에 대응하여 동작을 하는 장치 또는 수단이다. 입력된 전기적 신호에 대응하여 작동을 수행하는 작동기(作動器), 또는 명령신호에 따라서 작동하는 집행기(執行器)이다. 즉 에너지 전달매체로부터 에너지를 전달받아 기계적 운동으로 바꾸어주는 장치를 통칭하여 액츄에이터라고 한다. 모터, 로봇의 동작기관, 솔레노이드 밸브, 실린더등이 가장 대표적인 액츄에이터라고 할 수 있다. 엑츄에이터의 요구사항으로는 1)안전성 및 운전성, 2)속응성, 3)용량, 4)소형경량, 5) 유지보수 용이, 6)수명과 가격과 같은 고려요소가 적당한 수준에서 선정해야 한다.

액츄에이터 연결도

워터펌프 실습 DWP-2760 워터펌프 외관 DWP2760 전기적 사양 정격전압 DC 12V 구동전압 DC 9V ~ DC15V 전류 무부하시 280mA 이하 최대입력 >14.5 PSI Water Flow ≥400(±20%)mL/Min at 90℃ 소음 65dB 용도 커피머신용, 90℃ 뜨거운 물 사용가능 수명 정격전류에서 50초 동작, 20초 멈춤이 1Cycle - 6,000번 #include <signal.h> //Signal 사용 헤더파일 #include <stdlib.h> //exit() 사용 헤더파일 #include <wiringPi.h> #define PUMP 21 // BCM_GPIO 5 void sig_handler(int signo); // 마지막 종료 함수 int main (void) { digitalWrite (PUMP, 1) ; // On digitalWrite (PUMP, 0) ; // Off } 컴파일 $gcc –o pumpon pumpon.c -lwiringPi 실행 $sudo ./pumpon

Fan 제어실습 FAN KD1205 PFS1 KD1205PFS1 특징 컴파일 Size (㎜) 50*50*10mm 정격전압(VDC) 12 전류 (A) 0.1 기동전압(V) 10.8~13.8 속도 (RPM) 5500 풍량(㎥/min) 0.29 풍압(Pa) 36 소음(db) 28 권장사용온도(℃) 10~60 무게(g) 20 컴파일 $gcc –o fanon fanon.c –lwiringPi 실행 $sudo ./fanon