'5K'에 해당되는 글 2건

  1. 2011.07.07 가변저항 변화에 따라 LED 상태 변화 4
  2. 2011.07.07 가변저항(Potentiometer) 3362 1

 

가변저항의 변화에 따라 PORTA 에 연결된 LED 상태를 변화시키는 예제(소스)입니다.

 

PF1(ADC1) 핀에 연결된 가변 저항(5K) 값을 읽어

PORTA 에 연결된 LED에 출력

 

가변저항 0.6K 이하 => LED1개 ON

가변저항 1.2K 이하 => LED2개 ON

가변저항 1.8K 이하 => LED3개 ON

가변저항 2.4K 이하 => LED4개 ON

가변저항 3.0K 이하 => LED5개 ON

가변저항 3.6K 이하 => LED6개 ON

가변저항 4.2K 이하 => LED7개 ON

가변저항 4.2K 초과 => LED8개 ON

 

 

 

 

WATSIM 시뮬레이션 결과

 

WATSIM 에서는 ADC 기능을 추가할 예정이라

현재는 시뮬레이션이 안됩니다.

 

 

 

 

 

WAT-AVR128 보드에서의 실행

 

 

WAT-AVR128 과 WAT-IO&ADC 보드를 연결한 결과 입니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

메인 소스 AVR Studio 4.18

 

 

/**********************************************

 

PF3(ADC3) 핀에연결된가변저항(5K) 값을읽어

PORTA 에연결된LED에출력

 

가변저항0.6K 이하=> LED1ON

가변저항1.2K 이하=> LED2ON

가변저항1.8K 이하=> LED3ON

가변저항2.4K 이하=> LED4ON

가변저항3.0K 이하=> LED5ON

가변저항3.6K 이하=> LED6ON

가변저항4.2K 이하=> LED7ON

가변저항4.2K 초과=> LED8ON

 

 

 

 

Main Clock : 11.0592Mhz 

 

 

 

 

 

Tools : AVR Studio    4.16

테스트보드: WAT-AVR128 보드+ WAT IO&ADC

 

http://avr128.com  

 

*********************************************/

 

#include <avr/io.h>

#include <avr/interrupt.h>

#include <stdio.h>

 

#include "wat128.h"

 

 

// AD 값보관

UINT16 g_adc1;

 

int main()

{

           INT16 uiTemp; // 임시변수

 

           // LED 출력용포트

           DDRA = 0xFF;

 

           // ADC 초기화

           InitADC();

 

 

           while (1)

           {  

 

                     g_adc1 = 0;

 

                     // 노이즈를생각해서값을16번읽어평균을낸다.

                     for(uiTemp = 0; uiTemp<16;uiTemp++){

                                ADMUX=0x40 | 0x01;

                                ADCSRA = 0xD7;                  
                                while((ADCSRA & 0x10) != 0X10);

                                g_adc1 += ADCL + (ADCH*256);

                     }

                     g_adc1>>=4;

                    

                     if( g_adc1 <128)                       // 1/8 회전

                                PORTA = 0xFE;

                     else if( g_adc1 <256)                 // 2/8 회전

                                PORTA = 0xFC;

                     else if( g_adc1 <384)                 // 3/8 회전

                                PORTA = 0xF8;

                     else if( g_adc1 <512)                 // 4/8 회전

                                PORTA = 0xF0;

                     else if( g_adc1 <640)                 // 5/8 회전

                                PORTA = 0xE0;

                     else if( g_adc1 <768)                 // 6/8 회전

                                PORTA = 0xC0;

                     else if( g_adc1 <896)                 // 7/8 회전

                                PORTA = 0x80;

                     else 

                                PORTA = 0x00;

 

 

 

           }

 

}

 

 

 

 

 

 

 

 

 

 

 

주요 부품

ATMEGA128 - 1EA

LED 8EA

가변저항 5K – 1EA

POWER 5V/1A

 

 

 

 



프로젝트 파일 다운로드

프로젝트 파일(소스 포함):






가변저항에 대해 정리하였습니다.

http://avr128.com/23

 

 

Posted by WhiteAT
,

 

가변저항은 저항 값을 변경할 수 있는 저항입니다. 주로 고정되지 않은 저항 값이 필요할 때 사용되며 AD 테스트 회로에서 많이 사용됩니다.

 

 

회로에서는 아래와 같이 표시되며 각 단자를 A, B, WIPER 라고 합니다.

 

가변저항 값이 5K 라면

A-B 간의 저항 값은 항상 5K 이고, A-WIPER 간의 저항 값과 B-WIPER 간의 저항 값의 합은 항상 5K 입니다.

A-WIPER 의 저항 값이 1K라면 B-WIPER 간의 저항 값은 4K 가 됩니다.

 

 

 

 

 

 

 

 

그 중 3362 시리즈가 많이 쓰는 중 가변 저항 중 하나 입니다.

전자부품 쇼핑몰에서는 개당 250 ~ 280원 정도의 가격이며,

구로중앙유통단지에서는 50개 묶음으로 개당 130원 정도 합니다.(2010년)

 

 

 

 

 

 

 

 

 

 

 

A, B, WIPER 핀 찾기

 

가변저항 노브를 대충 가운데 오게 합니다. (그냥 한 쪽 끝이 아니면 됩니다. ^^)

그 중 2개의 핀 사이의 저항 값을 측정하여 전체 저항 값이 나오면 A, B 가 되는 겁니다.

(가변저항은 극성이 없어서 A, B 순서는 중요하지 않습니다. ^^)

이제 나머지 핀이 WIPER 이 되는 거죠^^

 

 

 

 

'데이터시트' 카테고리의 다른 글

ATMEGA8A-AU  (0) 2012.03.07
Package information - SO16−28 [WIDE]  (0) 2011.08.28
키 패드 제어, 매트릭스 키, 스위치 제어  (0) 2011.07.15
LED ON  (0) 2011.01.30
5101ASR , FND Anode  (0) 2011.01.22
Posted by WhiteAT
,