Datalogger temperatuur + hydro

Ik kan hem wel downloaden, zal ik je een PB sturen met bijlage?

De jacht is mooier dan de vangst....

Zeer graag, alvast bedankt.

...en we maken met z'n allen een feest!

Je mail adres is niet openbaar, naar waar kan ik het sturen? Je kan mij ook een mail sturen, dan heb ik het ook. (zie mijn profiel)

De jacht is mooier dan de vangst....
...en we maken met z'n allen een feest!

Nog een mogelijkheid en compleet uitgewerkt:
http://www.digitemp.com/
Dat gebruik ik zelf al 5 jaar zonder problemen.

Vervangen DOOR.

Deze week ineengenutseld: temperatuur datalogger. Luchtvochtigheid gewoon aansluiten naast de temperatuursensor.

tombaugh: Weet je wat ik nooit zo goed snap, en wat ik nu ook in jou schakeling tegen kom, en toch eindelijk eens antwoord op wil weten :) Waarom staat er in de schakeling 2 dingen los van elkaar ?

[edit]
velleman kitjes ben ik een beetje op uitgekeken eigenlijk

[Bericht gewijzigd door JeroenI op vrijdag 29 januari 2010 20:34:34 (15%)

...en we maken met z'n allen een feest!

Op 29 januari 2010 20:33:52 schreef JeroenI:
tombaugh: Weet je wat ik nooit zo goed snap, en wat ik nu ook in jou schakeling tegen kom, en toch eindelijk eens antwoord op wil weten :) Waarom staat er in de schakeling 2 dingen los van elkaar ?

Bedoel je de chip links en de chip rechts? Rechts is de microcontroller die de analoge waarde van de sensor (voltage) omzet in een digitale waarde. Links is een FT232R die het seriële signaal omzet naar USB (virtuele COM poort). In andere schakelingen vind ja op die plaats vaak een MAX232 die niet omzet naar USB maar naar een serieel signaal dat door de computer kan gelezen worden (COM poort).

edit: of bedoel je dat stukje rechtsboven? Dat is de voeding, die lijkt los te staan maar hangt aan de rest van de schakeling via VCC (+) en GND (-).

Ooooh, ja ik bvedoel die rechts boven :)

Bedankt voor je uitleg.

...en we maken met z'n allen een feest!

Heb je dat circuit ook misschien in wat groter formaat ?

...en we maken met z'n allen een feest!

Op 29 januari 2010 20:46:14 schreef JeroenI:
Heb je dat circuit ook misschien in wat groter formaat ?

Ik heb de figuur klikbaar gemaakt. Let wel: bij deze schakeling ofwel USB gebruiken ofwel voeding, niet samen. Als je logger altijd aan de USB poort hangt dan kun je de voeding (dat stukje rechtsboven dus) zelfs weglaten.

Dat komt mooi uit, dan ga ik alleen gebruik maken van de usb :)

Hartelijk dank.

Hojé, even een vraag nog, wat is JP1 2 en 3... want dat staat er niet bij vermeld.

[edit]
en 4 ook niet :)

[edit2]
En waarom staat JP5 los van alles ?

[Bericht gewijzigd door Henry S. op zaterdag 30 januari 2010 19:15:13 (50%)

...en we maken met z'n allen een feest!

JP2, JP3 en JP4 heb jij niet nodig. Dat zijn pinnen om andere in- en uitgangen van de atmega te kunnen gebruiken (zie foto's). JP1 heb je wel nodig aangezien daar de analoge signalen uitgelezen worden. Als je een breadboard gebruikt hoef je natuurlijk geen extra pinnen te voorzien. JP5 is een dubbele rij pinnen met aan de ene kant VCC en aan de andere kant GND. Die kun je gebruiken om andere componenten zoals een sensor te voeden.

Kijk eens naar de laatste foto. Het blauwe draadje (uitgang sensor) zit op JP1, de rode en zwarte draadjes op JP5 (voeding van de sensor).

`Weet je wat, ik ga morgen de spullen bestellen en dan kijken hoe ver ik kom :)

Bedankt voor je goede hulp.

...en we maken met z'n allen een feest!

Ok, ik ben er een paar dagen niet maar je vindt hier ongetwijfeld hulp...

Oh maar je zegt dat ik JP1 wel nodig heb, wat is dat dan precies?

Alvast bedankt!

...en we maken met z'n allen een feest!

Op JP1 sluit je de sensoren aan. Ik gebruik daar pinnetjes voor (zie hieronder), maar als je op breadboard werkt kun je rechtstreeks aanluiten.

http://t0.gstatic.com/images?q=tbn:wPYw_ZmbhqfuNM:http://rocky.digikey.com/weblib/Norcomp/Web%2520Photos/2163%2520series%25202mm%25201%2520row.jpg

Sorry voor de domme vraag, maar wat is een breadboard ? gewoon een hobbyboard ofzo ?

[Bericht gewijzigd door JeroenI op vrijdag 29 januari 2010 22:05:18 (21%)

...en we maken met z'n allen een feest!

Ohnee, ik maak gewoon gebruik van een hobbyboard. Dus dan heb ik wel die pins nodig ?

Wat is eigenlijk de functie van JP1 ? En weet je toevallig ook hoe dat omschreven wordt bij winkels c.q. online shops ?

[edit]
ps, ik neem aan dat alle GND punten gewoon op een dood punt mogen komen ?

[edit2]
Onder welke naam bestel ik M05X2SHD want die kan ik nergens vinden.

[Bericht gewijzigd door Henry S. op zaterdag 30 januari 2010 19:15:46 (63%)

...en we maken met z'n allen een feest!
Henry S.

Moderator

Even wat waarschuwingen:
-Gebruik vaker de edit, topickicken binnen 24 uur is asociaal.
-Minder chatten, vaker de zoekfunctie gebruiken.

73's de PA2HS - ik ben een radiohead, De 2019 CO labvoeding.
fred101

Golden Member

[edit]
velleman kitjes ben ik een beetje op uitgekeken eigenlijk

Maar als je het verschil tussen stroom en spanning niet weet, geen ledjes aankunt sluiten zonder ze kapot gaan en geen schema kan lezen is het misschien nu verstandig om je af te vragen of je klaar bent voor totaal zelfbouw. Je weet dat zo'n processor ook geprogrammeerd moet worden en dat je daar software en vaak (ik weet niet in dit geval) een losse programmer voor nodig hebt.

www.pa4tim.nl, www.schneiderelectronicsrepair.nl, Reparatie van meet- en calibratie apparatuur, ook maritieme en industriele PCBs

Indien je niet zo handig bent om (grotere) schakelingen in elkaar te zetten, kun je ook middels 1wire temperaturen loggen. Ik gebruik het hierboven reeds gemelde programma digitemp.exe.
Zelf gebruik ik dit programma ook, ik roep vanuit .Net het programma digitemp.exe aan, en vang de resultaten hiervan op. Het is dan een kleine moeite om deze waarden in een database te zetten voor verdere analyse. Ik las dat je broer handig is met .Net, eventueel kan ik je ook wel helpen met mijn source code.
Het schema wat nodig is om 1wire sensoren aan te sluiten op een seriele poort bestaat uit ongeveer 6 (zener)dioden.

Code voor het genereren van events voor het getimed uitlezen van sensoren.

c code:

/// <summary>
/// Event handler for temperature timer tick event.
/// This function triggers the application to read the 
/// temperatures on the serial port
/// </summary>
/// <param name="sender">Object which triggered the event</param>
/// <param name="e">Additional parameters, not used here</param>
private void tmrTemperature_Tick(object sender, EventArgs e)
{
    Settings settings = Settings.InstanceOf();
    if (ReadTempEvent != null && settings.LogTemperature)
    {
        ReadTempEvent();
    }
}

Code voor het afhandelen van een readtemp event

c code:

/// <summary>
/// Event handler for the read temp event.
/// This function reads the values of the temperature
/// sensors attached to the serial port.
/// </summary>
private static void HandleReadTempEvent()
{
    Process process = new Process();
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.RedirectStandardOutput = true;
    process.StartInfo.RedirectStandardError = true;
    process.StartInfo.CreateNoWindow = true;
    process.StartInfo.FileName = "digitemp.exe";
    process.StartInfo.Arguments = "-a -q -cdigitemp.cfg";
    process.Start();
    string result = process.StandardOutput.ReadToEnd();
    int sensor = 0;
    string sensor_pattern = "Sensor ";
    string f_pattern = "F: ";
    double temperature = 0;
    int sensor_index, f_index = 0;
    while ((sensor_index = result.IndexOf(sensor_pattern)) > 0)
    {
        sensor = Convert.ToInt16(result.Substring(sensor_index +  
            sensor_pattern.Length, 2));
        string temp = result.Substring(sensor_index + 12, 10);
        f_index = temp.IndexOf(f_pattern);
        temperature = Convert.ToDouble(temp.Substring(0, f_index));
        result = result.Substring(sensor_index + 
            sensor_pattern.Length,
            result.Length - sensor_index - sensor_pattern.Length);

        if (settings.SaveToDatabase)
        {
            Database database = Database.InstanceOf();
            database.addTemperature(sensor, temperature);
        }

        if (settings.SaveToFile)
        {
            LogFile file = LogFile.InstanceOf();
            file.addTemperature(sensor, temperature);
        }

        // Update main form
        mainForm.setTempSensorValue(sensor, temperature);
    }
}

Edit: Voorbeeldcode toegevoegd.

[Bericht gewijzigd door Jan Arjen op zondag 31 januari 2010 09:51:54 (67%)

bprosman

Golden Member

De jongere generatie loopt veel te vaak zijn PIC achterna.