Guest User

Untitled

a guest
Nov 22nd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. int vibPin = 12;
  2. int gPin = 11;
  3. int rPin = 13;
  4. int bPin = 10;
  5. long start;
  6. boolean ledOn = false;
  7. int count = 0;
  8. long tSnd = -1;
  9. int sndLevel = 0;
  10.  
  11. void setup() {
  12. Serial.begin(9600);
  13.  
  14. pinMode(bPin, OUTPUT);
  15. pinMode(gPin, OUTPUT);
  16. pinMode(rPin, OUTPUT);
  17. pinMode(vibPin, OUTPUT);
  18.  
  19. // HIGH = off, LOW = on
  20. digitalWrite(bPin, HIGH);
  21. digitalWrite(rPin, HIGH);
  22. digitalWrite(gPin, HIGH);
  23.  
  24. start = millis();
  25. }
  26.  
  27. boolean irOn(int ir) {
  28. // Serial.println(ir);
  29. return 50 < ir;
  30. }
  31.  
  32. boolean micOn(int mic) {
  33. Serial.println(mic);
  34. if (sndLevel == 0) {
  35. sndLevel = mic;
  36. return false;
  37. }
  38. return 100 < mic - sndLevel;
  39. }
  40.  
  41. void loop() {
  42. int ir = analogRead(A0);
  43. int mic = analogRead(A1);
  44.  
  45. long now = millis();
  46. if ( irOn(ir) || now - tSnd < 3000 || micOn(mic)) {
  47. if (100 < now - start) {
  48. ledOn = !ledOn;
  49. if (micOn(mic)) {
  50. tSnd = now;
  51. }
  52. start = now;
  53. }
  54. count = 0;
  55. } else if ((800 < now - start) && (count <= 10)) {
  56. ledOn = !ledOn;
  57. count++;
  58. start = now;
  59. } else if (1700 < now - start) {
  60. ledOn = !ledOn;
  61. start = now;
  62. }
  63.  
  64. if (irOn(ir) || now - tSnd < 3000 || micOn(mic)) {
  65. digitalWrite(vibPin, HIGH);
  66. } else {
  67. digitalWrite(vibPin, LOW);
  68. }
  69.  
  70. if (ledOn) {
  71. if (irOn(ir) || now - tSnd < 3000 || micOn(mic)) {
  72. digitalWrite(rPin, LOW);
  73. } else {
  74. if (10 < count) {
  75. digitalWrite(bPin, LOW);
  76. } else {
  77. digitalWrite(gPin, LOW);
  78. }
  79. }
  80. } else {
  81. digitalWrite(bPin, HIGH);
  82. digitalWrite(rPin, HIGH);
  83. digitalWrite(gPin, HIGH);
  84. }
  85.  
  86. delay(10);
  87. }
Add Comment
Please, Sign In to add comment