PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.

Slides:



Advertisements
Similar presentations
Family 의 개요 의 외부 Pin 기능과 내부 기능 Memory 구조 Timing 2 장 8051 의 구조.
Advertisements

AVR 응용 라인트레이서 AVR 소개 및 라인트레이서조립 2012 – AVR 응용 라인트레이서 부산대학교 기계공학부 생산자동화 실험실 박사과정 조광호.
1 모터 (Motors) 김원웅. 2 모터 (Motor) □ 모터 응용분야 □ Desktop PC 의 DVD ROM, HDD □ 러닝머신, 전동드릴, 선풍기 등 전력에 의해서 뭔가가 움직이 는 분야에는 거의 모두 모터가 사용 □ 우리가 배울 모터의.
1/37 Chapter 4: 프로세서 성능과 휴대성을 위한 하드웨어 © The McGraw-Hill Companies, Inc., 세기의 가장 중요한 발명품 : 마이크로 프로세서 일상생활에 널리 사용됨 프로그램에 의한 적응성.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
2.1 컴퓨터 시스템의 구성 2.2 컴퓨터 시스템의 정보 표현 2.3 중앙처리장치 2.4 저장장치 2.5 컴퓨터 주변기기
SOC 연구실 최지호 원천관 339-2호 ABEL 프로젝트 SOC 연구실 최지호 원천관 339-2호
L A N DCT Serise W i r e l s Description
마이크로 컨트롤러 Microcontroller.
마이크로프로세서설계 - 3 ATmega128 마이크로컨트롤러의 특징 LED 실습 1
SoC 로봇워 참가자 교육.
소프트웨어와 운영체제.
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
Switched – Mode Power Supply
Smart IoT 설계 시스템 Lecture 07. 센서와 액츄에이터 실습.
H-Smart4412TKU 사용법 전자정보공학과 이 종 복.
마이크로프로세서 메모리 및 입출력장치 인터페이스
마이크로프로세서(Microprocessor,µP)
USER’S MANUAL 모델명: CCR-201 코드시스템(주)
2013 스마트 컨트롤러 중간 프로젝트 김성엽 진종영 조유진
아두이노 프로그래밍 1일차 – Part2 아두이노 사양 강사: 김영준 목원대학교 겸임교수.
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
10장 주변장치 (PIO) Slide 1 (of 28).
RnA DISPLAY 구동 Clcd 구동 Made by Bonobonobono.
2 AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128.
3장 MPU 내부구조 Slide 1 (of 28).
임베디드 하드웨어 Lecture #6.
임베디드 프로그래밍 Lecture #
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
DSP와 TMS320F28X의 이해
DSP와 TMS320F28x의 이해.
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
1. 아두이노란 무엇인가? - 스마트 폰으로 제어하는 아두이노 -.
12. 아두이노와 센서를 이용한 제어 - 스마트 폰으로 제어하는 아두이노 -.
시리얼 통신 (Rs232를 통한 PLD와 컴퓨터의 직렬통신).
전원설비 포인트연결어댑터 교육자료 주식회사 필 트 론.
컴퓨터 구조.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
Arduino uno의 Hardware 구성부품의 종류와 그 용도.
Chapter 10. Interrupt.
종합설계 I - 반도체 회로 설계 - 충북대학교 양병도 교수.
고등용 LED를 이용한 재미있는 표현.
DSP 소개 및 TMS320LF2407A 6th hyaoo.
DK-128 ADC 실습 아이티즌 기술연구소
4족 로봇 삼식이팀 박명대.
ATmega128의 구조 및 TOOL의 이해 Robotics_LAB 발표자 : 유 홍 선.
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소 김태성 연구원
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
메모리란?? 조대민 -1-.
MA1356T ▶ 제품개요 *. 사용 스마트 카드 : ISO A Type And Mifair 호환 .
PIC16C84의 외형 RA2 1 RA1 I/O PIN I/O PIN RA3 RA0 RTCC OSC1 발 진 RESET
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
전자물리실험 07-발광소자와 수광소자를 이용한 광신호 감지 - DSU 메카트로닉스 융합공학부 - PULSE 4
프로젝트 진행내용.
LCD.
Introduction to Lab. Instruments
제16강 입출력시스템 1.
아두이노 프로그래밍 Lecture #
MA125T ▶ 제품개요 MA125T는 Temic & EM-CARD를 Read 하여 카드 데이터 전송모듈
아두이노 서보로봇 제어 (블루투스 스마트폰 조종) -03차시-
임베디드 하드웨어 Lecture #6.
사물인터넷(IoT) 프로그래밍 기초 5. 시리얼통신.
Progress Seminar 양승만.
Lecture 7 7-Segment LED controller using u-controller
임베디드 프로그래밍 Lecture #
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
3. Arduino 실습 – 아날로그 입력(1) 아날로그 입력 – 먼지 센서 먼지 센서 개요 먼지 센서 특징 먼지 검출 센서
Presentation transcript:

PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소

세미나 소개 대상: 회로 구성 및 프로그램에 대한 경험이 적은 사람 목적 : PIC에 대한 자신감 얻기!!! 일정 PIC로 LED 제어 2일째 : PIC와 PC간의 통신, 기본적인 센서 다루는 방법 알기 PIC와 PC를 시리얼로 통신하여 LED를 제어 PIC로 센서 값을 읽어서 PC로 전송 3~7일째 : 지금까지 배운 것들을 응용해서 새로운 것 만들기.

PIC 소개 PIC는 일종의 CPU PIC16F73 / PIC16F84 / PIC16F877 / PIC12F675 ALU / 메모리 / 제어모듈을 모두 포함 제어모듈 : UART통신, 모터제어, Analog-Digital Converter 등 마이크로 컴퓨터 혹은 마이크로 컨트롤러라고 불림. 흔히 마이컴이라 불리기도 . RISC 구조 (보통 35개 정도의 instruction을 갖고 있음) 어쩌구 저쩌구.. PIC16F73 / PIC16F84 / PIC16F877 / PIC12F675

PIC 소개 PIC16F73 적당히 다양한 기능과 적당한 수의 ADC 포트와 적당한 수의 IO핀 등을 제공한다. (28 pin) PWM 까지도 갖추고 있어 웬만한 건 다 가능하다. 연구실에서 가장 많이 사용 <PIC16F73> <L-Luminaria에서의 응용 예>

PIC 소개 oscillator 좌측 상단부터 1번 핀 동그란 마크가 있음 A Port / ADC Port B Port Master Clear A Port / ADC Port B Port Power VDD-5V VSS-GND oscillator UART PWM C Port

PIC 소개 PIC 1 Power CLOCK Oscillator VDD, VSS B Port A Port ADC C Port UART PWM

PIC 소개 Program memory: 4096x14 Data RAM: 192 Stack: 8 I/O: 22 Analog Pins: 5

PIC 소개 PIC16F84 우리 연구소에 널리 돌아다니는 PIC관련 서적인 <PIC16F84의 기초 + α>의 주인공. 현재 확인 결과 연구소에 존재하지 않는 것 같음 아래의 그림과 같이 아주 심플한 구조를 갖고 ..

PIC 소개 PIC16F877 <PIC16F877A> <SOTORO2007에서 응용 예> 스타크에서 울트라 같은 놈 (40 pin) 다양한 기능보다는 많은 포트가 필요할 때 사용되는 것 같음 (경험상). 커서 꽂아 놓기만 해도 뭔가 ‘있어 보이는’ 시각적 효과. 착시. <PIC16F877A> <SOTORO2007에서 응용 예>

PIC 소개 Program memory: 8192x14 Data RAM: 367 Stack: 8 I/O: 33 Analog Pins: 8 Data EEPROM: 256

PIC 소개 PIC12F675 적은 포트와 적은 기능을 갖추고 있음 (8 pin) <Nanobot에서 응용 예>

디버깅 Multimeter 주로 전압이나 저항을 재거나 Connectivity 테스트에 사용됨 위의 그림과 같이 파워 세이브를 위해 꺼져있는데 이 때 다시 동작시키기 위해서는 OFF로 돌렸다가 다시 원하는 위치로 돌리면 켜짐. 시가 40만원 상당

