2013年12月1日 星期日

Week13

05.Mood Cue
#include <Servo.h>

Servo myServo;

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




06. Light Theremin
int sensorValue;
int sensorLow=1023;
int sensorHigh=0;
const int ledPin = 13;
void setup(){
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);
  while(millis() < 50000){
    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);
}



07. Keyboard Instrument
int buttons[6];

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 >= 900 && keyVal <= 1010){
    tone(8,notes[1]);
  }
  else if(keyVal >=505 && keyVal <=515){
    tone(8,notes[2]);
  }
  else if(keyVal >=5 && keyVal<=10){
    tone(8,notes[3]);
  }
  else{
    noTone(8);
  }
}

沒有留言:

張貼留言