UNIT 18 AD Converter Test 로봇 SW 교육원 조용수.

Slides:



Advertisements
Similar presentations
ARM core UNIT 03 로봇 SW 교육원 조용수. 학습 목표 PIC, AVR, 8051 ARM 이란 ? ARM 특징 ARM and Thumb ARM Cortex-M0 Interrupt Vector 2.
Advertisements

1 2011` ( 금 ) 신성장동력 인력양성 정책방향. ◎ 3 대 분야 17 개 신성장동력 인력 중점 양성 -> 『신성장동력 인력양성 추진계획』 수립 (‘09.5 월 ) 3 대 분야 17 개 신성장동력 녹색기술 ①신재생에너지 ②탄소저감에너지 ③고도 물처리 ④.
ZX Smart Sensor 매뉴얼 韓國OMRON(株) 기술영업부 ZX-LDA11 (앰프) ZX-LD40 (헤더)
이탈리아 피자스파게티올리브등.
SoC 로봇워 참가자 교육.
공교육 정상화 및 선행학습 금지 학부모 연수 부천송일초등학교.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
Copyright SangSangDom, All Rights Reserved.
ROBOTICS LAB. DSP TMS320F2812 ROBOTICS LAB.
DISPLAY Block diagram BASE BOARD CPU BOARD DDR-3 1GB (256MB X 4) CPU
AVR 실습.
4. ADC 충북인력개발원 전자과 공학박사 강원찬.
임베디드 프로그래밍 Lecture #
PNP-804 사용설명서 및 사양서 삼성피엔피시스템 서울시 구로구 구로동 1262번지 B32,33호
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
제 2 장 물리량 센서.
Switched – Mode Power Supply
ATMega128 I/O Ports KyungHee Univ..
Smart IoT 설계 시스템 Lecture 07. 센서와 액츄에이터 실습.
2015년 2학기 PULSE 4 전자물리실험 09 - Servo Motor 제어 - DSU 메카트로닉스 융합공학부 -
  사 용  설 명 서    (항온항습기) Ver. 09
마이크로프로세서(Microprocessor,µP)
USER’S MANUAL 모델명: CCR-201 코드시스템(주)
2D 게임프로그래밍 프로젝트 2차 발표 유제원.
요한계시록 진행과정 장 차 될 일 천년왕국(20:4-6)/흰보좌(20:11-15) 20
제6장 FUSING.
UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수.
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
생체계측과제#12 8조 1등 조진호 2등 차송희 3등 조은진
10장 주변장치 (PIO) Slide 1 (of 28).
10장 예외 처리 프로그래밍 언어론 10.6 Pascal과 C의 에러 처리 10.1 설계 주제 10.2 PL/I의 예외 처리
DC Motor Control.
RnA DISPLAY 구동 Clcd 구동 Made by Bonobonobono.
 midi LOGGER GL220   신제품 소개 Dec, 2011.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 14. 포인터와 함수에 대한 이해.
CONTROLLER(RTC1CH90) 설명서
CONTROLLER(RTC4CH70) 설명서
12. 아두이노와 센서를 이용한 제어 - 스마트 폰으로 제어하는 아두이노 -.
시리얼 통신 (Rs232를 통한 PLD와 컴퓨터의 직렬통신).
CONTROLLER(RTC2CH30) 설명서
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
AVR - Chapter 6 황 지 연.
MEDICAL INSTRUMENTATION I
제1강 기초 전기.
DK-128 ADC 실습 아이티즌 기술연구소
ATmega128의 구조 및 TOOL의 이해 Robotics_LAB 발표자 : 유 홍 선.
AVR - Chapter 12 황 지 연.
트랜잭션(Transaction) I DBMS는 다수 사용자(Multi User) 용 대표적인 DB 응용
컴퓨터 계측 및 실습 A/D-converter 하중센서
퀵 가이드 Quick Guide 차량용 블랙박스
타이머 8051 타이머 타이머 설정 및 모드
TinyOS Tutorial Network lab. 김인태
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
ETACS.
고구려,백제,신라의 건국과 발전 Start!
8051 IO-PORT 정보통신•컴퓨터 공학부 송명규
제12주제 갈보리언덕에서 누가복음 23:33-49.
Arduino를 활용한 IoT.
이행점검/현장점검관리.
Operating System Multiple Access Chatting Program using Multithread
발표: G2 박진수 사도요한 준비: G2 박진수 사도요한 T3 김택준 미카엘
Introduction to Lab. Instruments
耽羅國 建國神話 허남춘(제주대 국문학과 교수)
차량차단기 설치 설명서
수돗물 캠페인 AD채플린 최보근+김지연+안호성+최혜주.
C.
Lecture 7 7-Segment LED controller using u-controller
ADLAD System MANUAL [ ] SEM. Digital Appliance ADLAD System ?
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
Presentation transcript:

UNIT 18 AD Converter Test 로봇 SW 교육원 조용수

학습 목표 조도 센서 값 읽기 가변 저항 값 읽기 가변 저항 값 읽어서 LED에 적용

조도 센서 값 읽기 APDS-9007 : Ambient Light Photo Sensor with Logarithmic Current Output

ADC Init void SYS_Init(void) { /* Unlock protected registers */ SYS_UnlockReg(); /* Enable IP clock */ CLK->APBCLK |= CLK_APBCLK_UART0_EN_Msk; CLK->APBCLK |= CLK_APBCLK_ADC_EN_Msk; /* Update System Core Clock */ /* User can use SystemCoreClockUpdate() to calculate SystemCoreClock and cyclesPerUs automatically. */ SystemCoreClockUpdate(); /* Set P3 multi-function pins for UART0 RXD and TXD */ SYS->P3_MFP = SYS_MFP_P30_RXD0 | SYS_MFP_P31_TXD0; /* Set P1.0 to AIN0 function */ SYS->P1_MFP = SYS_MFP_P10_AIN0 ; /* Lock protected registers */ SYS_LockReg(); }

ADC Init ADC Channel 0 Settings void ADC_Init() { ADC->ADCR &= ~(0x2 << 2); // Single Mode ADC->ADCR |= 0x1 ; // ADEN Set }

ADC Init Read ADC Channel 0 int value0 = 0; ADC->ADCHER = (0x1 << 0) ; // ADC Channel 0 Set ADC->ADCR |= 0x1 << 11 ; // Start Convert while(ADC->ADSR & (0x1 << 3)); value0 = ADC->ADDR[0] & 0xFFFF; printf("Photo Sensor Value 11 : "); printf("%d \n", value0);

ADC Init Set Interrupt Handler void ADC_IRQHandler() { int value0 = 0; NVIC->ICPR[0] = (0x1 << 29); ADC->ADSR &= ~0x1; // Clear Interrupt ADC->ADCR &= ~(0x1 <<1) ; // Disable Interrupt value0 = ADC->ADDR[0] & 0xFFFF; printf("ADC(Interrupt) : "); printf("%d \n", value0); }

ADC Init Start ADC using Interrupt Int main() { … //NVIC_EnableIRQ(ADC_IRQn); NVIC->ISER[0] = (0x1 << 29); printf("Stat ADC\n"); ADC->ADCHER = 0x1 ; // ADC Channel 0 Set ADC->ADCR |= (0x1 <<1) ; // Enable Interrupt ADC->ADCR |= 0x1 << 11 ; // Start Convert }

가변 저항 값 읽기 VCC , GND , ADC1 연결

가변 저항 값 읽기 ADC 0, 1 선택 void SYS_Init(void) { /* Unlock protected registers */ SYS_UnlockReg(); … /* Set P1.0 to AIN0 function */ SYS->P1_MFP = SYS_MFP_P10_AIN0 | SYS_MFP_P11_AIN1; /* Lock protected registers */ SYS_LockReg(); }

가변 저항 값 읽기 ADC 0, 1 선택 void ADC_IRQHandler() { int value0 = 0; NVIC->ICPR[0] = (0x1 << 29); ADC->ADSR |= 0x1; // Clear Interrupt ADC->ADCR &= ~(0x1 <<1) ; // Disable Interrupt value0 = ADC->ADDR[0] & 0xFFFF; value1 = ADC->ADDR[1] & 0xFFFF; printf("ADC(Interrupt) : "); printf("%d , %d\n", value0, value1); }

가변 저항 값 읽기 ADC 0, 1 선택 printf("Stat ADC\n"); ADC->ADCHER = (0x3 << 0) ; // ADC Channel 0,1 Set ADC->ADCR |= (0x1 <<1) ; // Enable Interrupt ADC->ADCR |= 0x1 << 11 ; // Start Convert

가변 저항 값 읽기 Single Cycle Scan Mode void ADC_Init() { ADC->ADCR &= ~(0x3 << 2); // Single Mode ADC->ADCR |= 0x2 << 2 ; // Single Cycle Scan Mode ADC->ADCR |= 0x1 ; // ADEN Set }

가변 저항 값 읽어서 LED에 적용 가변 저항 값 읽어서 구간 별로 4개의 LED On 0 ~ 10 : All OFF