Temperatur mit dem Arduino erfassen und auf dem Computer ausgeben

Ich moechte mit dem Freeduino und einen DS1620 die Temperatur messen und diese dann auf dem Computer ausgeben. Die Ausgabe der Temperatur erfolgt ueber Seria.println auf der seriellen Schnittstelle.  Im Video sieht man dann erst die Ausgabe in Minicom und dann in Processing.

Der DS1620 wird ueber die Library von John P. Mulligan angesprochen.

ds1620 004

Processing Code:

// basiert auf dem Beispiel von Tom Igoe

import processing.serial.*;

Serial myPort;  //Die Serielle Schnittstelle
PFont fontA;
String tempBuffer = null;
int lf = 10;    // Linefeed in ASCII

void setup() {

size(200, 200);
background(210);
//Gib eine Liste der seriellen Interfaces aus
println(Serial.list());

// Serielle Schnittstelle festlegen
myPort = new Serial(this, Serial.list()[0], 9600);
// Die Schrift.  Der Font muss im Data Verzeichnis vom Sketch liegen
// Um einen Font zu erstellen, verwende  Tools > Create Font
fontA = loadFont(„ArialRoundedMTBold-48.vlw“);

// Textgroesse definieren (in pixeln)
textFont(fontA, 20);
}

void draw() {

while (myPort.available() > 0) {
redraw();
String inBuffer = myPort.readStringUntil(lf);

if (inBuffer != null && tempBuffer != inBuffer) {
background(210);
println(inBuffer);
fill(51);
text („Temp:“, 1, 20);
fill(51);
text (inBuffer, 1, 40);
fill(51);
text („°C“, 35, 40);
String tempBuffer = inBuffer;

}
}
}

Arduino Code:

*/

#include „DS1620.h“

// Pins fuer die 3-wire-serial definieren
int dq = 5;
int clk = 4;
int rst = 3;

// Aufruf des DS1620 Konstruktors
DS1620 d = DS1620(dq, clk, rst);

void setup()
{
// Beginne serielle Kommunikation mit 9600 Baud
Serial.begin(9600);

// Schreibe TH und TL ins EEPROM des DS1620

d.write_th(30);
d.write_tl(15);

// Schreibe configuration/status register
// Dezimal 10 = Binary 00001010
// Aktiviert CPU-Mode und deaktiviert 1-Shot Mode.
// das Datenblatt erzaehlt mehr
d.write_config(10);
d.start_conv();

}

void loop()
{
//  Temperatur auslesen und aud der seriellen Schnittstelle ausgeben
Serial.println(d.read_temp());

// eine Sekunde Pause vor dem naechsten Lesezyklus
delay(1000);
}

Advertisements

Eine Antwort to “Temperatur mit dem Arduino erfassen und auf dem Computer ausgeben”

  1. […] kommt anders als im vorherigen Beispiel ein Maxim/Dallas DS18b20 (Datenblatt) zum Einsatz. Vorteil gegenüber dem vorher verwendeten DS1620 […]

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: