누구나 도전할 수 있는 마이크로컴퓨팅 Challenge

모두이노

초음파 센서로 징글벨 플레이 하기

작성자
T
작성일
2023-11-29 17:39
조회
47

#include "pitches.h"

#define TRIG_PIN 9

#define ECHO_PIN 10

#define BUZZER_PIN 8


void setup() {

  Serial.begin(9600);

  pinMode(TRIG_PIN, OUTPUT);

  pinMode(ECHO_PIN, INPUT);

  pinMode(BUZZER_PIN, OUTPUT);

}


void loop() {

  long duration, distance;

  

  // 초음파 센서로 거리 측정

  digitalWrite(TRIG_PIN, LOW);

  delayMicroseconds(2);

  digitalWrite(TRIG_PIN, HIGH);

  delayMicroseconds(10);

  digitalWrite(TRIG_PIN, LOW);

  duration = pulseIn(ECHO_PIN, HIGH);

  distance = (duration / 2) * 0.0343;


  Serial.print("Distance: ");

  Serial.print(distance);

  Serial.println(" cm");


  // 거리에 따라 크리스마스 캐롤 연주

  if (distance < 10) {

    playJingleBells();

  }


  delay(500);

}


void playJingleBells() {

  int melody[] = {

    NOTE_E4, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_E4, 

    NOTE_E4, NOTE_G4, NOTE_C4, NOTE_D4, NOTE_E4,

    NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_E4, NOTE_E4, NOTE_E4, 

    NOTE_E4, NOTE_D4, NOTE_D4, NOTE_E4, NOTE_D4, NOTE_G4,

    NOTE_E4, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_E4, 

    NOTE_E4, NOTE_G4, NOTE_C4, NOTE_D4, NOTE_E4,

    NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_E4, NOTE_E4, NOTE_E4, 

    NOTE_G4, NOTE_G4, NOTE_F4, NOTE_D4, NOTE_C4,

  };


  int noteDurations[] = {

    200, 200, 400, 200, 200, 400, 

    200, 200, 200, 200, 800,

    200, 200, 200, 200, 200, 200, 200, 200, 

    200, 200, 200, 200, 400, 400,

    200, 200, 400, 200, 200, 400, 

    200, 200, 200, 200, 800,

    200, 200, 200, 200, 200, 200, 200, 200, 

    200, 200, 200, 200, 800,

  };


  for (int i = 0; i < 49; i++) {

    tone(BUZZER_PIN, melody[i], noteDurations[i]);

    delay(noteDurations[i] * 1.3);

  }

  

  noTone(BUZZER_PIN);

}


/*

#define NOTE_B0  31


#define NOTE_C1  33


#define NOTE_CS1 35


#define NOTE_D1  37


#define NOTE_DS1 39


#define NOTE_E1  41


#define NOTE_F1  44


#define NOTE_FS1 46


#define NOTE_G1  49


#define NOTE_GS1 52


#define NOTE_A1  55


#define NOTE_AS1 58


#define NOTE_B1  62


#define NOTE_C2  65


#define NOTE_CS2 69


#define NOTE_D2  73


#define NOTE_DS2 78


#define NOTE_E2  82


#define NOTE_F2  87


#define NOTE_FS2 93


#define NOTE_G2  98


#define NOTE_GS2 104


#define NOTE_A2  110


#define NOTE_AS2 117


#define NOTE_B2  123


#define NOTE_C3  131


#define NOTE_CS3 139


#define NOTE_D3  147


#define NOTE_DS3 156


#define NOTE_E3  165


#define NOTE_F3  175


#define NOTE_FS3 185


#define NOTE_G3  196


#define NOTE_GS3 208


#define NOTE_A3  220


#define NOTE_AS3 233


#define NOTE_B3  247


#define NOTE_C4  262


#define NOTE_CS4 277


#define NOTE_D4  294


#define NOTE_DS4 311


#define NOTE_E4  330


#define NOTE_F4  349


#define NOTE_FS4 370


#define NOTE_G4  392


#define NOTE_GS4 415


#define NOTE_A4  440


#define NOTE_AS4 466


#define NOTE_B4  494


#define NOTE_C5  523


#define NOTE_CS5 554


#define NOTE_D5  587


#define NOTE_DS5 622


#define NOTE_E5  659


#define NOTE_F5  698


#define NOTE_FS5 740


#define NOTE_G5  784


#define NOTE_GS5 831


#define NOTE_A5  880


#define NOTE_AS5 932


#define NOTE_B5  988


#define NOTE_C6  1047


#define NOTE_CS6 1109


#define NOTE_D6  1175


#define NOTE_DS6 1245


#define NOTE_E6  1319


#define NOTE_F6  1397


#define NOTE_FS6 1480


#define NOTE_G6  1568


#define NOTE_GS6 1661


#define NOTE_A6  1760


#define NOTE_AS6 1865


#define NOTE_B6  1976


#define NOTE_C7  2093


#define NOTE_CS7 2217


#define NOTE_D7  2349


#define NOTE_DS7 2489


#define NOTE_E7  2637


#define NOTE_F7  2794


#define NOTE_FS7 2960


#define NOTE_G7  3136


#define NOTE_GS7 3322


#define NOTE_A7  3520


#define NOTE_AS7 3729


#define NOTE_B7  3951


#define NOTE_C8  4186


#define NOTE_CS8 4435


#define NOTE_D8  4699


#define NOTE_DS8 4978

*/

전체 0

전체 6
번호 제목 작성자 작성일 추천 조회
6
12LED lilypad 반짝이는 9개의 LED 2023
T | 2023.11.29 | 추천 0 | 조회 33
T 2023.11.29 0 33
5
9개 LED 순차적으로 켜기
T | 2023.11.29 | 추천 -1 | 조회 36
T 2023.11.29 -1 36
4
초음파 센서로 징글벨 플레이 하기
T | 2023.11.29 | 추천 0 | 조회 47
T 2023.11.29 0 47
3
피에조 터치로 크리스마스 캐롤재생
T | 2023.11.29 | 추천 0 | 조회 36
T 2023.11.29 0 36
2
초음파 센서로 LED 켜기
T | 2023.11.29 | 추천 0 | 조회 48
T 2023.11.29 0 48
1
웨어러블 _ 릴리패드와 8개의 LED
T | 2023.11.05 | 추천 0 | 조회 40
T 2023.11.05 0 40

©2021 (주)지능디자인. ALL RIGHTS RESERVED.