1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
int varRes=18; int vars; int leds[]={2, 3, 4, 5, 6, 7, 8, 9}; int states=1; int now=0; void setup() { Serial.begin(9600); for (int i=0;i<8;i++) { pinMode(leds[i], OUTPUT); } } void loop() { allOff(); vars=map(analogRead(varRes), 0, 1023, -3, 3); Serial.println(vars); if (vars > 0) { states=1; } else if (vars < 0) { states=-1; } else { states=0; } now+=states; if (now > 7) { now=0; } else if (now < 0) { now=7; } digitalWrite(leds[now], HIGH); delay(50*(4-abs(vars))); } void allOff() { for (int i=0;i<8;i++) { digitalWrite(leds[i], LOW); } } |
※ 수업용 자료입니다. (redcrow@naver.com)