You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

204 lines
3.9 KiB

5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
  1. //currently 8 leds controllable
  2. #define LED1 A0
  3. #define LED2 A1
  4. #define LED3 A2
  5. #define LED4 A3
  6. #define LED5 A4
  7. #define LED6 A5
  8. #define LED7 7 //A6, and A7 are ADC only. No GPIO.
  9. #define LED8 8
  10. #define Sensor A6
  11. #define SPKR 5
  12. uint16_t gasVAL;
  13. void setup() {
  14. // put your setup code here, to run once:
  15. Serial.begin(9600);
  16. pinMode(LED1, OUTPUT);
  17. pinMode(LED2, OUTPUT);
  18. pinMode(LED3, OUTPUT);
  19. pinMode(LED4, OUTPUT);
  20. pinMode(LED5, OUTPUT);
  21. pinMode(LED6, OUTPUT);
  22. pinMode(LED7, OUTPUT);
  23. pinMode(LED8, OUTPUT);
  24. pinMode(SPKR, OUTPUT);
  25. Startup();
  26. }
  27. void loop() {
  28. // put your main code here, to run repeatedly:
  29. gasVAL = analogRead(Sensor);
  30. Serial.println(gasVAL);
  31. lightLED(gasVAL);
  32. delay(30);
  33. }
  34. void Startup (void){
  35. Serial.println("Flammable Gas Sensor");
  36. Serial.println("Begin");
  37. int yy = 0;
  38. for(yy=200;yy<1200;yy+=150){
  39. tone(SPKR,yy,100);
  40. delay(100);
  41. }
  42. /*
  43. for(yy=2000;yy>100;yy-=100){
  44. tone(SPKR,yy,100);
  45. delay(50);
  46. }*/
  47. digitalWrite(LED1,HIGH);
  48. digitalWrite(LED2,HIGH);
  49. digitalWrite(LED3,HIGH);
  50. digitalWrite(LED4,HIGH);
  51. delay(500);
  52. digitalWrite(LED1,LOW);
  53. digitalWrite(LED2,LOW);
  54. digitalWrite(LED3,LOW);
  55. digitalWrite(LED4,LOW);
  56. digitalWrite(LED5,HIGH);
  57. digitalWrite(LED6,HIGH);
  58. digitalWrite(LED7,HIGH);
  59. digitalWrite(LED8,HIGH);
  60. delay(500);
  61. digitalWrite(LED5,LOW);
  62. digitalWrite(LED6,LOW);
  63. digitalWrite(LED7,LOW);
  64. digitalWrite(LED8,LOW);
  65. }
  66. void lightLED( uint16_t reading){
  67. if (reading >= 750){
  68. digitalWrite(LED1,HIGH);
  69. digitalWrite(LED2,HIGH);
  70. digitalWrite(LED3,HIGH);
  71. digitalWrite(LED4,HIGH);
  72. digitalWrite(LED5,HIGH);
  73. digitalWrite(LED6,HIGH);
  74. digitalWrite(LED7,HIGH);
  75. digitalWrite(LED8,HIGH);
  76. tone(SPKR,750,100);
  77. }
  78. else if (reading >= 700){
  79. digitalWrite(LED1,HIGH);
  80. digitalWrite(LED2,HIGH);
  81. digitalWrite(LED3,HIGH);
  82. digitalWrite(LED4,HIGH);
  83. digitalWrite(LED5,HIGH);
  84. digitalWrite(LED6,HIGH);
  85. digitalWrite(LED7,HIGH);
  86. digitalWrite(LED8,LOW);
  87. tone(SPKR,700,100);
  88. }
  89. else if (reading >= 650){
  90. digitalWrite(LED1,HIGH);
  91. digitalWrite(LED2,HIGH);
  92. digitalWrite(LED3,HIGH);
  93. digitalWrite(LED4,HIGH);
  94. digitalWrite(LED5,HIGH);
  95. digitalWrite(LED6,HIGH);
  96. digitalWrite(LED7,LOW);
  97. digitalWrite(LED8,LOW);
  98. tone(SPKR,650,100);
  99. }
  100. else if (reading >= 600){
  101. digitalWrite(LED1,HIGH);
  102. digitalWrite(LED2,HIGH);
  103. digitalWrite(LED3,HIGH);
  104. digitalWrite(LED4,HIGH);
  105. digitalWrite(LED5,HIGH);
  106. digitalWrite(LED6,LOW);
  107. digitalWrite(LED7,LOW);
  108. digitalWrite(LED8,LOW);
  109. tone(SPKR,600,100);
  110. }
  111. else if (reading >= 550){
  112. digitalWrite(LED1,HIGH);
  113. digitalWrite(LED2,HIGH);
  114. digitalWrite(LED3,HIGH);
  115. digitalWrite(LED4,HIGH);
  116. digitalWrite(LED5,LOW);
  117. digitalWrite(LED6,LOW);
  118. digitalWrite(LED7,LOW);
  119. digitalWrite(LED8,LOW);
  120. tone(SPKR,550,100);
  121. }
  122. else if (reading >= 500){
  123. digitalWrite(LED1,HIGH);
  124. digitalWrite(LED2,HIGH);
  125. digitalWrite(LED3,HIGH);
  126. digitalWrite(LED4,LOW);
  127. digitalWrite(LED5,LOW);
  128. digitalWrite(LED6,LOW);
  129. digitalWrite(LED7,LOW);
  130. digitalWrite(LED8,LOW);
  131. tone(SPKR,500,100);
  132. }
  133. else if (reading >= 410){
  134. digitalWrite(LED1,HIGH);
  135. digitalWrite(LED2,HIGH);
  136. digitalWrite(LED3,LOW);
  137. digitalWrite(LED4,LOW);
  138. digitalWrite(LED5,LOW);
  139. digitalWrite(LED6,LOW);
  140. digitalWrite(LED7,LOW);
  141. digitalWrite(LED8,LOW);
  142. tone(SPKR,410,100);
  143. }
  144. else if (reading >= 300){
  145. digitalWrite(LED1,HIGH);
  146. digitalWrite(LED2,LOW);
  147. digitalWrite(LED3,LOW);
  148. digitalWrite(LED4,LOW);
  149. digitalWrite(LED5,LOW);
  150. digitalWrite(LED6,LOW);
  151. digitalWrite(LED7,LOW);
  152. digitalWrite(LED8,LOW);
  153. }
  154. else if (reading >= 0){
  155. digitalWrite(LED1,LOW);
  156. digitalWrite(LED2,LOW);
  157. digitalWrite(LED3,LOW);
  158. digitalWrite(LED4,LOW);
  159. digitalWrite(LED5,LOW);
  160. digitalWrite(LED6,LOW);
  161. digitalWrite(LED7,LOW);
  162. digitalWrite(LED8,LOW);
  163. }
  164. /*else {
  165. digitalWrite(LED1,HIGH);
  166. digitalWrite(LED2,LOW);
  167. digitalWrite(LED3,HIGH);
  168. digitalWrite(LED4,LOW);
  169. digitalWrite(LED5,HIGH);
  170. digitalWrite(LED6,LOW);
  171. digitalWrite(LED7,HIGH);
  172. digitalWrite(LED8,LOW);
  173. }*/
  174. }