아트메가 57

아트메가128 타이머/카운터란?

안녕하세요. 타이머/카운터의 기본 개념에 대해 알아보겠습니다.기본적으로 타이머/카운터를 사용하는 이유는 펄수를 계수하기 위함입니다.아트메가128에는 4개의 타이머/카운터가 있습니다. 이 4개는 타이머 혹은 카운터가 됩니다. 타이머란?1. 타이머란 시스템 클럭의 변화를 감지합니다.2. 동기모드입니다,3. 일정시간 간격의 펄스를 만들어 내거나 일정한 시간 경과 후에 인터럽트를 발생시키는 기능을 합니다. 카운터란?1. 외부 입력의 변화를 감지 합니다,2. 비동기모드입니다, 3. 외부핀(TOSC1, ROSC2,T1,T2,T3)을 통해 들어오는 펄수의 수를 개수하여 이벤트 카운터로 동작합니다. 위에서 타이머/카운터가 4개있다고했는데, 번호를 0,1,2,3으로 붙인다. 타이머/카운터0,2는 8비트이고 타이머/카운터..

아트메가/이론 2017.08.06

아트메가를 사용한 디지털 온도계

안녕하세요. 이번에는 아트메가8를 이용하여 디지털 온도계를 만들어보겠습니다.세븐세그먼트에 실내온도를 표시하고 온도에 따라서 LED가 켜지게 할것입니다. 30도 이상 - 초록LED21~29도 - 노랑LED20도 이하 -빨강LED 전원은 9V건전지를 사용하고 7805를 이용하겠습니다.부분 설명 -78057805는 전압을 변경해주는 IC로써 IN과 GND에 전원을 연결하고 5V와 GND를 아트메가에 연결하면 됩니다. -LM35 LM35는 온도감지 센서로써 5V와 GND에 전원을 입력하고 OUT으로 센서값을 얻어오면 됩니다. -세븐세그먼트 필요재료 만능기판, ATMEGA8 , 외부클럭, 7805, 세븐세그먼트, LM35(온도센서), 스위치 만든과정 적절한 위치에 소자들을 납땜합니다. 세븐세그먼트를 세우기위해서 ..

아트메가/활용 2017.07.07

아트메가128 센서제어하기(ADC제어) 2편

안녕하세요. 실제로 ADC를 이용해여 조도센서의 값을 측정해보겠습니다. 아트메가128 센서제어하기(ADC제어) 1편위의 사이트에 레지스터 설명이 있습니다. 조도센서로부터 값을 읽어서 컴퓨터 시리얼모니터로 볼 것입니다. 조도센서는 저항으로써 밝기에 따라 값이 변합니다. 밝으면 저항이 작아지고 어두우면 저항이 올라갑니다. 그림과 처럼 연결해줍니다. 전압분배법칙에 의해서 CDS의 값이 커지면(어두워지면) 전압이 커지게됩니다.(큰값이 감지됩니다.) 실제로 연결한 모습입니다. 연속변환모드를 사용했습니다.1234567891011121314151617181920212223242526272829303132#include #include #include #include "usart.h"#define F_CPU 16000..

아트메가/이론 2017.07.04

아트메가128 usart통신하기(3) 컴퓨터

아트메가128 usart통신하기(1) 안녕하세요. 컴퓨터와 아트메가 통신을 하겠습니다.사용하는 프로그램은 터미널 아무거나 사용하면 됩니다. 컴퓨터에 있는 RS-232에서 나오는 신호는 +-12V입니다. 그러나 아트메가의 RX,TX의 신호는 0~5V입니다. 중간에서 전압을 변환시켜주는 것이 필요한데 MAX232라는것을 보통 사용합니다. 그러나 제가 사용하는 노트북은 RS-232단자가 없습니다. 그래서 USB-TTL변환케이블을 사용하면됩니다. USB-TTL케이블을 연결하면 컴퓨터는 RS-232로 인식을합니다. 또한 따로 전압을 바꿔줄 필요가 없습니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484..

아트메가/이론 2017.07.03

아트메가128 usart통신하기(2) 블루투스

안녕하세요. 오늘은 아트메가와 핸드폰 앱을통해서 블루투스로 LED를 제어해보겠습니다. 아트메가128 usart통신하기(1) 여기 글에 usart에 대한 설명이 있습니다. 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 31 32 33 34 #include #include #include #define F_CPU 16000000UL volatile unsigned char flag; ISR(USART0_RX_vect) { flag=UDR0; } void init() { DDRA=0xff; UCSR0A=0x00; UCSR0B=0x98; UCSR0C=0x06; UBRR0H=0; UBRR0L=103; SREG=0x8..

아트메가/이론 2017.07.03

아트메가128 usart통신하기(1)

