Stap 4: Code
Const int analogPin0 = A0;
Const int analogPin1 = a1 worden verkregen;
Const int analogPin2 = A2;
Const int spreker = 8;
Const int drempel = 100;
Const int threshold2 = 1;
#include "pitches.h"
VOID Setup {}
pinMode (spreker, OUTPUT);
Serial.begin(9600);
}
void loop {}
int analogValue0 = analogRead(analogPin0);
int analogValue1 = analogRead(analogPin1);
int analogValue2 = analogRead(analogPin2);
Als (analogValue0 < threshold2) {}
voor (int thisNote = 0; thisNote < 8; thisNote ++) {}
Tone(8,NOTE_C4,8);
noTone(8);
}
}
else {}
digitalWrite(speaker,LOW);
}
Als (analogValue1 < drempel) {}
voor (int thisNote = 0; thisNote < 8; thisNote ++) {}
Tone(8,NOTE_C6,8);
noTone(8);
}
}
Als (analogValue2 < threshold2) {}
voor (int thisNote = 0; thisNote < 8; thisNote ++) {}
Tone(8,NOTE_C5,8);
noTone(8);
}
}
Serial.println(analogValue0);
}
Deze code vereist de pitches.h handel die je op de Arduino website vinden kunt.
Er zijn twee drempels te maken voor de verschillen in de intensiteit van de nul en eerst bestellen diffractie pieken. De lagere drempel is voor de sensoren die detecteren van de eerste orde diffractie bergtoppen die een veel lagere intensiteit hebben.
Als u wilt wijzigen van de code, zodat de spreker de notitie wordt afgespeeld wanneer u de laserlicht op de fototransistor schijnen, alles wat je hoeft te doen is de ongelijkheid in de als wijzigt verklaringen zodat de analoge waarden groter dan de drempelwaarden zijn.