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

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

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


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

페이지 정보

작성자 master 작성일2018-05-04 14:10 조회10,556회 댓글2건

본문

	

3650a61c8fd4f49829685f789126e7bf_1525408756_7564.png
 

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

for(int i7;i>=4;i--){ pinMode(i,INPUT_PULLUP); }                // 열 입력으로
for(int i=11;i>=8;i--){ pinMode(i,OUTPUT); digitalWrite(i,LOW); } // 행 출력으로, 모두 0출력
//
for(int i7;i>=4;i--){ if(digitalRead(i)==LOW)selectedCol=col++; } // 눌린 키 체크
//
for(int i=11;i>=8;i--){ pinMode(i,INPUT_PULLUP); }                // 행 입력으로
for(int i7;i>=4;i--){ pinMode(i,OUTPUT); digitalWrite(i,LOW); } // 열 출력으로, 모두 0출력
//
for(int i=11;i>=8;i--){ if(digitalRead(i)==LOW)selectedRow=row++; } // 눌린 키 체크

소스코드를 거의 이해했다고하니 이 코드만 설명하면 원하는대로 수정이 가능하겠습니다.

코드를 조금 수정했습니다.

for(int i7;i>=4;i--){ pinMode(i,INPUT_PULLUP); }                // 열 입력으로
열을 모두 입력으로 바꾸고, 내부 풀업저항 사용
for(int i=11;i>=8;i--){ pinMode(i,OUTPUT); digitalWrite(i,LOW); } // 행 출력으로, 모두 0출력
행을 모두 출력으로 바꾼 후 행에 0을 출력합니다.
for(int i7;i>=4;i--){ if(digitalRead(i)==LOW)selectedCol=col++; } // 눌린 키 체크
키가 눌리지 않은 상태에서는 1이 입력 되지만
키가 눌리면 해당 키의 비트가 0이 됩니다.
3650a61c8fd4f49829685f789126e7bf_1525410132_9442.png
(회로는 내부 풀업저항대신 외부 풀업저항으로 설명합니다.)
8~11은 0을 출력하고 4~7을 읽으면 
키가 눌리지 않으면 HIGH가 읽히고, 키가 눌리면 LOW가 읽힙니다.
어느 키인지 모르지만 어느 열인지는 알 수 있습니다.

아래에서는 행과 열만 바뀌어서 구동하고
어느 행인지 알 수 있게 됩니다.
//
for(int i=11;i>=8;i--){ pinMode(i,INPUT_PULLUP); }                // 행 입력으로
for(int i7;i>=4;i--){ pinMode(i,OUTPUT); digitalWrite(i,LOW); } // 열 출력으로, 모두 0출력
//
for(int i=11;i>=8;i--){ if(digitalRead(i)==LOW)selectedRow=row++; } // 눌린 키 체크

//
위에서 어느 열인지, 어느 행인지 알아냈으므로
배열에서 해당 키를 읽어서 키 값을 얻습니다.


//

https://www.basic4mcu.com/bbs/board.php?bo_table=gesiyo9&wr_id=91
여러개의 키를 읽는 것은 이 예제를 공부해보세요
문법은 달라도 방법은 동일합니다.
이 예제에서는 눌린키가 체크되면 바로 빠져나오는데 
전체 라인을 모두 읽어서 저장하면 여러개의 키를 체크하게 되는겁니다.


  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 2

조회수 10,556

hdki님의 댓글

hdki 작성일

아하,, 숫자가 계산이나 함수가 아니라 디지털핀 번호를 말하는거였군요 ㅎㅎ 설명 감사합니다!! ㅎㅎ

hdki님의 댓글

hdki 작성일

선생님ㅠㅠ 소스 들어가서 확인해보니  AVRStudio 소스라서 이해는 하지만 어떻게 아두이노로 변경시킬지 모르겠어요,,  일단 코드는 위에 소스는 한두부분 빼면 이해했지만 어떻게 여러 값이 출력되는지도 잘 모르겠습니다.. ㅠㅠ

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

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 안녕하세요! 질문드립니다댓글[1] 비공개 18-05-18 7328
질문 변수에 문자를 대입할때 여러 문자를 넣을 방법이 없나요?? hdki 18-05-17 6200
답변 답변글 답변 : 변수에 문자를 대입할때 여러 문자를 넣을 방법이 없나요??댓글[1] master 18-05-17 14431
질문 코드비전으로 변환댓글[1] 박희범 18-05-17 7690
질문 아두이노 펄스출력 DrVoid 18-05-17 8370
답변 답변글 답변 : 아두이노 펄스출력댓글[1] master 18-05-17 6864
질문 atmega128 포트D댓글[1] c린이 18-05-16 7648
질문 아트메가 통신댓글[3] 빠박이빠박 18-05-16 10081
질문 PWM질문입니다. 첨부파일 DrVoid 18-05-16 6330
답변 답변글 답변 : PWM질문입니다.댓글[1] master 18-05-16 6976
질문 안녕하세요. Lora 통신 관련해서 질문 드렸었는데, 재질문드립니다.댓글[7] 비공개 18-05-14 19449
질문 오늘 로드셀 관련하여 지식인에 질문드렸던사람입니다댓글[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 6617
답변 답변글 답변 2: 사운드 센서 신호 검출 master 18-05-14 8002
답변 답변글 답변 3: 복수개의 LED PWM 구동 방법 master 18-05-14 6434
질문 아두이노 카메라에 대해 질문있습니다.댓글[1] 후후훙 18-05-13 8789
질문 아두이노 센서 연결 질문댓글[3] dsfkmfkds 18-05-13 13360
질문 아두이노 스톱워치 관련입니다.댓글[1] 비공개 18-05-13 8678
질문 아두이노 로봇청소기를 제작중입니다내용> 안녕하세요 아두이노 메가를 이용한 로봇청소기를 구현중에 있습니다. …댓글[1] 동수킴 18-05-12 9652
답변 답변글 답변 : 아두이노 로봇청소기를 제작중입니다내용> 안녕하세요 아두이노 메가를 이용한 로봇청소기를 구현중에 있습… master 18-05-13 7833
질문 ATmega128 led 하나씩 시프트 하는거에 대해 비공개 18-05-12 7657
답변 답변글 답변 : 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
모바일버전으로보기