에듀이노-아두이노 전문 교육쇼핑몰 에듀이노-코딩교육 전문 쇼핑몰

뒤로가기

상세 정보

추천

에듀이노

아두이노 로터리형 엔코더 모듈 / Arduino Encoder Sensor

4400

40원(1.00%)

자체상품코드 C-63 배송방법 택배 설명 로터리형 엔코더 모듈
배송
상품 목록
상품 정보 가격 삭제
아두이노 로터리형 엔코더 모듈 / Arduino Encoder Sensor
수량증가
수량감소
TOTAL PRICE(수량) 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

판매자 정보

WITH ITEM
함께 진열된 관련상품입니다.


고객센터

    1670-9626

  • 팩스.063-902-6678
  • 이메일.eduino@robodyne.co.kr
  • Kakao. 에듀이노
  • 운영시간 : AM 10:00 ~ PM 16:30
  • 점심시간 : PM 12:00 - PM 13:00 토/일/공휴일 휴무
  • 고객센터 연결하기
입금계좌
  • 예금주: (주)로보다인시스템
  • 국민. 754801-01-760296
  • 농협. 301-0234-1423-01
  • IBK기업은행. 506-080015-01-016
배송 안내
  • 배송 방법 : 택배
  • 배송 지역 : 전국지역
  • 배송 비용 : 3,000원
  • 배송 기간 : 1일 ~ 2일
  • 배송 안내 :
    - 제주도, 산간벽지나 도서지방은 별도의 추가금액을 지불하셔야 하는 경우가 있습니다.
    고객님께서 주문하신 상품은 입금 확인후 배송해 드립니다. 다만, 상품종류에 따라서 상품의 배송이 다소 지연될 수 있습니다.
교환/반품 안내
교환 및 반품이 가능한 경우
- 상품을 공급 받으신 날로부터 7일이내 단, 가전제품의
  경우 포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우에는 교환/반품이 불가능합니다.
- 공급받으신 상품 및 용역의 내용이 표시.광고 내용과
  다르거나 다르게 이행된 경우에는 공급받은 날로부터 3월이내, 그사실을 알게 된 날로부터 30일이내

교환 및 반품이 불가능한 경우
- 고객님의 책임 있는 사유로 상품등이 멸실 또는 훼손된 경우. 단, 상품의 내용을 확인하기 위하여
  포장 등을 훼손한 경우는 제외
- 포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우
  (예 : 가전제품, 식품, 음반 등, 단 액정화면이 부착된 노트북, LCD모니터, 디지털 카메라 등의 불량화소에
  따른 반품/교환은 제조사 기준에 따릅니다.)
- 고객님의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 단, 화장품등의 경우 시용제품을
  제공한 경우에 한 합니다.
- 시간의 경과에 의하여 재판매가 곤란할 정도로 상품등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품등의 포장을 훼손한 경우
  (자세한 내용은 고객만족센터 1:1 E-MAIL상담을 이용해 주시기 바랍니다.)

※ 고객님의 마음이 바뀌어 교환, 반품을 하실 경우 상품반송 비용은 고객님께서 부담하셔야 합니다.
  (색상 교환, 사이즈 교환 등 포함)
«
이전
{$paginationNo}
다음
»
  • {$autoComplete_query_view}
  • {$hotKeyword_rank} {$hotKeyword_query}