안녕하세요. 직렬통신인 usart통신을 해보겠습니다. 통신을 하는 이유는 장치간에 서로 통신을 하려고 하는건데요. usart는 유선,무선으로 사용할수 있습니다.유선을 사용하면 CP2102모듈을 사용하여 컴퓨터 터미널프로그램으로 아두이노의 시리얼모니터처럼 값을 확인할수있고무선을 사용하면 블루투스모듈로 앱으로 AVR를 제어할수 있습니다. -USART(Universal Synchoronous and Asynchronous serial Receiver and Transmitter)의 특징* 전이중 통신 가능. (송신,수신 동시에가능)* 비동기 전송 모드 or 동기 전송모드 가능* 마스터 모드 or 슬레이브 모드 가능* 보레이트 발생기 내장(높은 정밀도)* 패리티 체크 기능-> USART는 전이중통신이 가능합니다..

아트메가/이론 2017.07.03

Avr studio4 사용법입니다.

안녕하세요. Avr studio4사용법에대해 알아보겠습니다.프로그램을 실행후 프로젝트 - 프로젝트위자드를 클릭합니다. 뉴 프로젝트를 클릭하구요 프로젝트 타입은 AVR GCC로하고 프로젝트 이름을 적습니다. 사용할 AVR을 골라서 Finish클릭합니다 프로젝트 - 컨피규레이션옵션을 클릭해서 자신이 사용할 AVR 클럭을 적습니다. 커스텀 옵션을 클릭하여 avr-gcc와 make파일을 링크해줍니다 빨강 네모를 눌러서 빌드를하고파랑 네모를 눌러서 프로그램을 넣습니다 파랑 네모를 클릭하면 나오는 창입니다. ISP케이블을 사용했다면 STK500을 선택합니다. 또한 자신이 연결한 포트를 선택해줍니다. 프로그램을 눌러서 프로그램을 넣으면 끝입니다.만약 헥스파일이 빠져있거나 잘못 연결되있다면 ...을 클릭하여 선택해주면..

아트메가/기타 2017.07.03

아트메가8 만능기판에 회로구성하기

안녕하세요. 저번에는 브레드보드에 아트메가8을 연결해서 사용했었는데요. 이번에는 만능기판에 납땜해서 사용해보겠습니다.아트메가8 브래드보드에 회로 구성하기 만능기판에 아트메가8를 납땜하면 장점은 브래드보드에 아트메가8을 사용할때 다로 회로를 구성하지 않고 바로 사용할수 있다는 점입니다. 이번에는 리셋스위치를 연결하고전원이 입력되면 LED가 켜지게 하겠습니다 -회로도 -필요 재료 아트메가8 1개 (DIP타입)16Mhz크리스탈 1개22pf 캐패시터 2개버튼 1개10k 저항 1개LED 1개330 저항 1개만능기판 1개 -만든과정먼저 만능기판에 배치를 미리 해봅니다. 선을 연결하기전에 소자들을 미리 납땜했습니다. 본격적으로 선을 납땜합니다 브레드보드에 쉽게 꼽기위해서 핀을 따로 연결한 모습입니다. 완성 되었습니다..

아트메가/기타 2017.06.21

아트메가8 브레드보드에 회로 구성하기

안녕하세요. 이번에는 아트메가8를 브레드보드에 연결해서 LED를 1초에 한번씩 ON/OFF하는것을 해보겠습니다.-고려사항1.ISP2.외부리셋핀3.외부클럭사용4.퓨즈비트설정 - ISP아트메가8 핀 구성입니다. 아트메가8을 동작시킬려면 VCC와 GND에 연결만하면 동작합니다. 그러나 프로그램을 넣어야 동작을 하기때문에 ISP를 연결해야합니다. 빨간네모칸에 자신의 ISP케이블과 매핑시켜서 연결하면 됩니다. -외부리셋핀데이터시트에 나와있는 외부리셋 그림입니다. 리셋이핀이 0일때 리셋이 발생되는것을 볼 수 있습니다. 전 외부리셋을 사용하지 않을거므로 10k저항과 vcc를 연결하겠습니다. -외부클럭사용 16Mhz를 사용하기위해서 16Mhz크리스탈과 22pf 캐패시터를 연결해줍니다. -연결위와같이 연결하고 ISP를 ..

아트메가/기타 2017.06.20

아트메가128 센서제어하기(ADC제어) 1편

안녕하세요. ADC(Analog to Digital Converter)에대해 알아보겠습니다 - ADC란? 아날로그 신호를 디지털 신호로 변환해주는 장치를 말합니다. 반대로 디지털신호를 아날로그신호로 변환해주는건 DAC라고합니다. 아날로그 신호란 프로세서의 외부에 있는 전기적 신호나 물리적 신호를 수학적으로 2진수가 아닌 실수의 범위 내에서 변하는 신호를 말합니다. 실수의 범위라는게 수학적으로 표현하기 어려운 신호를 프로세서가 인식할 수 있는 정수의 범위로 일정 시간마다 하나의 데이터로 변환하는것을 의미합니다. 예를들어 LED의 밝기를 1비트로 표현한다면 상태는 2가지 일것입니다. 1은 밝은상태 / 0은 어두운상태, 만약 LED의 밝기를 2비트로 표현한다면 상태는 4가지 일것입니다. 00은 완전어두운상태,..

아트메가/이론 2017.06.01