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);
}
값을 조절 할 수 있는 저항
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);
}
빛의 밝기에 따라 저항값이 변함(포토 저항)
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);
}
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);
}
// 꺼준다. (켜진상태로 꺼주지 않은면 안됌)
}