comparator.pde 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include <Wire.h>
  2. #include <Adafruit_ADS1015.h>
  3. // Adafruit_ADS1115 ads; /* Use this for the 16-bit version */
  4. Adafruit_ADS1015 ads; /* Use thi for the 12-bit version */
  5. void setup(void)
  6. {
  7. Serial.begin(9600);
  8. Serial.println("Hello!");
  9. Serial.println("Single-ended readings from AIN0 with >3.0V comparator");
  10. Serial.println("ADC Range: +/- 6.144V (1 bit = 3mV/ADS1015, 0.1875mV/ADS1115)");
  11. Serial.println("Comparator Threshold: 1000 (3.000V)");
  12. // The ADC input range (or gain) can be changed via the following
  13. // functions, but be careful never to exceed VDD +0.3V max, or to
  14. // exceed the upper and lower limits if you adjust the input range!
  15. // Setting these values incorrectly may destroy your ADC!
  16. // ADS1015 ADS1115
  17. // ------- -------
  18. // ads.setGain(GAIN_TWOTHIRDS); // 2/3x gain +/- 6.144V 1 bit = 3mV 0.1875mV (default)
  19. // ads.setGain(GAIN_ONE); // 1x gain +/- 4.096V 1 bit = 2mV 0.125mV
  20. // ads.setGain(GAIN_TWO); // 2x gain +/- 2.048V 1 bit = 1mV 0.0625mV
  21. // ads.setGain(GAIN_FOUR); // 4x gain +/- 1.024V 1 bit = 0.5mV 0.03125mV
  22. // ads.setGain(GAIN_EIGHT); // 8x gain +/- 0.512V 1 bit = 0.25mV 0.015625mV
  23. // ads.setGain(GAIN_SIXTEEN); // 16x gain +/- 0.256V 1 bit = 0.125mV 0.0078125mV
  24. ads.begin();
  25. // Setup 3V comparator on channel 0
  26. ads.startComparator_SingleEnded(0, 1000);
  27. }
  28. void loop(void)
  29. {
  30. int16_t adc0;
  31. // Comparator will only de-assert after a read
  32. adc0 = ads.getLastConversionResults();
  33. Serial.print("AIN0: "); Serial.println(adc0);
  34. delay(100);
  35. }