Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. //スクーミーをはやく振ってみたり、ゆっくり動かしてみよう
  2.  
  3. #define SPEAKER 10 //OUTPUTA:5 OUTPUTB:10
  4. #define cdsPin 5 //INPUTA:5 INPUTB:0
  5.  
  6.  
  7. double luxnew = 0; //新しい光の値
  8. double luxold = 0; //古い光の値
  9. double ans = 0; //差
  10.  
  11.  
  12. void setup() {
  13.  
  14. Serial.begin(9600);
  15. pinMode(cdsPin,INPUT);
  16. pinMode(SPEAKER,OUTPUT);
  17. }
  18.  
  19. void loop() {
  20. float cds_ad = analogRead(cdsPin);
  21. // AD値を電圧値に変換
  22. float cds_v = cds_ad * 5 / 1023;
  23. // 電圧値より、Lux計算
  24. luxnew = 10000 * cds_v / (5 - cds_v) / 1000;
  25.  
  26. Serial.print(luxnew);
  27. Serial.println(" Lux ");
  28. ans = luxnew - luxold;
  29.  
  30.  
  31.  
  32.  
  33. /////ここから変更できます。動かしたときの音を変えたり、音を出したいときにどれだけ動かせばいいかを変更できる
  34.  
  35. if(abs(ans) > 10){ //変化の大きさ、大きほど、大きく動かす必要がある
  36.  
  37.  
  38. tone(SPEAKER, 1975, 125); //高いシ
  39. delay(50);
  40. tone(SPEAKER, 2637, 250); //もう1つ高いミ
  41. delay(50);
  42.  
  43.  
  44.  
  45.  
  46.  
  47. }else{
  48.  
  49.  
  50. noTone(SPEAKER);
  51.  
  52. }
  53.  
  54. luxold = luxnew;
  55.  
  56. delay(50);
  57.  
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement