2013年12月1日 星期日

WEEK13 課堂作業


(CH05) 馬達轉轉

#include <Servo.h> Servo myServo; int const potPin = A0; int potVal; int angle; void setup(){ myServo.attach(9); Serial.begin(9600); } void loop(){ potVal = analogRead(potPin); Serial.print("potVal: "); Serial.print(potVal); angle = map(potVal, 0, 1023, 0, 179); Serial.print(", angle: "); Serial.println(angle); myServo.write(angle); myServo.write(angle); delay(15); }


(CH06) 用光發出聲音


int sensorValue;
int sensorLow=1023;
int sensorHigh=0;

const int ledPin=13;

void setup(){
  pinMode(ledPin,OUTPUT);
  digitalWrite(ledPin,HIGH);

  while(millis()<5000){
    sensorValue=analogRead(A0);
    if(sensorValue>sensorHigh){
      sensorHigh=sensorValue;
    }
    if(sensorValue<sensorLow){
      sensorLow=sensorValue;
    }
  }
  digitalWrite(ledPin,LOW);
}

void loop(){
  sensorValue=analogRead(A0);
  int pitch=map(sensorValue,sensorLow,sensorHigh,50,4000);
  tone(8,pitch,20);
  delay(10);
}





(CH07) 按鈕聲音


int notes[]={262,294,330,349};

void setup(){
  Serial.begin(9600);
}
void loop(){
  int keyVal=analogRead(A0);
  Serial.println(keyVal);
  if(keyVal==1023){
    tone(8,notes[0]);
  }
  else if(keyVal>=800 && keyVal<=1021){
    tone(8,notes[1]);
  }
  else if(keyVal>=400&& keyVal<=515){
    tone(8,notes[2]);
  }
  else if(keyVal==641){
    tone(8,notes[3]);
  }
  else {
    noTone(8);
  }
}



沒有留言:

張貼留言