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.

169 lines
3.2 KiB

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. uint16_t gasVAL;
  12. void setup() {
  13. // put your setup code here, to run once:
  14. Serial.begin(9600);
  15. pinMode(LED1, OUTPUT);
  16. pinMode(LED2, OUTPUT);
  17. pinMode(LED3, OUTPUT);
  18. pinMode(LED4, OUTPUT);
  19. pinMode(LED5, OUTPUT);
  20. pinMode(LED6, OUTPUT);
  21. pinMode(LED7, OUTPUT);
  22. pinMode(LED8, OUTPUT);
  23. Startup();
  24. }
  25. void loop() {
  26. // put your main code here, to run repeatedly:
  27. gasVAL = analogRead(Sensor);
  28. Serial.println(gasVAL);
  29. lightLED(gasVAL);
  30. delay(30);
  31. }
  32. void Startup (void){
  33. digitalWrite(LED1,HIGH);
  34. digitalWrite(LED2,HIGH);
  35. digitalWrite(LED3,HIGH);
  36. digitalWrite(LED4,HIGH);
  37. delay(1000);
  38. digitalWrite(LED1,LOW);
  39. digitalWrite(LED2,LOW);
  40. digitalWrite(LED3,LOW);
  41. digitalWrite(LED4,LOW);
  42. digitalWrite(LED5,HIGH);
  43. digitalWrite(LED6,HIGH);
  44. digitalWrite(LED7,HIGH);
  45. digitalWrite(LED8,HIGH);
  46. delay(1000);
  47. digitalWrite(LED5,LOW);
  48. digitalWrite(LED6,LOW);
  49. digitalWrite(LED7,LOW);
  50. digitalWrite(LED8,LOW);
  51. }
  52. void lightLED( uint16_t reading){
  53. if (reading >= 750){
  54. digitalWrite(LED1,HIGH);
  55. digitalWrite(LED2,HIGH);
  56. digitalWrite(LED3,HIGH);
  57. digitalWrite(LED4,HIGH);
  58. digitalWrite(LED5,HIGH);
  59. digitalWrite(LED6,HIGH);
  60. digitalWrite(LED7,HIGH);
  61. digitalWrite(LED8,HIGH);
  62. }
  63. else if (reading >= 700){
  64. digitalWrite(LED1,HIGH);
  65. digitalWrite(LED2,HIGH);
  66. digitalWrite(LED3,HIGH);
  67. digitalWrite(LED4,HIGH);
  68. digitalWrite(LED5,HIGH);
  69. digitalWrite(LED6,HIGH);
  70. digitalWrite(LED7,HIGH);
  71. digitalWrite(LED8,LOW);
  72. }
  73. else if (reading >= 650){
  74. digitalWrite(LED1,HIGH);
  75. digitalWrite(LED2,HIGH);
  76. digitalWrite(LED3,HIGH);
  77. digitalWrite(LED4,HIGH);
  78. digitalWrite(LED5,HIGH);
  79. digitalWrite(LED6,HIGH);
  80. digitalWrite(LED7,LOW);
  81. digitalWrite(LED8,LOW);
  82. }
  83. else if (reading >= 600){
  84. digitalWrite(LED1,HIGH);
  85. digitalWrite(LED2,HIGH);
  86. digitalWrite(LED3,HIGH);
  87. digitalWrite(LED4,HIGH);
  88. digitalWrite(LED5,HIGH);
  89. digitalWrite(LED6,LOW);
  90. digitalWrite(LED7,LOW);
  91. digitalWrite(LED8,LOW);
  92. }
  93. else if (reading >= 550){
  94. digitalWrite(LED1,HIGH);
  95. digitalWrite(LED2,HIGH);
  96. digitalWrite(LED3,HIGH);
  97. digitalWrite(LED4,HIGH);
  98. digitalWrite(LED5,LOW);
  99. digitalWrite(LED6,LOW);
  100. digitalWrite(LED7,LOW);
  101. digitalWrite(LED8,LOW);
  102. }
  103. else if (reading >= 500){
  104. digitalWrite(LED1,HIGH);
  105. digitalWrite(LED2,HIGH);
  106. digitalWrite(LED3,HIGH);
  107. digitalWrite(LED4,LOW);
  108. digitalWrite(LED5,LOW);
  109. digitalWrite(LED6,LOW);
  110. digitalWrite(LED7,LOW);
  111. digitalWrite(LED8,LOW);
  112. }
  113. else if (reading >= 450){
  114. digitalWrite(LED1,HIGH);
  115. digitalWrite(LED2,HIGH);
  116. digitalWrite(LED3,LOW);
  117. digitalWrite(LED4,LOW);
  118. digitalWrite(LED5,LOW);
  119. digitalWrite(LED6,LOW);
  120. digitalWrite(LED7,LOW);
  121. digitalWrite(LED8,LOW);
  122. }
  123. else if (reading >= 400){
  124. digitalWrite(LED1,HIGH);
  125. digitalWrite(LED2,LOW);
  126. digitalWrite(LED3,LOW);
  127. digitalWrite(LED4,LOW);
  128. digitalWrite(LED5,LOW);
  129. digitalWrite(LED6,LOW);
  130. digitalWrite(LED7,LOW);
  131. digitalWrite(LED8,LOW);
  132. }
  133. else {
  134. digitalWrite(LED1,HIGH);
  135. digitalWrite(LED2,LOW);
  136. digitalWrite(LED3,HIGH);
  137. digitalWrite(LED4,LOW);
  138. digitalWrite(LED5,HIGH);
  139. digitalWrite(LED6,LOW);
  140. digitalWrite(LED7,HIGH);
  141. digitalWrite(LED8,LOW);
  142. }
  143. }