질문게시판 > 아두이노 버튼 인식 질문 드립니다 ㅠ

TODAY778 TOTAL2,325,648
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 아두이노 버튼 인식 질문 드립니다 ㅠ

페이지 정보

작성자 hdki 작성일2018-05-04 13:22 조회8,579회 댓글1건

본문

	

안녕하세요. 네이버에서 소개받고 처음온 아두이노 초보입니다.

 

https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10405&docId=300636724 

 

네이버에 이러한 질문을 하였고, 이 사이트에 추천받아서 오게 되었습니다.

 

char lastKey;
char keys[4][4] = {
  { '1', '2', '3', 'A' },
  { '4', '5', '6', 'B' },
  { '7', '8', '9', 'C' },
  { '*', '0', '#', 'D' },
    
};


void setup() {
  Serial.begin(9600);
}

void loop() {
  int row = 0;
  int col = 0;
  int selectedRow = -1;
  int selectedCol = -1;
  char keyPressed;
  
  for (int i = 11; i >= 8; i--) {
    pinMode(i, OUTPUT);
    digitalWrite(i, LOW);
  }
  for (int i = 7; i >= 4; i--) {
    pinMode(i, INPUT_PULLUP);
    if (digitalRead(i) == LOW)
      selectedCol = col;
    col++;
  }
  
  for (int i = 7; i >= 4; i--) {
    pinMode(i, OUTPUT);
    digitalWrite(i, LOW);
  }
  for (int i = 11; i >= 8; i--) {
    pinMode(i, INPUT_PULLUP);
    if (digitalRead(i) == LOW)
      selectedRow = row;
    row ++;
  }
  if (selectedRow != -1 && selectedCol != -1) {
    keyPressed = keys[selectedRow][selectedCol];
  }
  else {
    keyPressed = ' ';
  }
  if (keyPressed != lastKey && keyPressed != ' ') {
    Serial.println(keyPressed);
  }
  lastKey = keyPressed;
}

이코드는 4x4 매트릭스 예제입니다.
지금 만들고자 하는건 3x6 버튼 인식법입니다..
 ● ● ● ● ● ●
 ● ● ● ● ● ●
 ● ● ● ● ● ● 
이런식으로 세로3, 가로 6으로 버튼을 두고, 가로는 중복입력이 허용, 세로는 중복입력시 가장 하단에 있는 버튼이 인식되게끔 만들고 싶습니다...

실례가 안된다면 코드 수정에 대한 조언 부탁드립니다.

그리고 코드의 직접적인 해석은 어느정도 할 수 있지만..

for (int i = 11; i >= 8; i--) {
    pinMode(i, OUTPUT);
    digitalWrite(i, LOW);
  }
  for (int i = 7; i >= 4; i--) {
    pinMode(i, INPUT_PULLUP);
    if (digitalRead(i) == LOW)
      selectedCol = col;
    col++;
  }
  
  for (int i = 7; i >= 4; i--) {
    pinMode(i, OUTPUT);
    digitalWrite(i, LOW);
  }
  for (int i = 11; i >= 8; i--) {
    pinMode(i, INPUT_PULLUP);
    if (digitalRead(i) == LOW)
      selectedRow = row;
    row ++;
  }

이코드가 무엇을 의미하고, 11,7,4의 숫자를 쓰는 이유도 궁금합니다 ㅠㅠ

고수님들의 조언 바랍니다 ㅠㅠ
  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 1

조회수 8,579

hdki님의 댓글

hdki 작성일

매트릭스로 하는 이유는 지금 이거 외에도 센서가 좀 더 들어갈 예정이라  아두이노 우노 보드로는 디지털핀 입력이 부족할거 같아서 입니다. ㅠㅠ혹시 몰라서 메가보드를 사용 중이고  매트릭스보다 더 간단한 코드가 있다면 가르쳐 주시면 감사하겠습니다ㅠ. 버튼은 가장 기본 버튼입니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 안녕하세요! 질문드립니다댓글[1] 비공개 18-05-18 7327
질문 변수에 문자를 대입할때 여러 문자를 넣을 방법이 없나요?? hdki 18-05-17 6200
답변 답변글 답변 : 변수에 문자를 대입할때 여러 문자를 넣을 방법이 없나요??댓글[1] master 18-05-17 14429
질문 코드비전으로 변환댓글[1] 박희범 18-05-17 7689
질문 아두이노 펄스출력 DrVoid 18-05-17 8369
답변 답변글 답변 : 아두이노 펄스출력댓글[1] master 18-05-17 6864
질문 atmega128 포트D댓글[1] c린이 18-05-16 7647
질문 아트메가 통신댓글[3] 빠박이빠박 18-05-16 10080
질문 PWM질문입니다. 첨부파일 DrVoid 18-05-16 6330
답변 답변글 답변 : PWM질문입니다.댓글[1] master 18-05-16 6975
질문 안녕하세요. Lora 통신 관련해서 질문 드렸었는데, 재질문드립니다.댓글[7] 비공개 18-05-14 19447
질문 오늘 로드셀 관련하여 지식인에 질문드렸던사람입니다댓글[1] zxcv1vcxz 18-05-14 8366
질문 아두이노 우노에 적외선센서 2개 연결하는법댓글[1] 이미지첨부파일 cho11 18-05-14 16872
질문 아두이노관련 질문드립니다.댓글[1] 최승아 18-05-14 7698
질문 적외선센서와 mp3모듈 연결 소스코드댓글[1] dm501 18-05-14 7922
답변 답변글 답변 : 적외선 거리센서 공식 master 18-05-15 7078
질문 아두이노 적외선센서와 mp3플레이어 모듈 연결댓글[1] dm501 18-05-14 10124
질문 아두이노 어댑터를 뺏다가 연결했을떄 이더넷쉴드가 연결이 안됩니다댓글[1] 이미지첨부파일 cho11 18-05-14 9918
질문 atmega128 장애물회피자동차 스텝모터댓글[1] alsdn6431 18-05-14 9295
질문 아두이노 센서 2개 사용 코드 관련 질문 kimhk 18-05-14 10536
답변 답변글 답변 : fade (target 과 soundPre 의 관계를 이해) master 18-05-14 6616
답변 답변글 답변 2: 사운드 센서 신호 검출 master 18-05-14 8002
답변 답변글 답변 3: 복수개의 LED PWM 구동 방법 master 18-05-14 6434
질문 아두이노 카메라에 대해 질문있습니다.댓글[1] 후후훙 18-05-13 8787
질문 아두이노 센서 연결 질문댓글[3] dsfkmfkds 18-05-13 13359
질문 아두이노 스톱워치 관련입니다.댓글[1] 비공개 18-05-13 8678
질문 아두이노 로봇청소기를 제작중입니다내용> 안녕하세요 아두이노 메가를 이용한 로봇청소기를 구현중에 있습니다. …댓글[1] 동수킴 18-05-12 9650
답변 답변글 답변 : 아두이노 로봇청소기를 제작중입니다내용> 안녕하세요 아두이노 메가를 이용한 로봇청소기를 구현중에 있습… master 18-05-13 7832
질문 ATmega128 led 하나씩 시프트 하는거에 대해 비공개 18-05-12 7656
답변 답변글 답변 : ATmega128 led 하나씩 시프트 - 반복문 master 18-05-12 8145
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기