티스토리 뷰
#include//ROM(비휘발성 메모리) 활용 int swCount = 0; int swBuf = 0; unsigned char color[8][3] = { // R G B { 0, 0, 0} // OFF , {255, 0, 0} // Red , { 0, 255, 0} // Green , { 0, 0, 255} // Blue , {255, 255, 0} // Yellow , {255, 0, 255} // magenta , { 0, 255, 255} // cyan , {255, 255, 255} // white }; void setup() { pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(2, INPUT_PULLUP); Serial.begin(9600); swCount = EEPROM.read(0); } void loop() { if(digitalRead(2) == LOW && swBuf == 0) { swBuf = 1; }else if(digitalRead(2) == HIGH && swBuf == 1) { swBuf = 0; swCount++; if(swCount > 7) swCount = 0; EEPROM.write(0, swCount); } setRGBColor(color[swCount][0], color[swCount][1], color[swCount][2]); } void setRGBColor(int R, int G, int B) { //common Anode 이므로 값 반전 analogWrite(9, 255 - R); analogWrite(10, 255 - G); analogWrite(11, 255 - B); }
'IT > Arduino' 카테고리의 다른 글
아두이노 교육3일차 릴레이 (0) | 2014.08.23 |
---|---|
아두이노 교육3일차 피에조 부저 (0) | 2014.08.23 |
아두이노 교육3일차 아날로그 출력(PWM) (0) | 2014.08.23 |
아두이노 교육3일차 DHT11 모듈을 이용한 온습도계 (0) | 2014.08.23 |
아두이노 교육3일차 서미스터를 이용한 디지털온도계 (0) | 2014.08.23 |
댓글