틴커캐드 블록코딩 버튼누르면 경보울리는거 어떻게 하나요..

버튼누르면 기본 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는 꺼져도 소리가 계속 나요 :)