디버깅 Scopemeter 주로 전압의 파형(?)을 보기 위해 사용 이쯤만 되도 완전 신세계. 특히 통신이 있을 경우 필수품. 없으면 ? 시가 400만원 상당. 작다 ! 좋다 ! (1기 장선연 선배님 말씀)

책 PIC 관련 PIC용 C언어 관련 전자공학 관련 PIC16F84의 기초 + α http://mabook.com/isbn.php?isbn=8931531664 PIC용 C언어 관련 CCS-C 실전가이드: PIC 마이컴용 C언어 http://mabook.com/isbn.php?isbn=8987516032 전자공학 관련 Physical Computing: 전자회로 구성에 대한 쉬운 설명

참고 사이트 Microchip社 (PIC 제작사) http://www.microchip.com Datasheets http://www.alldatasheet.com 전자부품, 로봇부품, 기계부품 http://www.devicemart.co.kr http://www.comfile.co.kr http://www.sample.co.kr

1st Day: PIC로 LED 깜박거리게 하기

1st Day: 목차 회로구성 프로그래밍 생각해 볼 거리

1st Day: 회로 구성 머리 에너지: 7805 Output: LED(빛이 나오는 소자) Input: 없음 PIC 7805 PIC16F73 (PIC의 한 종류) OSC: PIC는 CPU므로 클럭이 필요 에너지: 7805 5V 이상의 전압을 5V로 바꿔 줌(12V  5V) 일반적인 PIC는 5V에서 동작 Output: LED(빛이 나오는 소자) Input: 없음 PIC 5V 12V 7805 Adaptor LED OSC

1st Day: 회로 구성 . . . . . Socket-12V Adapter가 꽂힌다. 7805-12v전압을 5v로 떨어뜨린다. . LED-Light Emissive Diode. . OSC-클럭을 발생시킨다. . PIC-마이크로 컨트롤러.

1st Day: 프로그래밍 A port를 ADC로 사용하지 않음 PIC 내부에 필요한 타이머를 Setting IO 포트인 B port를 Input용으로 사용할 것인지 Output용으로 사용할 것인지 setting LSB-0번 포트/MSB-7번 포트로 Map, 1-In / 0-Out Output으로 지정된 모든 B port에 대해 output signal을 High/Low 중 하나로 결정 1-High / 0-Low

1st Day: 프로그래밍(1) Header File #include <16F73.h> #device adc=8 #FUSES NOWDT //No Watch Dog Timer //다른 클럭 (ex_20Mhz) 주의해야 하는 옵션 #FUSES XT //Crystal osc <= 4mhz #FUSES NOPUT //No Power Up Timer #FUSES NOPROTECT //Code not protected from reading #FUSES BROWNOUT //Reset when brownout detected //클럭에 따라 값을 setting #use delay(clock=4000000) //1일째에는 사용되지 않지만 UART 통신에 관한 옵션 //232통신을 사용하고 Baud Rate이 9,600. Parity Bit을 사용하지 않고 C6, C7 pin을 각각 Tx, Rx핀으로 사용 #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=9)

1st Day: 프로그래밍(2) set_tris_b(0b00000000) output_b(0b11000000) PIC B ports의 Output / Input 기능 결정 0: Output ( 숫자 0은 ‘O’랑 비슷하니까 Output) 1: Input ( 숫자 1은 ‘I’ 랑 비슷하니까 Input) B7 ~ B0 Ex. set_tris_b(0b00000001) : B0 Pin Input 기능, 나머지 Pin Output 기능 output_b(0b11000000) PIC B ports의 출력의 High/Low 결정 1: High, 0: Out (Digital 이니까) Ex. output_b(0b11000000) : B7, B6 Pin High, 나머지 Pin Low

1st Day: 프로그래밍(3) delay_ms(500) 일정 시간 동안 프로그램 진행 지연 단위: [ms]

