제조사 | OEM |
---|---|
브랜드 | 에듀이노 |
판매가 | 4,400원 |
적립금 | 40원 |
자체상품코드 | C-63 |
상품요약정보 | 로터리형 엔코더 모듈 |
국내·해외배송 | 국내배송 |
배송방법 | 택배 |
수량 |
COMMENT |
(최소주문수량 1개 이상 / 최대주문수량 0개 이하)
사이즈 가이드현재 상품과 관련된 상품들입니다. 함께 구매해보세요^^
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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | int LED_R = 11; // 빨간색 LED를 연결한 핀 int LED_Y = 10; // 노란색 LED를 연결한 핀 int LED_B = 9; // 파란색 LED를 연결한 핀 int CLK = 2; // 로터리 엔코더의 CLK를 연결한 핀 int DT = 3; // 로터리 엔코더의 DT를 연결한 핀 int SW = 4; // 로터리 엔코더의 SW를 연결한 핀 static int oldCLK = LOW; // CLK 핀의 값을 저장하는 변수 static int oldDT = LOW; // DT 핀의 값을 저장하는 변수 int brightness = 143; // LED 밝기 값(중간으로 초기화 (0~255)) int color = 0; // 켜진 LED의 색을 저장하는 변수 (0(빨강)으로 초기화) void setup() { pinMode(CLK, INPUT_PULLUP); // CLK를 내장 풀업 저항을 사용하는 입력으로 설정 pinMode(DT, INPUT_PULLUP); // DT를 내장 풀업 저항을 사용하는 입력으로 설정 pinMode(SW, INPUT_PULLUP); // SW를 내장 풀업 저항을 사용하는 입력으로 설정 pinMode(LED_R, OUTPUT); // 빨간색 LED를 출력으로 설정 pinMode(LED_Y, OUTPUT); // 노란색 LED를 출력으로 설정 pinMode(LED_B, OUTPUT); // 파란색 LED를 출력으로 설정 } void loop() { if (digitalRead(SW) == LOW) { // 로터리 엔코더의 노브를 눌렸을 때 changeLED(); // changeLED 함수 호출해 LED 켜기 color++; // LED 색 바꾸기 delay(300); // 중복 입력을 방지하기 위한 delay } else { // 로터리 엔코더의 노브를 돌렸을 때 brightness += (getDirection()*5); // 밝기값 조절 if(brightness < 0) // LED 밝기의 최솟값(0) 이하로 떨어지는 것 방지 brightness = 0; if(brightness > 255) // LED 밝기의 최댓값(255) 이상으로 올라가는 것 방지 brightness = 255; changeLED(); // 변화한 밝기값(brightness) 적용 } } // 어느 방향으로 회전했는지를 반환하는 함수 int getDirection() { int direct = 0; // 방향을 0으로 초기화 int newCLK = digitalRead(CLK); // 현재 CLK 값을 저장하는 변수 int newDT = digitalRead(DT); // 현재 DT 값을 저장하는 변수 if (newCLK != oldCLK) { // CLK 값이 변한 경우 if (oldCLK == LOW) { // LOW에서 HIGH로 변한 경우 direct = oldDT * 2 - 1; // DT 값을 이용해 direct 값 변경 } } oldCLK = newCLK; // oldCLK 갱신 oldDT = newDT; // oldDT 갱신 return direct; // 시계방향으로 회전한 경우 -1, 반시계방향으로 회전한 경우 +1 반환 } // LED에 변화를 주는 함수 void changeLED() { if(color%3 == 0) { // color 변수를 3으로 나눈 나머지가 0이면 analogWrite(LED_R, brightness); // 빨간색 LED만 밝기를 적용해 ON analogWrite(LED_Y, LOW); // 노란색 LED OFF analogWrite(LED_B, LOW); // 파란색 LED OFF } else if(color%3 == 1) { // color 변수를 3으로 나눈 나머지가 1이면 analogWrite(LED_R, LOW); // 빨간색 LED OFF analogWrite(LED_Y, brightness); // 노란색 LED만 밝기를 적용해 ON analogWrite(LED_B, LOW); // 파란색 LED OFF } else { // color 변수를 3으로 나눈 나머지가 2이면 analogWrite(LED_R, LOW); // 빨간색 LED OFF analogWrite(LED_Y, LOW); // 노란색 LED OFF analogWrite(LED_B, brightness); // 파란색 LED만 밝기를 적용해 ON } } | cs |
상품에 대해 궁금한 점을 해결해 드립니다.
글읽기 권한이 없습니다.
"19세 미만의 미성년자"는 출입을 금합니다!
no | category | title | write | date | hit |
---|---|---|---|---|---|
9 | 허용전압이?.. [1] | 초짜 | 2022-05-03 | 218 | |
8 | 핀 맵 문의 [1] | 초짜 | 2022-05-02 | 221 | |
7 | 엔코더 상세 규격 [1] | 최인하 | 2021-11-19 | 206 | |
6 | 로터리형 엔코더 모듈 축 | popo9033 | 2020-04-02 | 249 | |
5 | 로터리형 엔코더 모듈 축 | 2020-04-03 | 287 |