Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //スクーミーをはやく振ってみたり、ゆっくり動かしてみよう
- #define SPEAKER 10 //OUTPUTA:5 OUTPUTB:10
- #define cdsPin 5 //INPUTA:5 INPUTB:0
- double luxnew = 0; //新しい光の値
- double luxold = 0; //古い光の値
- double ans = 0; //差
- void setup() {
- Serial.begin(9600);
- pinMode(cdsPin,INPUT);
- pinMode(SPEAKER,OUTPUT);
- }
- void loop() {
- float cds_ad = analogRead(cdsPin);
- // AD値を電圧値に変換
- float cds_v = cds_ad * 5 / 1023;
- // 電圧値より、Lux計算
- luxnew = 10000 * cds_v / (5 - cds_v) / 1000;
- Serial.print(luxnew);
- Serial.println(" Lux ");
- ans = luxnew - luxold;
- /////ここから変更できます。動かしたときの音を変えたり、音を出したいときにどれだけ動かせばいいかを変更できる
- if(abs(ans) > 10){ //変化の大きさ、大きほど、大きく動かす必要がある
- tone(SPEAKER, 1975, 125); //高いシ
- delay(50);
- tone(SPEAKER, 2637, 250); //もう1つ高いミ
- delay(50);
- }else{
- noTone(SPEAKER);
- }
- luxold = luxnew;
- delay(50);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement