본문으로 이동

아두이노:아케이드 버튼 입력

학교의 모든 지식. SMwiki
Sam (토론 | 기여)님의 2026년 9월 9일 (수) 04:34 판 (새 문서: {{아두이노}} == 개요 == 아케이드 버튼 입력을 아두이노에서 받아들이는 방법. == 아케이드 버튼 별 단자 설명 == === SZH-ACD003 === {| class="wikitable" |+ !단자 !묘사 !비고 |- |LED + |H52 라는 글씨가 바르게 보이는 상황에서. 왼쪽 위 |5V, 3.3V 둘 다 사용 가능한데 5V가 밝지. +단자를 아두이로 제어하면 적당히 밝기 조작도 가능할 듯. |- |LED - |오른쪽 위 |여기 GND와 연결. |- |NO |No...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

아두이노 관련 정보를 모으기 위한 틀. 틀:아두이노

  1. 아두이노:개요
  2. 아두이노:하드웨어
    1. 아두이노:우노보드
    2. 아두이노:ESP32
  3. 아두이노:코드
    1. 아두이노:컴퓨터에서 보드로
      1. 아두이노:VSCode에서 작업
    2. 아두이노:안드로이드에서 보드로
    3. 아두이노:기초 문법
    4. 아두이노:라이브러리
  4. 아두이노:핀 사용
    1. 아두이노:전원공급
  5. 아두이노:시리얼 통신
    1. 아두이노:엑셀기록
    2. 아두이노:파이썬과 통신
  6. 아두이노:편의함수
  7. 센서 사용
    1. 아두이노:모션센서(미완)
    2. 아두이노:온습도센서
    3. 아두이노:조도센서(미완)
    4. 아두이노:인체감지센서(미완)
    5. 아두이노:pH미터 만들기(Gravity 아날로그 pH센서)
    6. 가스센서
      1. 아두이노:MOS 센서
  8. 아두이노:LCD 사용
  9. 아두이노:스위치 사용
  10. 아두이노:릴레이
  11. 통신 관련, 정보 교환
    1. 아두이노:2.4GHz 송수신
      1. 아두이노:WIFI
      2. 아두이노:블루투스(외장모듈)
      3. 아두이노:RF통신 nRF24L01+
    2. 아두이노:IR 송수신
    3. 아두이노:RFID
      1. 아두이노:RFID(13.56MHz)
  12. 아두이노:해결되지 않은 다양한 의문들
  13. 수업용 간단 실습
    1. 아두이노:LED
    2. 아두이노:초음파센서
    3. 아두이노:전압계 만들기
    4. 아두이노:저항계 만들기
  14. 아두이노 모터 출력
    1. 아두이노:서보 모터
    2. 아두이노:DC 모터
    3. 아두이노:BLDC 모터
  15. 키 조작
    1. 아두이노:아케이드 버튼 입력
    2. 아두이노:키보드 키 조작
  16. 미완문서
    1. 아두이노:스테핑 모터(미완)
  17. 분류:아두이노 프로젝트

아케이드 버튼 입력을 아두이노에서 받아들이는 방법.

아케이드 버튼 별 단자 설명

[편집 | 원본 편집]

SZH-ACD003

[편집 | 원본 편집]
단자 묘사 비고
LED + H52 라는 글씨가 바르게 보이는 상황에서.

왼쪽 위

5V, 3.3V 둘 다 사용 가능한데 5V가 밝지.

+단자를 아두이로 제어하면 적당히 밝기 조작도 가능할 듯.

LED - 오른쪽 위 여기 GND와 연결.
NO Normally Open 여기 GND와 연결해도 되고, 여길 아두이노와 엮고 COM을 GND와 연결해도 되고.

어딘지 모르겠으면 그냥 둘 중 하나 아무거나 GND 넣으면 됨. 어차피 누를 때 회선이 이어지니까.

COM Common 보통 아두이노 핀에 연결.

예시 코드

[편집 | 원본 편집]

버튼 눌리면 시리얼 모니터에 알려줌.

[편집 | 원본 편집]
const int BUTTON_PIN = 2;

int lastState = HIGH;

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);

  Serial.begin(9600);
}

void loop() {
  int currentState = digitalRead(BUTTON_PIN);

  if (currentState != lastState) {
    if (currentState == LOW) {
      Serial.println("버튼 눌림");
    } else {
      Serial.println("버튼 뗌");
    }

    lastState = currentState;
  }

  delay(10);
}

버튼 누르면 LED 서서히 꺼짐.

[편집 | 원본 편집]
const int BUTTON_PIN = 2;
const int LED_PIN = 9;

int lastButtonState = HIGH;
int brightness = 255;

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode(LED_PIN, OUTPUT);

  analogWrite(LED_PIN, brightness);

  Serial.begin(9600);
}

void loop() {
  int buttonState = digitalRead(BUTTON_PIN);
  analogWrite(LED_PIN, brightness);
  
  // 버튼을 누르는 순간
  if (buttonState == LOW && lastButtonState == HIGH) {
    Serial.println("버튼 눌림");
    brightness = 255;
  }

  // 버튼을 떼는 순간
  if (buttonState == HIGH && lastButtonState == LOW) {
    Serial.println("버튼 뗌 - LED 밝기 감소");

  }
  if (brightness > 0) {
  brightness -= 1;
  }
  lastButtonState = buttonState;
  delay(10);
}