정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

AtTiny85가 작동을 하지 않습니다.
fprh63 | 2021-03-27

안녕하세요. 이번에 학교 과제로 AtTiny85를 이용한 테레민을 제작 중입니다. 

밑의 사진처럼 초음파 센서와 3V 두개의 전지, 스피커 등을 연결 시켰습니다만. 

작동을 하지 않아서 뭐가 문제인지 도저히 알 수 없어서 이렇게 글을 남깁니다. 

 

 

명령문은 코코아팹의 초음파 센서로 테레민 만들기를 이용하였고. 

아두이노 UNO로 똑같이 선을 연결해서 쓰면 작동을 하는데, AtTiny85로는 작동이 안 되어서문제점을 못 찾고있습니다. 
int piezoPin = 2;
int echoPin = 4;
int trigPin = 3;

void setup() {

  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(piezoPin, OUTPUT);
}

void loop() {
  digitalWrite(trigPin, LOW);
  digitalWrite(echoPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  unsigned long duration = pulseIn(echoPin, HIGH);

  float distance = duration / 29.0 / 2.0;

  if (distance < 50) {
    if (distance <= 5) {
      tone(piezoPin, 1047);            //도
    } else if (distance <= 10) {
      tone(piezoPin, 1174);            //레     
    } else if (distance <= 15) {
      tone(piezoPin, 1318);            //미
    } else if (distance <= 20) {
      tone(piezoPin, 1396);            //파
    } else if (distance <= 25) {
      tone(piezoPin, 1567);            //솔
    } else if (distance <= 30) {
      tone(piezoPin, 1760);            //라
    } else if (distance <= 35) {
      tone(piezoPin, 1975);            //시
    } else if (distance <= 40) {
      tone(piezoPin, 2093);            //도
    }
  }
  else {
    noTone(piezoPin);
  }
  delay(100);
}

 

답변 미리 감사드립니다. 

 

이전글   |    도와주세요!! 2021-03-20
다음글   |    외부 전류 조절 2021-03-28