Illuminated arcade buttons는 LED가 내장된 아케이드 버튼으로, 버튼을 누를 때 빛이 들어오거나 특정 효과를 연출할 수 있습니다. 이 버튼들은 게임기, DIY 아케이드 머신, 컨트롤러 등에 사용되며, 시각적으로 화려한 효과를 제공하여 게임 경험을 더욱 향상시킵니다.
기본 구성 요소
- 버튼 스위치: 버튼을 눌렀을 때 신호를 전달하는 역할을 합니다.
- LED: 버튼이 눌리거나 특정 조건에서 점등됩니다.
배선 방법
LED 아케이드 버튼을 연결할 때는 아케이드 컨트롤러 보드, 전원 공급 장치, 점퍼 와이어 등이 필요합니다. 일반적으로 버튼의 양극(+)과 음극(-)을 컨트롤러 보드의 해당 핀에 연결하면 LED가 정상적으로 작동합니다. 일부 모델은 내장 저항을 포함하고 있어 추가 저항 없이도 사용할 수 있습니다





연결도
illuminated arcade button | Arduino |
LED + (VCC) : 다리 긴쪽 | Digital #3 |
LED – (GND) : 다리 짧은쪽 | GND |
Switch COM1 (VCC) | Digital #2 |
Switch NO3 (GND) | GND |
테스트 코드
#define RELEASED 0 #define SW_THRESHOLD 500 #define PUSH0 1 #define PULL0 4 #define BUTTON0 2 #define LED0 3 void setup() { // put your setup code here, to run once: pinMode(LED0, OUTPUT); pinMode(BUTTON0, INPUT_PULLUP); Serial.begin(9600); Serial.println("Connected"); } void loop() { // put your main code here, to run repeatedly: static unsigned long last0; int buttonState=read_button(); if(PUSH0==buttonState) { Serial.println("B_ON"); } if(PULL0==buttonState) { Serial.println("B_OFF"); } if((millis()-last0)>=500) { last0=millis(); } if(digitalRead(BUTTON0)==LOW) digitalWrite(LED0,HIGH); if(digitalRead(BUTTON0)==HIGH) digitalWrite(LED0,LOW); } int read_button() { static boolean prev0=HIGH; static unsigned long last0; boolean curr0; if ((millis() - last0) >= 10) { curr0=digitalRead(BUTTON0); if ((HIGH==prev0)&&(LOW==curr0)) { prev0=LOW; return PUSH0; } else if((LOW==prev0)&&(HIGH==curr0)) { prev0=HIGH; return PULL0; } last0=millis(); } return RELEASED; }
Arduino 프로그램에서 보드와 포트 선정후, Compile 및 Load 수행.
Arduino 프로그램에서 >툴/시리얼 모니터 수행.
처음 Serial 통신이 성공적으로 연결되면 시리얼 모니터에 “Conneted” message가 표현되고,
Button이 Push 되면 LED가 ON이 되며 시리얼 모니터에 “B_ON”을 표시한다.
그리고 Button이 Pull 되면 LED가 OFF 되고 시리얼 모니터에 “B_OFF”를 표시한다.