에듀이노-코딩교육 전문 쇼핑몰 에듀이노-코딩교육 전문 쇼핑몰

학교, 공공기관이라면 후불결제하세요!

 
현재 위치
  1. 게시판
  2. 묻고답하기

묻고답하기

기술문의 게시판입니다.

게시판 상세
제목 엠블럭 기초 프로그래밍 예제 문의
작성자 신범철 (ip:)
  • 작성일 2021-12-22
  • 추천 추천하기
  • 조회수 145


엠블럭 기초프로그래밍 #2의 4_2.Tact_Switch를 질문드립니다.


코드를 보면 당연히, 버튼을 누를 때와 놓을 때,  '스위치 눌러볼래?'와  '오! 눌렀네?! 좋아!'가 나올 것 같은데


버튼을 누르지 않은 상태에서  '스위치 눌러볼래?'와  '오! 눌렀네?! 좋아!'가 번갈아 나옵니다.


아두이노 보드도 바꿔보고, 스위치, 보드 다 교환해서 해봐도 결과가 마찬가지 입니다.


어떤 문제가 있을까요?


더불어서 4_3.Switch_LED에서는 불이 켜진 상태에서 스위치를 누르면 더 밝아지고, 놓으면 원래 발기로 켜집니다.


아무것도 아닌 예제라 생각했는데, 하드웨어 특성을 잘 이해하고 있지 못한 것인지...제시된 결과가 나오지 않아 좀 답답합니다.


설명 부탁드립니다.


게시글 신고하기

신고사유

신고해주신 내용은 쇼핑몰 운영자의 검토 후 내부 운영 정책에 의해 처리가 진행됩니다.

평점 0점
첨부파일 4_2.Tact_Switch.jpg , 4_3.Switch_LED.jpg
비밀번호 수정 및 삭제하려면 비밀번호를 입력하세요.
  • 아두 2021-12-22 0점
    수정 삭제 댓글
    스팸글 택트 스위치를 사용하기 위해서는 pull_up, pull_down 방식을 설정해줘야 하는데요

    아두이노 IDE에서는 input을 설정할 때 pull_up인지 pull_down인지 코드적으로 설정할 수가 있습니다

    하지만 엠블럭의 경우 블럭을 공용으로 사용하기 때문에 이러한 부분을 세세하게 설정하기 어려워요

    따라서 0과 1이 반복적으로 출력되어서 0과 1이 아닌 애매한 값(0.5 같은 값)이 연속적으로 출력되는 것처럼 보이는 것입니다.
    이 때문에 led도 미세하게 빛이 켜지고 버튼을 누르면 강하게 켜지는 거죠(0과 1이 빠르게 반복 되면서 0.5의 밝기로 켜지는 것이라고 이해하시면 됩니다)


    해당 증상은 채터링이라고 하는 건데요

    이를 해결하기 위해서는 저항을 연결하는 등 추가적인 회로 구성 소요가 있습니다

    5V전원을 저항을 통해서 5번핀과 스위치 다리A가 연결되어 있는 곳에 물리고, 나머지 스위치 다리B엔 gnd를 물리는 거죠
    (기존 회로에서 차이는 5V핀을 스위치와 D5번 핀이 물려있는 곳에 추가적으로 연결해준다는 겁니다. 저항은 과전류를 방지합니다.)
  • 신범철 2021-12-22 0점
    수정 삭제 댓글
    스팸글 감사합니다. 많은 도움이 되었습니다.

스팸신고 스팸해제

댓글 수정

비밀번호 :

수정 취소

/ byte

비밀번호 : 확인 취소

댓글 입력

댓글달기이름 :비밀번호 : 관리자답변보기

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.

댓글 입력

댓글달기이름 :비밀번호 :

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.

«
»