게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
아두이노로 키보드를 만드려고하는데 문제가 있습니다...!ㅠ_ㅠ
게시물ID : programmer_21598짧은주소 복사하기
작성자 : 꽃봉오리의꿈
추천 : 0
조회수 : 1059회
댓글수 : 2개
등록시간 : 2017/10/30 21:43:29
옵션
  • 외부펌금지
키가 5개인 미니 키보드를 제작하려고 합니다.
기본적인 틀은 다 짜놓은 상태인데...
 
원래키보드라면 a를 한번 누르면 하나만 입력되고,
a키를 꾹 누른다면 a(잠깐 쉬고) a 연속입력 
이런식으로 되는데 저는 a키를 한번 누르면 채터링 현상때문에 aaa이런식으로 연타로 눌립니다...ㅠ
키보드랑 똑같은 원리의 딜레이를 주고싶은데,
버튼 코드 짜는것도 엄청 버거운 일이었어서 딜레이를 추가하는게 여간 어려운일이 아니네요...
그래서 오유여러분에게 도움 받고자 글을 올리게 되었습니다ㅠ_ㅠ

제 스케치 중 삭제해도 되겠다 싶은 부분은 말씀 부탁드립니다.
자세히 아시는 회원님께서는 스케지의 어디부분에 추가를 해야하는지 설명 부탁드릴게요 ㅠ...
(완전초급이라 간단히 말해주시면 적용하는데 어려워서요 ㅠㅠㅠㅠ)

 
 질문 요약 : 키보드랑 똑같은 동작을 하는 아두이노를 만들고 싶은데
버튼을 눌렀을때 채터링 현상때문에 여러번 입력됨.
키보드랑 똑같은 원리로 딜레이를 주고싶음.

◎ 사용된 부품 : 아두이노 레오나르도, 2핀 스위치,마이크로 스위치, 저항 등
※ pinMode9는 LED라 신경쓰지 않으셔도 됩니다!
 
■ 어떤 분은 http://www.beanbox.co.kr/wordpress/?p=1359 이 사이트를 참고하면 될거라고 하셨는데
완전 쌩초보다보니 저기서 어느부분을 적용시켜야하는지 모르겠습니다 ㅜ__ㅜ
▼ 현재까지 작성된 코드
#include <Keyboard.h>
void setup() {
  pinMode(2, INPUT);
  pinMode(3, INPUT);
  pinMode(4, INPUT);
  pinMode(5, INPUT);
  pinMode(6, INPUT);
  pinMode(9, OUTPUT);
  Serial.begin(9600);
  Keyboard.begin();
}
void loop()
{
if (digitalRead(2)==HIGH)
{
  Keyboard.write('z');
  digitalWrite(9, HIGH);
}
else
{
 digitalWrite(9,LOW);
}
if (digitalRead(3)==HIGH)
{
  Keyboard.write('q');
  digitalWrite(9, HIGH);
}
else
{
 digitalWrite(9,LOW);
}
if (digitalRead(4)==HIGH)
{
  Keyboard.write('s');
  digitalWrite(9, HIGH);
}
else
{
 digitalWrite(9,LOW);
}
if (digitalRead(5)==HIGH)
{
  Keyboard.write('c');
  digitalWrite(9, HIGH);
}
else
{
 digitalWrite(9,LOW);
}
 if (digitalRead(6)==HIGH)
{
  Keyboard.write('e');
  digitalWrite(9, HIGH);
}
else
{
 digitalWrite(9,LOW);
}
}
출처 직접 작성! 6_6...
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호