1st Day: 생각해 볼 문제 Delay 시간을 500ms, 200ms, 10ms로 바꾸면서 실험해보세요. 그리고 어떤 이상한 현상이 일어나면 왜 그런 현상이 일어나는지를 생각해보세요.

2nd Day: PIC와 PC 간의 통신 PIC로 센서 값 읽기

2nd Day: 목차 UART 통신 회로구성 프로그래밍 센서값 읽어오기 센서

UART 통신: 회로 구성 MAX232: PIC를 PC와 RS232 통신 할 수 있게 해주는 녀석 Output: LED, PC로 송신 Input: PC로부터 오는 값 (디지털) PIC LED 5V 12V 7805 Adaptor MAX232 OSC

UART 통신: 회로 구성 . . . . . . Socket-12V Adapter가 꽂힌다. 7805-12v전압을 5v로 떨어뜨린다. . LED-Light Emissive Diode. . OSC-클럭을 발생시킨다. Serial Cable을 통해 PC로 전송 PIC-마이크로 컨트롤러. . . MAX232-MAXIM社의 232Chip

UART 통신: 프로그래밍 Standard Input이 PIC의 Rx (Receive)pin으로 설정. 이 경우 UART로 연결된 PC의 키보드 Input을 읽어 온다. Standard Out이 PIC의 Tx (Transmit)pin으로 설정. 이 경우 UART로 연결된 PC로 문자가 전송된다.

UART 통신: 프로그래밍(2) getc() printf(“LED B7 On\n\r”) PC에서 오는 1byte data 수신하는 함수 8 bit character return PC에서 Data 수신 전까지 다음 줄로 안 넘어감(내부적으로 Loop 문) printf(“LED B7 On\n\r”) PC의 하이퍼터미널에 그대로 찍힘 보통 자신이 짠 PC와의 통신 프로그램에서는 ‘putc()’를 이용해서 1byte씩 보냄

센서 센서 뭔가를 측정해서 전기적으로 알려주는 녀석 뭔가?: 열, 빛, 연기, 습도, 바람 등 우리가 사용 할 센서: CDS(Cadmium Sulfide) 빛 감지 센서 밝으면 저항값 감소 어두우면 저항값 증가 CdS... 화학기호입니다. 황화 카드뮴 셀.. 이란 거죠.. Cd 가 카드뮴 S 가 황 이죠.. CdS 센서는 광에 쏘여지면 저항값이 감소하는 광도전효과(Photo conductive effect)를 이용한 반도체 포토센서 입니다. 광도전셀로서 CdS 말고도 CdSe(셀렌화 카드뮴), Cd(S.Se) 황화셀렌화 카드뮴등이 있으나 특별히 지정하지 않는한 CdS 셀로 총칭하고 있습니다.

센서: 회로 구성 Input: CDS(아날로그) Output: PC로 송신(센서 값) PIC CDS 7805 Adaptor 5V 12V 7805 Adaptor MAX232 OSC

센서: 회로 구성 . . . . . . . Socket-12V Adapter가 꽂힌다. 7805-12v전압을 5v로 떨어뜨린다. . LED-Light Emissive Diode. . CDS센서-조도센서 Serial Cable을 통해 PC로 전송 . PIC-마이크로 컨트롤러. . MAX232-MAXIM社의 232Chip . OSC-클럭을 발생시킨다.

센서: 프로그래밍 ADC로 설정된 포트 중 어느 곳에서 값을 읽어 올 것인지를 결정 Set_adc_channel() 함수로 지정된 ADC포트의 값을 읽어서 리턴한다.

센서: 프로그래밍(2) read_adc() PIC로 들어오는 아날로그 입력 값을 읽음 PIC 종류에 따라서 8bit or 16bit int return PIC16F73은 8bit ADC int: 8bit, long int: 16bit

기타 센서들 Tilt Sensor: 기울기 측정 IR 거리 센서 압력센서 온도센서 디지털 나침반 동작 감지 센서 버튼 등등…

Actuators LED 전구 솔레노이드 모터 스피커 펠티어소자 등등…

몇 가지 팁