๐Ÿ’ก ๋„๋ฉ”์ธ/๐ŸŽฐ ์•„๋‘์ด๋…ธ

[2] LED๊ฐ€ ๊นœ๋นก์ด๋Š” ์†๋„๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ŠคํŠธ๋กœ๋ธŒ ์กฐ๋ช…์„ ๋งŒ๋“ค์–ด ๋ณด์ž

์˜ค๋ธŒ ๐Ÿง™‍โ™‚๏ธ 2022. 10. 26. 22:21

์ด๋ ‡๊ฒŒ ๊นœ๋นก์ด๋Š” ์กฐ๋ช…์„ ์ŠคํŠธ๋กœ๋ธŒ ์กฐ๋ช…์ด๋ผ๊ณ  ํ•œ๋‹ค.

์ŠคํŠธ๋กœ๋ธŒ ๋ผ์ดํŠธ(strobe light)๋ฅผ ์ค„์—ฌ์„œ ๋ถ€๋ฅด๋Š” ๋ง. ์šฐ๋ฆฌ ๋ง๋กœ๋Š” ์„ฌ๊ด‘๋“ฑ(้–ƒๅ…‰็‡ˆ). ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ ์•„์ฃผ ๋ฐ์€ ๋น›์„ ๋‚ด๋Š” ๋“ฑ์ด๋‹ค. ์—ฐ์† ๋ฐœ๊ด‘์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ œํ’ˆ์ด ๋งŽ๋‹ค. ์นด๋ฉ”๋ผ ํ”Œ๋ž˜์‹œ๋„ ์„ฌ๊ด‘์„ ๋‚ด๋‹ˆ๊นŒ ์ŠคํŠธ๋กœ๋ธŒ์˜ ์ผ์ข…์ด๊ณ , ๊ฒฝ์ฐฐ์ฐจ์˜ ๊ฒฝ๊ด‘๋“ฑ ์—ญ์‹œ ์ŠคํŠธ๋กœ๋ธŒ, ๊ณ ์ธต๊ฑด๋ฌผ ๊ผญ๋Œ€๊ธฐ์—์„œ ๋ฒˆ์ฉ์ด๋Š” ํ•ญ๊ณต์žฅ์•  ๋“ฑ์ด๋‚˜ ํ™”์žฌ ์‹œ ํƒˆ์ถœ ์œ ๋„๋“ฑ ๋˜ํ•œ ์ŠคํŠธ๋กœ๋ธŒ์ด๋‹ค.
(์ถœ์ฒ˜ : ๋‚˜๋ฌด์œ„ํ‚ค)

๋น ๋ฅด๊ฒŒ (HIGH)
๋Š๋ฆฌ๊ฒŒ (LOW)

const int analogInPin = A0; // ์•„๋‚ ๋กœ๊ทธ ์ž…๋ ฅํ•€๊ณผ ํฌํ…์…”๋ฏธํ„ฐ๋ž‘ ์—ฐ๊ฒฐ
 int sensorValue = 0; // ํฌํ…์…”๋ฏธํ„ฐ๋กœ๋ถ€ํ„ฐ ์ฝ์–ด ๋“ค์ธ ๊ฐ’
 int timer = 0; // ๊ฐ’์„ ์ง€์—ฐ์‹œํ‚จ๋‹ค

void setup() { //๋””์ง€ํ„ธ ํ•€์œผ๋กœ 11,12๋ฒˆ ์ถœ๋ ฅ ์„ค์ •
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);

}

void loop() { //LED ์ผœ์ง,๊บผ์ง ์‚ฌ์ด์— ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋‘๋Š” ๋ฃจํ”„ ์‹œ์ž‘
  sensorValue = analogRead(analogInPin); //ํฌํ…์…”๋ฏธํ„ฐ๋กœ๋ถ€ํ„ฐ ์ฝ์–ด ๋“ค์ธ ๊ฐ’

  timer = map(sensorValue, 0, 1023, 10, 500); // 10~500ms ์ง€์—ฐ
  digitalWrite(12, HIGH); //LED ์ผœ์ง
  delay(timer); //์ง€์—ฐ ์‹œ๊ฐ„ ์„ค์ •
  digitalWrite(12, LOW); //LED ๊บผ์ง
  delay(timer);
  digitalWrite(12, HIGH);
  delay(timer);
  digitalWrite(12, LOW);
  delay(timer);
  digitalWrite(11, HIGH);
  delay(timer);
  digitalWrite(11, LOW);
  delay(timer);
  digitalWrite(11, HIGH);
  delay(timer);
  digitalWrite(11, LOW);

}