Guest User

Untitled

a guest
May 21st, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. int triggerPin = 24; // Ultrasound signal pin
  2. int echoPin = 31;
  3. int val;
  4. int ultrasoundValue;
  5. int distance;
  6.  
  7. int breatheDimVal = 10;
  8. int ledpinO = 0; // light connected to digital pin 24
  9. int ledpin1 = 5; // light connected to digital pin 39
  10.  
  11. int which = 0; // variable the keeps which light must be turn on next
  12. long time, sensorReadTime;
  13. int inc;
  14.  
  15. boolean readingSensor = false;
  16.  
  17. void setup()
  18. {
  19. Serial.begin(9600);
  20. pinMode(triggerPin, OUTPUT);
  21. pinMode(echoPin, INPUT);
  22. for(int i=0; i<22; i++) {
  23. pinMode(i, OUTPUT);
  24. }
  25. time = millis();
  26. sensorReadTime = millis();
  27. inc = 30;
  28. }
  29.  
  30. void loop()
  31. {
  32. readSensor();
  33. if (millis()-100 > sensorReadTime)
  34. {
  35. sensorReadTime = millis();
  36. readingSensor = false;
  37. }
  38.  
  39. if (millis()-(ultrasoundValue/5) > time)
  40. {
  41. time = millis();
  42. which++;
  43. breathe();
  44. heartbeat();
  45. }
  46. Serial.println(ultrasoundValue);
  47.  
  48. }
  49.  
  50. void readSensor() {
  51. if (!readingSensor)
  52. {
  53. ultrasoundValue = 0;
  54. val = 0;
  55. digitalWrite(triggerPin, HIGH); // Send low pulse
  56. delayMicroseconds(10); // Wait for 10 microseconds
  57. digitalWrite(triggerPin, LOW); // Holdoff
  58. readingSensor = true;
  59. }
  60. else
  61. {
  62. val = digitalRead(echoPin); // Append signal value to val
  63. if (val == HIGH)
  64. {
  65. ultrasoundValue = ultrasoundValue +1; // Count echo pulse time
  66. }
  67. }
  68. }
  69.  
  70. void turn_all_off() // function to turn off all the lights
  71. { // connected to digital pins 0 to 7
  72. for(int i=0; i<22; i++)
  73. {
  74. digitalWrite(i, LOW);
  75. }
  76. }
  77.  
  78. void heartbeat() {
  79. if(which > 21) // check for the range, if greater then 7 goes back to 0
  80. {
  81. which = 0;
  82. }
  83. turn_all_off(); // turns all lights off
  84. digitalWrite(which, HIGH); // sets on the current light on
  85. digitalWrite(which-1,HIGH);
  86. digitalWrite(which-2, HIGH);
  87. digitalWrite(which-3, HIGH);
  88. }
  89.  
  90. void breathe()
  91. {
  92. analogWrite(ledpin1, breatheDimVal);
  93. analogWrite(ledpinO, breatheDimVal);
  94. breatheDimVal += inc;
  95. if (breatheDimVal <= 10 || breatheDimVal > 990) {
  96. inc *= -1;
  97. }
  98. }
Add Comment
Please, Sign In to add comment