5키 버튼 모듈 -5개의 서로 다른 아날로그 전압 출력
(5 Key Button Module - 5 Analog Voltage Ouput on 1 Pin)
개요
- 본 제품은 5개의 버튼이 장착된 5키 버튼 모듈입니다.
- 이 제품의 독특한 점은 인터페이스 핀이 VCC, Gnd, Analog out으로 실제로 아날로그 핀 1개 라는 점입니다.
- 각각의 버튼이 눌릴때 서로 다른 전압 값을 출력하게 디자인되어 있어 하나의 아날로그 핀으로 눌리는 버튼을 확인할 수 있습니다.
특징
- n/a
문서
/ / ADKeyboard Module int adc_key_val [5] = {50, 200, 400, 600, 800}; int NUM_KEYS = 5; int adc_key_in; int key = -1; int oldkey = -1; void setup () { pinMode (13, OUTPUT); / / Serial.begin (9600); / / 9600 bps } void loop () { adc_key_in = analogRead (0); / / read the value from the sensor digitalWrite (13, LOW); key = get_key (adc_key_in); / / convert into key press if (key! = oldkey) / / if keypress is detected { delay (50); / / wait for debounce time adc_key_in = analogRead (0); / / read the value from the sensor key = get_key (adc_key_in); / / convert into key press if (key! = oldkey) { oldkey = key; if (key> = 0) { digitalWrite (13, HIGH); switch (key) { case 0: Serial.println ("S1 OK"); break; case 1: Serial.println ("S2 OK"); break; case 2: Serial.println ("S3 OK"); break; case 3: Serial.println ("S4 OK"); break; case 4: Serial.println ("S5 OK"); break; } } } } delay (100); } / / Convert ADC value to key number int get_key (unsigned int input) { int k; for (k = 0; k { if (input { return k; } } if (k> = NUM_KEYS) k = -1; / / No valid key pressed return k; }