#include #include #include #define ledCounts 10 int pins[ledCounts] = {0,1,2,3,4,5,6,13,14,10}; ADCDevice *adc; // Define an ADC Device class object int main(void) { adc = new ADCDevice(); printf("Program is starting ... \n"); if(adc->detectI2C(0x48)){ // Detect the pcf8591. delete adc; // Free previously pointed memory adc = new PCF8591(); // If detected, create an instance of PCF8591. } else if(adc->detectI2C(0x4b)){// Detect the ads7830 delete adc; // Free previously pointed memory adc = new ADS7830(); // If detected, create an instance of ADS7830. } else{ printf("No correct I2C address found, \n" "Please use command 'i2cdetect -y 1' to check the I2C address! \n" "Program Exit. \n"); return -1; } wiringPiSetup(); for(int i=0;ianalogRead(0); //read analog value of A0 pin float voltage = (float)adcValue / 255.0 * 3.3; // Calculate voltage printf("ADC value : %d ,\tVoltage : %.2fV\n",adcValue,voltage); for(int i=0;i= volt) && (adcValue > 1)) { digitalWrite(pins[i],LOW); } else { digitalWrite(pins[i],HIGH); } } delay(100); } return 0; }