최근 본 제품

오늘 본 상품 24

전자부품 · 산업
반도체/전자부품
반도체/전자부품
RLC/수동부품
스위치/부저/전기부품
LED/디스플레이
센서
개발보드/프로그래머
개발보드/프로그래머
커넥터/터미널블럭
배터리/파워/케이블
하드웨어/지원부품/엔클로저
기계/모터/동력/유압,공압
자동제어/임베디드/열관리
테스터/계측기/광학
공구/수납
공구/수납
화학제품/산업안전
사무 · 생활용품
로봇/3D프린터/IOT기기
드론/액션캠/무선모형
컴퓨터/주변기기/네트워크
모바일/가전/차량용품
오피스/서적/소프트웨어
아웃도어/레저/취미
생활/철물/애견/실버용품
검색
* 본 이미지는 참고용입니다.제품의 정확한 사양은 데이터시트를 참고 바랍니다.
센서
아두이노 로터리형 엔코더 모듈 / Arduino Encoder Sensor

로터리형 엔코더 모듈

1,100

(VAT 별도)
  • 제품번호

    EN00002532

  • 브랜드명

    에듀이노

  • 제조사

    OEM

  • M.O.Q

    1

  • 평균발송일

    약 3일

  • 포장단위

  • 판매단위

    1

  • 배송비

    3,000 (60,000원 이상 무료배송)

로터리형 엔코더 모듈
수량
총 주문 금액
1,100

(VAT 포함) 1,210

함께 구매한 상품들
다른 구매자들이 함께 구매한 상품을 만나보세요.

상품상세정보

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

등록된 사용후기

사용후기가 없습니다.

등록된 상품문의

상품문의가 없습니다.

-안내-페이지-디자인.jpg