컴퓨터 계측 및 실습 디지털 입력 영남대학교 기계공학부.

Slides:



Advertisements
Similar presentations
Hamster Manual 정보통신과 이우형. 목차 세팅 햄스터 하드웨어 - Model - I/O -Sensor 센서별 예제.
Advertisements

컴퓨터 계측 및 실습 개 요 영남대학교 기계공학부. PC 의 기본장치 PC 의 작동구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
적외선으로 감지하는 추적 카메라 조원 : 최승호, 백진영, 이현지.
예비보고서1 : 8개의 푸시버튼 스위치가 있다. 이 스위치에 각각 0~7개까지의 번호를 부여하였다고 하자
실험 1 오실로스코프 목적 오실로스코프 작동원리 오실로스코프 사용법 오실로스코프 적용 R-C 회로 주파수 특성 측정.
                                  9장 컴퓨터 기반 데이터 수집의 기초.
임피던스(Impedance) 측정 일반물리 B실험실 일반물리실험 (General Physics Experiment)
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
자바실험실 이동준 우리 곁으로 다가온 사물 컴퓨팅 자바실험실 이동준.
컴퓨터 계측 및 실습 A/D-converter
                                  8장 A/D 변환기 A/D Converter? A/D Converter 원리 Bit 수와 최대범위 및 해상도와의 관계.
아날로그 입력과 출력.
DC Motor Control Robotics_LAB 유 홍 선.
Pspice를 이용한 회로설계 기초이론 및 실습 4
장 비 사 양 서 브랜드 KEVIC 모 델 HB-1012 품 명 SPEAKER 제품특징 제품사양
Multiplexer 설계.
실험 8. 연산증폭기 특성 목적 연산증폭기의 개관, 특성 및 사용법 이해 입력저항, 개루프 이득, 출력저항, 슬루레이트 등
컴퓨터 계측 및 실습 D/A-converter
컴퓨터 계측 및 제어 영남대학교 기계공학부.
실험 3 - 비선형 연산 증폭기 회로와 능동 필터 전자전기컴퓨터공학부 방 기 영.
컴퓨터 계측 및 실습 A/D-converter
컴퓨터 계측 및 실습 D/A Converter DC 모터 구동
센서 11. 기체 압력 센서 안동대학교 물리학과 윤석수.
실험1. 연산 증폭기 특성 전자전기컴퓨터공학부 방기영.
반도체의 어제와 오늘 물리현상의 원리 12조.
컴퓨터 계측 및 실습 D/A-converter
제 10 장 다이오드(Diodes) 10.1 다이오드의 선형 모델 10.2 전원장치 10.3 기타 다이오드
4.1 함수(신호)발생기로 클럭펄스 만들기 ② ① - 신호발생기의 출력을 오실로스코프로 보면서 1 Hz 클럭펄스를 만든다.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
To-do list 강의 목차 강의할 내용 이론/실습 시간 1. 센서 일반 이론 온도 센서 - 서미스터 온도 센서 - 열전대
컴퓨터 응용과 3학년 1반 조장 김영조 조원 구본건 , 임선택
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
“DC POWER SUPPLY의 소개”.
DK-128 ADC 실습 아이티즌 기술연구소
BUCK 컨버터 실험 실험 준비 실험 진행 및 결과 첨부. SCR 게이트 펄스 만들기 목 차
2007 1학기 11 프로젝트 기초 실습.
상관함수 correlation function
리니어 엔코더 제작결과 보고서 조은상.
컴퓨터 계측 및 실습 로터리 엔코더 영남대학교 기계공학부.
11장. 1차원 배열.
임피던스 측정 B실험실 일반물리실험 (General Physics Experiment).
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
센서 12. 자기장 센서 안동대학교 물리학과 윤석수.
컴퓨터 계측 및 실습 A/D-converter 하중센서
프로그래밍 개요
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
Infusion pump (의약품 자동주입기)
LSIF3A SERIAL 전송을 하기위한 장치.
                                  11장 컴퓨터 기반 데이터 수집.
논리회로 설계 및 실험 5주차.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
PSD센서 명령어 이해하기 목차 재료준비 및 브레드 보드 배선 구성하기 PSD센서 명령어 이해 및 실습 응용 작품 만들기.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
컴퓨터 계측 및 실습 디지털 입력 영남대학교 기계공학부.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
논리회로 설계 및 실험 4주차.
PMC-6208 Easy Manual 작성일자 : 2015년 02월 17일 INTER-M C/S팀 김성배
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
OP-AMP를 이용한 함수발생기 제작 안정훈 박선진 변규현
엔코더 프로그램 설명 // 쓰레드를 사용하기 때문에 변수와 핸들을 전역변수로 지정 HANDLE hDevice;
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수
컴퓨터는 어떻게 덧셈, 뺄셈을 할까? 2011년 10월 5일 정동욱.
Progress Seminar 양승만.
                                  6장 엔코드 디코드 회로 10진수와 2진수의 변환 및 표시 4 7 A B C D BCD 변환.
Pointers summary.
디 코 더 n비트의 2진 코드를 입력으로 받아들여 최대 2n개의 서로 다른 정보로 바꿔 주는 조합 회로
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

컴퓨터 계측 및 실습 디지털 입력 영남대학교 기계공학부

디지털 입력이란? (1) 전등이 켜져 있는 경우 전등이 꺼져 있는 경우 전압 상태 Digit 전등이 켜져 있는 경우 5V High(H) 1 전등이 꺼져 있는 경우 0V Low(L) 이 상태로 컴퓨터는 전등의 점등 상태를 알 수있다.

