아두이노 초음파센서

자료실

아두이노 초음파센서

소프트웨어과 2 62,503 2022.06.02 14:16

int trig = 2;                  // trig에 2를 대입

int echo = 3;                             // echo에 3을 대입

void setup() {

  Serial.begin(9600);                   // 시리얼통신 시작, 통신속도는 9600

  pinMode(trig, OUTPUT);          // trig(2)핀을 출력모드로 설정

  pinMode(echo, INPUT);            //  echo(3)핀을 입력모드로 설정

}

void loop() {

  digitalWrite(trig, HIGH);                    //trig핀에 HIGH신호를 출력

  delayMicroseconds(10);                   // 10마이크로초 동안 대기

  digitalWrite(trig, LOW);                    // trig 핀에 LOW(0V)신호를 출력

  int distance = pulseIn(echo, HIGH) * 34 / 2 / 1000;

  Serial.print(distance);                       // distance를 시리얼 모니터에 출력

  Serial.println("cm");                           // 문자열 cm을 시리얼 모니터에 출력

  delay(100);

}


Comments

소프트웨어과 2022.06.02 14:59
에어 피아노

int trig = 2;                  // trig에 2를 대입
int echo = 3;                            // echo에 3을 대입
void setup() {
  Serial.begin(9600);                  // 시리얼통신 시작, 통신속도는 9600
  pinMode(trig, OUTPUT);          // trig(2)핀을 출력모드로 설정
  pinMode(echo, INPUT);            //  echo(3)핀을 입력모드로 설정
  pinMode(5, OUTPUT);
}
void loop() {
  digitalWrite(trig, HIGH);                    //trig핀에 HIGH신호를 출력
  delayMicroseconds(10);                  // 10마이크로초 동안 대기
  digitalWrite(trig, LOW);                    // trig 핀에 LOW(0V)신호를 출력
  int distance = pulseIn(echo, HIGH) * 34 / 2 / 1000;
  if(distance <5){
      tone(5, 1046.6);  //도
      delay(200); noTone(5); delay(200);
  }else if(distance <15){
      tone(5, 1174.6);  //레
      delay(200); noTone(5); delay(200);
  }else if(distance <25){
      tone(5, 1318.5);  //미
      delay(200); noTone(5); delay(200);
  }else if(distance <35){
      tone(5, 1397.0);  //파
      delay(200); noTone(5); delay(200);
  }else if(distance <45){
      tone(5, 1568.0);  //솔
      delay(200); noTone(5); delay(200);
  }else if(distance <55){
      tone(5, 1760);  //라
      delay(200); noTone(5); delay(200);
  }else if(distance <65){
      tone(5, 1975.5);  //시
      delay(200); noTone(5); delay(200);
  }else if(distance <75){
      tone(5, 2093.0);  //도
      delay(200); noTone(5); delay(200);
  }else{
      noTone(5); delay(200);
  }
 
  Serial.print(distance);                      // distance를 시리얼 모니터에 출력
  Serial.println("cm");                          // 문자열 cm을 시리얼 모니터에 출력
  delay(100);
}
소프트웨어과 2022.06.02 14:31
스피커

void setup() {
  pinMode(5, OUTPUT);                                // 5번핀을 출력모드로 설정
}
void loop() {
  tone(5, 1046.5);                                            //도
  delay(200); noTone(5); delay(200);
  tone(5, 1244.5);                                            //레
  delay(200); noTone(5); delay(200);
  tone(5, 1318.5);                                            //미
  delay(200); noTone(5); delay(200);
  tone(5, 1397.0);                                            //파
  delay(200); noTone(5); delay(200);
}
Category
반응형 구글광고 등
State
  • 현재 접속자 38 명
  • 오늘 방문자 1,165 명
  • 어제 방문자 3,186 명
  • 최대 방문자 3,186 명
  • 전체 방문자 473,290 명
  • 전체 게시물 6,859 개
  • 전체 댓글수 129 개
  • 전체 회원수 31 명
Facebook Twitter GooglePlus KakaoStory NaverBand