IT 융합공학특론[10] : AD변환

NOAH·2021년 6월 8일
0

아두이노

목록 보기
7/13

AD 변환 아날로그 -> 디지털

A0 부터 A5까지 총 6개의 입력 핀이 있음
-> 입력으로만 사용하므로 입출력을 지정하지 않음

analogRead(); //  함수로 데이터를 읽어옴 

A0 부터 A5까지 총 6개의 입력 핀이 있음
-> 입력으로만 사용하므로 입출력을 지정하지 않음


int AD_data = 0; // 아날로그 데이터를 받을 공간 초기화

void setup()
{
 Serial.begint(9600);
 // 직렬통신사용
 //input으로만 사용하하므로 따로 AD변화시에 이후 OUTPUT 지정X
}

void loop()
{
AD_data = analogRead(A0); // A0에서 받아온 데이터를 담는다.
Serial.println(AD_data); 
delay(10);

}

가변 저항

값을 조절 할 수 있는 저항


가변저항을 RGB LED 에 연결하기


int AD_Data = 0;
int Red = 11; int Green = 5; int Blue = 3;

void setup()
{

Serial.begin(9600);
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(11, OUTPUT);

}

void loop()
{
// A0 핀에 입력된 전압을 디지털로 변환하여 그 값에 따라 색을 출력 
AD_data = analogRead(A0);
if(AD_data > 800)
{

analogWrite(Red, 255);
analogWrite(Green, 0);
analogWrite(Blue, 0);

} else if(AD_data > 400) {

analogWrite(Red, 0);
analogWrite(Green, 255);
analogWrite(Blue, 0);

} else {

analogWrite(Red, 0);
analogWrite(Green, 0);
analogWrite(Blue, 255);

}

Serial.println(AD_data);
delay(10);

}

조도센서


빛의 밝기에 따라 저항값이 변함(포토 저항)

map 함수

int AD_data = 0;
int MAP_data = 0;
int i = 0;

void setup()
{
serial.begin(9600);
}

void loop(){
AD_data = analogRead(A0);
MAP_data = map( AD_data, 0, 1023, 5);
// 0~1023까지 데이터를 0~5까지 데이터로 대응 
Serial.print(AD_data);
Serial.print(" -> ");
Serial.println(MAP_data);

}

map 함수 응용

int LED_pin[] = {2,3,4,5,6};
int AD_data = 0;
int MAP_data = 0;
int i = 0;

void setup() {

	Serial.begin(9600);
    
	for( i = 0 ; i < 5; i++) {
    	pinMode(LED_pin[i], OUTPUT);
    }
}

void loop(){


	AD_data = analogRead(A0);
    	MAP_data = map(AD_data, 0, 1023, 0, 5);
        
        
        for( i= 0; i < MAP_data; i++){
        digitalWrite(LED_pin[i], HIGH);
        }
        // 맵데이터에 따라서 불을 켜준다.
        
        Serial.print(AD_data);
        Serial.print("->");
        Serial.println(MAP_data);
        
        //여기까지만 구현하면 켜지기만 하고 꺼지지 않음
        delay(10);
        
        for( i= 0; i < MAP_data; i++){
        digitalWrite(LED_pin[i], LOW);
        }
        // 꺼준다. (켜진상태로 꺼주지 않은면 안됌)
        
}

0개의 댓글