디지털 입력이란? (2) 컴퓨터에서는 여러 개의 입력을 동시에 받아들여서 여러가지의 장치 혹은 센서 등의 상태를 파악할 수 있다. 경우에 따라서는 bit의 H, L 를 연속적으로 읽어서펄스의 수와 속도를 파악할 수도 있다. 예를 들면 모터의 속도를 이와 같이 측정한다.

기본 D/I 연결 방법 D/I D I/O Terminal block connector DR8330 DR1010 BASE+4 Get_DI 라는 함수에서 알아서 각 bit의 주소를 계산하므로 신경 쓸 필요는 없다. DR1010

근접센서 (디지털 출력을 내는 소자) 원리 종류 고주파형 교류형 정전용량형 교과서 pp.262 참조

근접센서 선정시 유의점

광전 스위치 (디지털 출력을 내는 소자) 원리 종류 (검출형태에 따른 분류) 고온금속 투과형 직접반사형 거울반사형 복사량 검출형

광전 스위치 (2) 종류 (광원의 종류에 따른 분류) 1. 백열전구형 (가시광) : 저가격 종류 (광원의 종류에 따른 분류) 1. 백열전구형 (가시광) : 저가격 2. LED형 (가시광, 근적외광) : 초소형, 소정력 가강 이상적인 광원 3. 형광등형 (가시광) : 이미지 센서 4. 자외광 : 이물질 검출 5. 가스 레이저형 (가시광) : 바코드 리더 6. 반도체 레이저형(근적외광) : 강력한 투과력, 철장설비등 종류 (광원의 변조에 따른 분류) 1. 전기적 펄스 변조형 2. 기계적 회전 변조형 3. 다중 스캐닝형

디지털 스위치 (디지털 출력을 내는 소자) +, - 단자를 한 번 누를 때마다 내부에서 원리 +, - 단자를 한 번 누를 때마다 내부에서 카운트하여 BCD (Binary-Coded Decimal) 코드로 내보내는 소자 + - Vcc GND 2 1 3

로터리 엔코더 (디지털 출력을 내는 소자) 원리 회전하면서 일정 각도마다 하나의 펄스를 내보내는 장치 (단위: pulse/rev)

로터리 엔코더의 응용

Digital Input 구동 프로그램 OnPhotoEnd OnEncoderOn Cstring OnPhotoStart m_photo OnPhotoStart OnEncoderOff int m_digit int m_encoder OnDigitalStart OnDigitalEnd

기본함수 (초기화) InitDevice ( Baseaddress , cardType) Baseaddress : address를 선정. cardType : SINGLE / DIFFER 선정. DR_InitDevice (second_IRQ , second_DMA) DR_8330을 사용하기 위한 초기화 일반적으로 DR_InitDevice ( -1 , -1)을 사용

기본함수 (입력 읽기) int GET_DI ( int ch) DR_1010 int DR_GetDI ( int ch) DR_8330 지정된 디지털 입력 채널의 상태를 읽음. => ch : 입력 채널 번호 => Return : 지정된 채널의 상태 0 : Off 1 : On

실험 1 광전 스위치 실 험 목 적 이 실험은 D/I의 실제 응용 예로서, 광전 스위치의 상태를 PC로 읽어 들이는 실험입니다.

회 로 도

프로그램 설명(DR_1010) void CComPractDlg::OnPhotoStart() { InitDevice ( 0x220 , DIFFER) ; SetTimer(0 , 100 , NULL); } void CComPractDlg::OnPhotoEnd() KillTimer(0); (DR8330 의 경우) DR_InitDevice (-1 ,-1) ; void CComPractDlg::OnTimer(UINT…) { int i; i=GET_DI(0); if(i) m_photo=“On”; else m_photo=“Off”; UpdateData(FALSE); Cdialog::OnTimer(nIDEvent); } i=DR_GetDI(0);

실험 2 디지털 스위치 실 험 목 적 이 실험은 D/I의 실제 응용 예로서, 디지털 스위치의 상태를 PC로 읽어 들이는 실험입니다.

회 로 도

프로그램 설명(DR_1010) void CComPractDlg::OnDigitalStart() { InitDevice ( 0x220 , DIFFER) ; SetTimer(0 , 100 , NULL); } void CComPractDlg::OnDigitalEnd() KillTimer(0); DR_InitDevice (-1 ,-1) ; void CComPractDlg::OnTimer(UINT…) { int i[4]; for(int j=0;j<4;j++) i[j]=GET_DI(j); m_digit=pow(2,3)*i[3]+ pow(2,2)*i[2]+2*i[1]+i[0]; UpdateData(FALSE); Cdialog::OnTimer(nIDEvent); } i[j]=DR_GetDI(j);

실험 3 (엔 코 더) 실 험 목 적 이 실험은 D/I의 실제 응용 예로서, Encoder 출력 펄스를 PC로 입력(D/I)받아서 펄스의 수를 세는 실험입니다.

회 로 도

프로그램 설명(DR_1010) void CComPractDlg::OnEncoderOn() { InitDevice ( 0x220 , DIFFER) ; SetTimer(0 , 100 , NULL); } void CComPractDlg::OnEncoderOff() KillTimer(0); void CComPractDlg ::OnTimer(UINT…) { int x; x=GET_DI(0); if(!x) while(!GET_DI(0)); if(GET_DI(1)) m_encoder --; else m_encoder++; } UpdateData(FALSE); Cdialog::OnTimer(nIDEvent); DR_GetDI(0); DR_InitDevice (-1 ,-1) ; DR_GetDI(1);