학문
틴커캐드 블록코딩 버튼누르면 경보울리는거 어떻게 하나요..
버튼누르면 기본 LED가 켜지고 피에조센서에서 소리 5초정도 울렸다가 꺼지는거 코딩을 아무리 계속 해봐도 에러뜨고 이상해요.. ㅜㅜ
3개의 답변이 있어요!
안녕하세요. 김재훈 전문가입니다.
틴커캐드 블록 코딩에서 버튼을 누를 때 LED가 켜지고 피에조 부저가 5초 동안 울리게 하려면 제어 카테고리의 만약 ~라면 블록과 입력 카테고리의 디지털 핀 읽기 블록을 조합해 버튼 상태를 먼저 감지해야 합니다. 회로 구성 시 버튼은 풀다운 저항으로 연결하고 LED와 피에조 부저는 각각 출력 핀에 정확히 꽂혀 있는지 확인해야 에러를 방지할 수 있습니다. 블록 조립은 만약 [디지털 핀 읽기 (버튼핀) = 높음] 조건문 내부에 디지털 핀 [LED핀]을 켜기 블록을 배치하는 것으로 시작합니다. 그 아래에 출력 카테고리의 스피커 관련 블록이나 톤 재생 블록을 넣고 제어 카테고리의 기다리기 [5]초 블록을 추가해 5초 동안 소리가 유지되도록 설정합니다. 5초가 지난 뒤에는 디지털 핀 [LED핀]을 끄기 블록과 부저를 끄는 블록을 순서대로 배치하여 LED와 경보음이 동시에 꺼지도록 마감합니다. 만약 계속 에러가 뜬다면 블록이 제대로 결합되지 않았거나 핀 번호가 회로와 다르게 지정되었을 가능성이 높으므로 핀 설정을 재확인해야 합니다. 단순 실습에서는 5초 대기 블록을 사용하는 방식이 가장 직관적이며 시뮬레이션 창의 하단 에러 메시지를 참고하면 원인을 쉽게 찾을 수 있습니다. 정확히 이 순서대로 블록을 다시 결합해 보시길 바랍니다
안녕하세요. 강세훈 전문가입니다.
버튼 감지 -> LED,피에조 켜기 -> 5초 대기 -> 피에조 끄기 순서로 짜시기 바랍니다.
대기를 버튼 조건 안에 넣어야 손을 떼도 5초 유지됩니다.
안녕하세요. 이수민 전문가입니다.
버튼은 2번 핀, LED는 13번 핀, 피에조는 8번 핀이라고 할 때, 에러가 나면 회로부터 확인하세요. 버튼 한쪽 다리는 5V에, 반대쪽 다리는 2번 핀과 연결하고, 같은 다리에서 10kΩ 저항을 GND로 하나 더 이어야 해요. 이 저항이 없으면 안 눌러도 핀 값이 오락가락해 경보가 멋대로 울려요. 피에조는 빨간 다리를 8번 핀, 검은 다리를 GND에 꽂으면 돼요.
블록은 제어의 만약 블록 하나 안에 다 넣어요. 조건 칸에는 계산의 같음 블록을 넣고, 왼쪽에 입력의 디지털 핀 2 읽기, 오른쪽에 HIGH(또는 1)를 넣어요. 그 안쪽에 차례로 출력의 핀 13을 HIGH로 설정, 출력의 핀 8 스피커에서 톤 재생 블록, 제어의 5초 대기, 핀 13을 LOW로 설정, 핀 8 스피커 끄기를 쌓으면 돼요.
톤 재생 블록은 소리를 켜자마자 다음 블록으로 넘어가서, 5초 대기를 따로 넣어야 그동안 소리가 유지돼요. 스피커 끄기를 빼먹으면 LED는 꺼져도 소리가 계속 나요 :)