Advertisement
ScienceGeyser

code01.ino

May 5th, 2022 (edited)
1,427
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Read all Channels of 3 ADS1115 modules and output to serial */
  2. /* Read DIO pin and count Sync pulses  */
  3.  
  4. #include "ADS1X15.h"
  5. #include "OneButton.h"
  6. #include <arduino-timer.h>
  7.  
  8.  
  9. ADS1115 ADS1(0x48);
  10. ADS1115 ADS2(0x49);
  11. ADS1115 ADS3(0x4A);
  12.  
  13. OneButton button(5, false);
  14.  
  15. auto timer = timer_create_default();
  16.  
  17. bool debug = false;
  18.  
  19. int sampletime = 100;
  20. int modeVal = -1;
  21.  
  22. void setup()
  23. {
  24.   SerialUSB.begin(115200);
  25.  
  26.   ADS1.begin();
  27.   ADS2.begin();
  28.   ADS3.begin();
  29.  
  30.   ADS1.setGain(0);
  31.   ADS2.setGain(0);
  32.   ADS3.setGain(0);
  33.  
  34.   button.attachClick(singleclick);
  35.   button.attachDoubleClick(doubleclick);
  36.   button.attachLongPressStop(longclick);
  37.  
  38.   timer.every(sampletime, readADS);
  39. }
  40.  
  41. void loop()
  42. {
  43.   button.tick();
  44.   timer.tick();
  45. }
  46.  
  47. bool readADS(void *){
  48.   int16_t val_0 = ADS1.readADC(0);
  49.   int16_t val_1 = ADS1.readADC(1);
  50.   int16_t val_2 = ADS1.readADC(2);
  51.   int16_t val_3 = ADS1.readADC(3);
  52.   int16_t val_4 = ADS2.readADC(0);
  53.   int16_t val_5 = ADS2.readADC(1);
  54.   int16_t val_6 = ADS2.readADC(2);
  55.   int16_t val_7 = ADS2.readADC(3);
  56.   int16_t val_8 = ADS3.readADC(0);
  57.   int16_t val_9 = ADS3.readADC(1);
  58.   int16_t val_10 = ADS3.readADC(2);
  59.   int16_t val_11 = ADS3.readADC(3);
  60.   float f1 = ADS1.toVoltage(1);  // voltage factor
  61.   float f2 = ADS2.toVoltage(1);
  62.   float f3 = ADS3.toVoltage(1);
  63.    
  64.   SerialUSB.print(modeVal); SerialUSB.print(", "); SerialUSB.print('\t');
  65.   SerialUSB.print(val_0 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  66.   SerialUSB.print(val_1 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  67.   SerialUSB.print(val_2 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  68.   SerialUSB.print(val_3 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  69.   SerialUSB.print(val_4 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  70.   SerialUSB.print(val_5 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  71.   SerialUSB.print(val_6 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  72.   SerialUSB.print(val_7 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  73.   SerialUSB.print(val_8 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  74.   SerialUSB.print(val_9 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  75.   SerialUSB.print(val_10 * f1, 3); /*SerialUSB.print(", ");*/ SerialUSB.print('\t');
  76.   SerialUSB.print(val_11 * f1, 3); SerialUSB.print('\n');
  77.   return true;
  78. }
  79.  
  80. void singleclick(){
  81.   modeVal++;
  82. }
  83.  
  84. void doubleclick(){
  85.   modeVal = 0;
  86. }
  87.  
  88. void longclick(){
  89.   modeVal = -1;
  90. }
  91. // -- END OF FILE --
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement