Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.

Zeus

Member Since 22 Feb 2012
Offline Last Active Jun 27 2012 07:45 PM
-----

Posts I've Made

In Topic: Data logger

23 April 2012 - 09:09 PM

Well, I figured out the problem.
Here is the updated code.
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.NetduinoPlus;
using System.IO;
using System.Text;

namespace Integration
{
    public class Program
    {
        private const int MaximumValue = 1023;
        private const int AnalogReference = 5;

        public static void Main()
        {
            AnalogInput no2Sensor = new AnalogInput(Pins.GPIO_PIN_A0);
            AnalogInput coSensor = new AnalogInput(Pins.GPIO_PIN_A1);
            AnalogInput o3Sensor = new AnalogInput(Pins.GPIO_PIN_A2);
            AnalogInput e_no2Sensor = new AnalogInput(Pins.GPIO_PIN_A3);
            AnalogInput e_noSensor = new AnalogInput(Pins.GPIO_PIN_A4);
            AnalogInput e_coSensor = new AnalogInput(Pins.GPIO_PIN_A5);
            OutputPort led = new OutputPort(Pins.GPIO_PIN_D8, false);

            while (true)
            {
                int digitalValue1 = no2Sensor.Read();
                    float analogValue1 = (float)digitalValue1 / MaximumValue * AnalogReference;

                    int digitalValue2 = coSensor.Read();
                    float analogValue2 = (float)digitalValue2 / MaximumValue * AnalogReference;

                    int digitalValue3 = o3Sensor.Read();
                    float analogValue3 = (float)digitalValue3 / MaximumValue * AnalogReference;

                    int digitalValue4 = e_no2Sensor.Read();
                    float analogValue4 = (float)digitalValue4 / MaximumValue * AnalogReference;

                    int digitalValue5 = e_noSensor.Read();
                    float analogValue5 = (float)digitalValue5 / MaximumValue * AnalogReference;

                    int digitalValue6 = e_coSensor.Read();
                    float analogValue6 = (float)digitalValue6 / MaximumValue * AnalogReference;

                Debug.Print("NO2 value:\t" + analogValue1.ToString() + "\nCO Value:\t" + analogValue2.ToString() + "\nO3 Value:\t" + analogValue3.ToString() + "\ne_NO2 value:\t" + analogValue4.ToString() + "\ne_NO Value:\t" + analogValue5.ToString() + "\ne_CO Value:\t" + analogValue6.ToString());

                using (StreamWriter sw = new StreamWriter(@"SD\file.csv", true))
                {
                    sw.Write(analogValue1.ToString() + "," + analogValue2.ToString() + "," + analogValue3.ToString() + "," + analogValue4.ToString() + "," + analogValue5.ToString() + "," + analogValue6.ToString());
                    sw.Write("\n");
                    sw.Flush();
                    sw.Close();
                }

                    led.Write(true);
                    Thread.Sleep(295);
                    led.Write(false);
                    Thread.Sleep(50);
            }

            
        }

    }
}

In Topic: Data logger

23 April 2012 - 07:24 PM

Hi,

I added here some more lines to add more sensors on analog pins. Unfortunately, when Netduino is plugged with wall wart, no data is written to SD card.
It only creates the file.
But when I debug the code and run, it logs data on SD card.
Kindly correct.

Thanks.

Regards,

Z

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.NetduinoPlus;
using System.IO;
using System.Text;

namespace Integration
{
    public class Program
    {
        private const int MaximumValue = 1023;
        private const int AnalogReference = 5;
        private static StreamWriter sw;

        public static void Main()
        {
            AnalogInput no2Sensor = new AnalogInput(Pins.GPIO_PIN_A0);
            AnalogInput coSensor = new AnalogInput(Pins.GPIO_PIN_A1);
            AnalogInput o3Sensor = new AnalogInput(Pins.GPIO_PIN_A2);
            AnalogInput e_no2Sensor = new AnalogInput(Pins.GPIO_PIN_A3);
            AnalogInput e_noSensor = new AnalogInput(Pins.GPIO_PIN_A4);
            AnalogInput e_coSensor = new AnalogInput(Pins.GPIO_PIN_A5);
            OutputPort led = new OutputPort(Pins.GPIO_PIN_D8, false);

            sw = new StreamWriter(@"SD\file.csv");

            while (true)
            {
                try
                {
                    int digitalValue1 = no2Sensor.Read();
                    float analogValue1 = (float)digitalValue1 / MaximumValue * AnalogReference;

                    int digitalValue2 = coSensor.Read();
                    float analogValue2 = (float)digitalValue2 / MaximumValue * AnalogReference;

                    int digitalValue3 = o3Sensor.Read();
                    float analogValue3 = (float)digitalValue3 / MaximumValue * AnalogReference;

                    int digitalValue4 = e_no2Sensor.Read();
                    float analogValue4 = (float)digitalValue4 / MaximumValue * AnalogReference;

                    int digitalValue5 = e_noSensor.Read();
                    float analogValue5 = (float)digitalValue5 / MaximumValue * AnalogReference;

                    int digitalValue6 = e_coSensor.Read();
                    float analogValue6 = (float)digitalValue6 / MaximumValue * AnalogReference;

                    Debug.Print("NO2 value:\t" + analogValue1.ToString() + "\nCO Value:\t" + analogValue2.ToString() + "\nO3 Value:\t" + analogValue3.ToString() + "\ne_NO2 value:\t" + analogValue4.ToString() + "\ne_NO Value:\t" + analogValue5.ToString() + "\ne_CO Value:\t" + analogValue6.ToString());

                    sw.Write(analogValue1.ToString() + "," + analogValue2.ToString() + "," + analogValue3.ToString() + "," + analogValue4.ToString() + "," + analogValue5.ToString() + "," + analogValue6.ToString());
                    sw.Write("\n");
                    sw.Flush();

                    led.Write(true);
                    Thread.Sleep(295);
                    led.Write(false);
                    Thread.Sleep(500);
                }
                catch (Exception)
                {
                    sw.Close();
                    sw.Dispose();
                    break;
                }
            }
        }
    }
}

In Topic: Data logger

12 April 2012 - 03:35 PM

Hi, I have RTC already. I bought DS1307 from Sparkfun. SDA and SCL are meant for analog pins 4 and 5. That I have figured out already but I am looking for a way to read time from this RTC module. Thanks. Z

In Topic: Data logger

12 April 2012 - 02:55 PM

Yes! This code works for logging data unto SD card. I also have an RTC - DS1307, I need to log the time in the CSV file corresponding to analog pin values. I have set time of RTC already using Arduino. With Netduino I only want to read and log time. Please help. Thanks. Best, Z

In Topic: Data logger

11 April 2012 - 11:10 PM

First of all, sorry for late reply. Second, thanks all and especially Paul. Tomorrow I will check the code and update in here. Best, Z

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.