2013年12月1日 星期日

第十三週上課作業

1.旋轉馬達:
#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);
  delay(15);
}




2.發出平率:
int sensorValue;
int sensorHigh=0;
int sensorLow=1023;

const int ledPin=23;
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,40000);
tone(8,pitch,440);
delay(10);
}




3. DO RE MI 聲
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 >=990 && 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);
 }
}

沒有留言:

張貼留言