๐Ÿ’ป My Work/โœจ Arduino

[์•„๋‘์ด๋…ธ] ๊ฐ€๋ณ€์ €ํ•ญ (์•„๋‚ ๋กœ๊ทธ ๊ฐ’ ์ฝ๊ธฐ analogRead)

Jaeseo Kim 2022. 11. 22. 20:26
  • ์•„๋‘์ด๋…ธ๋Š” ๋ชจ๋“  ์‹ ํ˜ธ๋ฅผ ๋””์ง€ํ„ธ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์”€ (0 or 1)
  • ADC : ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ → ๋””์ง€ํ„ธ ์‹ ํ˜ธ ๋ณ€ํ™˜
    1. ์ƒ˜ํ”Œ๋ง : ์‹ ํ˜ธ๋ฅผ ์ผ์ • ๊ฐ„๊ฒฉ์œผ๋กœ ์ƒ˜ํ”Œ ์ถ”์ถœํ•ด์„œ ์ด์‚ฐ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜
    2. ์–‘์žํ™” : ๊ฐ๊ฐ ์ƒ˜ํ”Œ๋œ ๊ฐ’์„ ํŠน์ • ๋Œ€ํ‘œ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜
    3. ๋ถ€ํ˜ธํ™” : ๋””์ง€ํ„ธ ์ฝ”๋“œ(0, 1)๋กœ ๋ณ€ํ™˜

 

๐Ÿ“Œ ๊ฐ€๋ณ€์ €ํ•ญ


  • ๊ฐ’์ด ๋ณ€ํ•˜๋Š” ์ €ํ•ญ
  • ์‚ฌ์šฉ์ž์˜ ์กฐ์ ˆ๋กœ ๊ฐ’์„ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  • ex ) ์˜ค๋””์˜ค ๋ณผ๋ฅจ ์ œ์–ด, LED ์กฐ๋ช… ๋ฐ๊ธฐ ์ œ์–ด ...

analogRead()

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

void loop()
{
  int n = analogRead(A0);
  Serial.println(n);
}
analogRead(A0);

 

 

 

โœจ ์ €ํ•ญ์— ๋”ฐ๋ผ LED ๋”œ๋ ˆ์ด ์กฐ์ ˆํ•˜๊ธฐ

void setup()
{
  pinMode(13, OUTPUT);
}

void loop()
{
  int n = analogRead(A0);

  digitalWrite(13, HIGH);
  delay(n);
  digitalWrite(13, LOW);
  delay(n);
}

 

 

5์ดˆ๋ฅผ ์ตœ๋Œ€๋กœ ์ œ์–ดํ•˜๊ธฐ

  • ๊ฐ€๋ณ€์ €ํ•ญ ์ตœ๋Œ“๊ฐ’์ด 1023
  • 5์ดˆ๋Š” 1000ms
void setup()
{
  Serial.begin(9600);
  pinMode(13, OUTPUT);
}

void loop()
{
  int n= analogRead(A0);
  // 5์ดˆ๊ฐ€ ์ตœ๋Œ€
  double delayNum=((double)5000/1023)*n;
  
  digitalWrite(13, HIGH);
  delay(delayNum); // Wait for 1000 millisecond(s)
  digitalWrite(13, LOW);
  delay(delayNum); // Wait for 1000 millisecond(s)
}