Advertisement
Guest User

Untitled

a guest
May 6th, 2021
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <SHTSensor.h>
  3.  
  4. SHTSensor sht0(SHTSensor::SHT3X);
  5. SHTSensor sht1(SHTSensor::SHT3X);
  6. SHTSensor sht2(SHTSensor::SHT3X);
  7. SHTSensor sht3(SHTSensor::SHT3X);//setting up instances of the sensor
  8. SHTSensor sht4(SHTSensor::SHT3X);
  9. SHTSensor sht5(SHTSensor::SHT3X);
  10. SHTSensor sht6(SHTSensor::SHT3X);
  11. SHTSensor sht7(SHTSensor::SHT3X);
  12.  
  13.  
  14. String inputs;
  15. int inputs_INT = 7;
  16.  
  17. #define TCAADDR 0x77
  18. void tcaselect(uint8_t i) {
  19. if (i > 7) return;
  20.  
  21. Wire.beginTransmission(TCAADDR);
  22. Wire.write(1 << i);
  23. Wire.endTransmission();
  24. }
  25.  
  26. void setup() {
  27. Wire.begin();
  28. Serial.begin(115200);
  29. delay(1000); //to make the serial become stable
  30.  
  31. //initialize sensors
  32. tcaselect(0);
  33. sht0.init();
  34. delay(25);
  35.  
  36. tcaselect(1);
  37. sht1.init();
  38. delay(25);
  39.  
  40. tcaselect(2);
  41. sht2.init();
  42. delay(25);
  43.  
  44. tcaselect(3);
  45. sht3.init();
  46. delay(25);
  47.  
  48. tcaselect(4);
  49. sht4.init();
  50. delay(25);
  51.  
  52. tcaselect(5);
  53. sht5.init();
  54. delay(25);
  55.  
  56. tcaselect(6);
  57. sht6.init();
  58. delay(25);
  59.  
  60. tcaselect(7);
  61. sht7.init();
  62. delay(25);
  63. }
  64.  
  65. void loop() {
  66. while(Serial.available()) {
  67. delay(10); //Only to make it stable, I have no idea why
  68. char c = Serial.read(); //serial read
  69.  
  70. if (c == '#'){
  71. break; //stop the loop
  72. }
  73. inputs += c; //make the serial a character
  74. }
  75. for (inputs_INT = 0; inputs_INT < 8; inputs_INT++) {
  76.  
  77. //if (inputs.length() > 0) {
  78.  
  79. //inputs_INT = inputs.toInt(); //Prepare string for case select use
  80. Serial.print("Sensor = ");Serial.print(inputs_INT); Serial.print("\t");
  81. //Serial.println(inputs);
  82. switch (inputs_INT) {
  83. case 0:
  84. tcaselect(0); //select I2C sensor and print values
  85. delay(25);
  86. sht0.readSample();
  87. Serial.print("RH=");
  88. Serial.print(sht0.getHumidity(),2);
  89. Serial.print(" T=");
  90. Serial.println(sht0.getTemperature(),2);
  91. break;
  92.  
  93. case 1:
  94. tcaselect(1);
  95. delay(25);
  96. sht1.readSample();
  97. Serial.print("RH=");
  98. Serial.print(sht1.getHumidity(),2);
  99. Serial.print(" T=");
  100. Serial.println(sht1.getTemperature(),2);
  101. break;
  102.  
  103. case 2:
  104. tcaselect(2);
  105. delay(25);
  106. sht2.readSample();
  107. Serial.print("RH=");
  108. Serial.print(sht2.getHumidity(),2);
  109. Serial.print(" T=");
  110. Serial.println(sht2.getTemperature(),2);
  111. break;
  112.  
  113. case 3:
  114. tcaselect(3);
  115. delay(25);
  116. sht3.readSample();
  117. Serial.print("RH=");
  118. Serial.print(sht3.getHumidity(),2);
  119. Serial.print(" T=");
  120. Serial.println(sht3.getTemperature(),2);
  121. break;
  122.  
  123. case 4:
  124. tcaselect(4);
  125. delay(25);
  126. sht4.readSample();
  127. Serial.print("RH=");
  128. Serial.print(sht4.getHumidity(),2);
  129. Serial.print(" T=");
  130. Serial.println(sht4.getTemperature(),2);
  131. break;
  132.  
  133. case 5:
  134. tcaselect(5);
  135. delay(25);
  136. sht5.readSample();
  137. Serial.print("RH=");
  138. Serial.print(sht5.getHumidity(),2);
  139. Serial.print(" T=");
  140. Serial.println(sht5.getTemperature(),2);
  141. break;
  142.  
  143. case 6:
  144. tcaselect(6);
  145. delay(25);
  146. sht6.readSample();
  147. Serial.print("RH=");
  148. Serial.print(sht6.getHumidity(),2);
  149. Serial.print(" T=");
  150. Serial.println(sht6.getTemperature(),2);
  151. break;
  152.  
  153. case 7:
  154. tcaselect(7);
  155. delay(25);
  156. sht7.readSample();
  157. Serial.print("RH=");
  158. Serial.print(sht7.getHumidity(),2);
  159. Serial.print(" T=");
  160. Serial.println(sht7.getTemperature(),2);
  161. break;
  162. }
  163. delay(475);
  164. }
  165. inputs_INT = 0;
  166. //}
  167. inputs = "";
  168. //delay(300);
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement