SparkFun Forums 

Where electronics enthusiasts find answers.

Topics pertaining to the Arduino Core & software used with the Artemis module and Artemis development boards.
User avatar
By breaker
#234113
I am not getting any analog output working on the Sparkfun Artemis Nano.

I also don't see any information under tools get board info/serial.

Can someone help me.

This is my first Arduino set.

Everything works with an Arduino Uno no working on the Sparkfun Artemis Nano.

Code: Select all
// Grove - Gas Sensor(O2) test code
// Note:
// 1. It need about about 5-10 minutes to preheat the sensor
// 2. modify VRefer if needed
 
const float VRefer = 3.3;       // voltage of adc reference
 
const int pinAdc   = A0;
 
void setup() 
{
    // put your setup code here, to run once:
    Serial.begin(9600);
    Serial.println("Grove - Gas Sensor Test Code...");
}
 
void loop() 
{
    // put your main code here, to run repeatedly:
    float Vout =0;
    Serial.print("Vout =");
 
    Vout = readO2Vout();
    Serial.print(Vout);
    Serial.print(" V, Concentration of O2 is ");
    Serial.println(readConcentration());
    delay(500);
}
 
float readO2Vout()
{
    long sum = 0;
    for(int i=0; i<32; i++)
    {
        sum += analogRead(pinAdc);
    }
 
    sum >>= 5;
 
    float MeasuredVout = sum * (VRefer / 1023.0);
    return MeasuredVout;
}
 
float readConcentration()
{
    // Vout samples are with reference to 3.3V
    float MeasuredVout = readO2Vout();
 
    //float Concentration = FmultiMap(MeasuredVout, VoutArray,O2ConArray, 6);
    //when its output voltage is 2.0V,
    float Concentration = MeasuredVout * 0.21 / 2.0;
    float Concentration_Percentage=Concentration*100;
    return Concentration_Percentage;
}
User avatar
By breaker
#234124
If I pinMode(A0, INPUT); entered it will be uploaded to the board.

I'm still not getting any signal.

I don't understand what to enter in the INT line. That shouldn't have a pin name what you're told.
If I remove this it doesn't work either because it gives an error at line "sum += analogRead(pinAdc);"
User avatar
By breaker
#234128
Thank you

Only during the serial monitor the values Vout =3.30 V remain.
As with the INPUT as OUTPUT

Tested with the Arduino UNO, the value is 1.51 V.

This test code comes from https://wiki.seeedstudio.com/Grove-Gas_Sensor-O2/
Code: Select all
// Grove - Gas Sensor(O2) test code
// Note:
// 1. It need about about 5-10 minutes to preheat the sensor
// 2. modify VRefer if needed
 
const float VRefer = 3.3;       // voltage of adc reference
 
 
 
void setup() 
{
    // put your setup code here, to run once:
    pinMode(A0, INPUT);
    Serial.begin(9600);
    Serial.println("Grove - Gas Sensor Test Code...");
}
 
void loop() 
{
    // put your main code here, to run repeatedly:
    float Vout =0;
    Serial.print("Vout =");
 
    Vout = readO2Vout();
    Serial.print(Vout);
    Serial.print(" V, Concentration of O2 is ");
    Serial.println(readConcentration());
    delay(500);
}
 
float readO2Vout()
{
    long sum = 0;
    for(int i=0; i<32; i++)
    {
        sum += analogRead(A0);
    }
 
    sum >>= 5;
 
    float MeasuredVout = sum * (VRefer / 1023.0);
    return MeasuredVout;
}
 
float readConcentration()
{
    // Vout samples are with reference to 3.3V
    float MeasuredVout = readO2Vout();
 
    //float Concentration = FmultiMap(MeasuredVout, VoutArray,O2ConArray, 6);
    //when its output voltage is 2.0V,
    float Concentration = MeasuredVout * 0.21 / 2.0;
    float Concentration_Percentage=Concentration*100;
    return Concentration_Percentage;
}
User avatar
By breaker
#234135
Ok thanks I found that.

I am now going to try to calibrate this O2 sensor via the Arduino Uno.

And use the values in the project with the Sparkfun Artemis Nano.

Thanks for your help.
 Topic permissions

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum