Mit dem Arduino kann leicht auch 230 Volt geschaltet werden. Dazu kann ein Relais an den digitalen Pin 7 und + VCC und – Masse verbunden werden.
In diesem Video kann man hören und sehen, wie das Relais alle 5 Sekunden an und wieder aus geschaltet wird.
Folgendes Sketch ist in den Arduino Nano hochzuladen. /*
TWRelais
Dieses Programm schaltet das Relais alle 5 Sekunden an und aus.
Thomas Wenzlaff 02.07.2013
Das Relais wir an den digitalen Pin 7 angeschlossen und VCC 5 V und Masse verbunden
Größe des compilierten Programm: 1108 Byte
*/
// An Pin 7 ist eine Relais angeschlossen,
const int RELAIS = 7;
// Die setup Methode wird nur einmal ausgeführt und bei reset
void setup() {
// Digitaler PIN 7 mit der RELAIS ist ein Ausgang
pinMode(RELAIS, OUTPUT);
}
Hohe Präzision: Low-Power-Modus, die Auflösung von 0.06 hPa (0,5 m)
Hohe linearen Modus mit einer Auflösung von 0.03 hPa (0,25 m)
Mit Temperatur-Ausgang
I2C-Schnittstelle
Temperaturkompensation
Reaktionszeit: 7,5 ms
Standby-Strom: 0.1 μA
Beseitigt die Notwendigkeit für einen externen Taktgeber
Größe: 21 x 15 x 10 mm
Die Platine mit dem BMP085 (auf GY-65) ist nur 1,5 cm x 2 cm klein.
Von oben: Luftdrucksensor von vorne
Von unten: Luftdrucksensor für Arduino
Anschlussbelegung: BMP085 Luftdrucksensor
Software:
Folgende beiden Libs von Adafruit downloaden und in das Lib Verheichnis kopieren. Evl. noch die Verzeichnisnamen umbenennen, da keine Sonderzeichen vorhanden sein dürfen.
Dies Programm liest den Luftdrucksensor und den Temperatursensor endlos aus, und gibt die Werte über die Serielle-Schnittstelle mit Leerzeichen getrennt aus. Kommentare beginnen mit #.
z.B. # Luftdruck und Temperatur Messprogramm # TWDruck 1.0 vom 06.07.2013 # http://www.wenzlaff.de # Sensor: BMP085 # Treiber Version: 1 # Unique ID: 10085
# [Luftdruck in hPa] [Temperatur in Grad Celsius] [Höhe in Meter]
Das BMP085 an: SCL an A5 SDA an A4 VDD Plus 3.3V DC Masse Minus */ constlong MESSINTERVAL = 5000; // Messintervall in milli Sekunden constlong SENSOR_ID = 10085; // eindeutige Sensor ID String KOMMENTAR = "# "; // Kommentar präfix String TRENNER = " "; // Trennzeichen der Werte
if (event.pressure)
{ Serial.print(event.pressure); // Luftdruck in hPa Serial.print(TRENNER);
/* Calculating altitude with reasonable accuracy requires pressure * * sea level pressure for your position at the moment the data is * * converted, as well as the ambient temperature in degress * * celcius. If you don't have these values, a 'generic' value of * * 1013.25 hPa can be used (defined as SENSORS_PRESSURE_SEALEVELHPA * * in sensors.h), but this isn't ideal and will give variable * * results from one day to the next. * * * * You can usually find the current SLP value by looking at weather * * websites or from environmental information centers near any major * * airport. * * * * For example, for Paris, France you can check the current mean * * pressure and sea level at: http://bit.ly/16Au8ol */
Serial.print(temperature); // Temperatur in Grad Celsius Serial.print(TRENNER);
/* Then convert the atmospheric pressure, SLP and temp to altitude */ /* Update this next line with the current SLP for better results */ float seaLevelPressure = SENSORS_PRESSURE_SEALEVELHPA; // 1013.25F Average sea level pressure is 1013.25 hPa
Serial.print(bmp.pressureToAltitude(seaLevelPressure,
event.pressure,
temperature)); // Höhe in Meter Serial.println();
} else
{ Serial.println(KOMMENTAR +"Sensor error");
} delay(MESSINTERVAL);
}
Mit diesen Daten, wird dieses Diagramm erzeugt:Luftdruck und Temperatur Diagramm mit gnuplot
Die gerade Linie im Diagramm, rührt daher das der PC sich automatisch in den Standby-Betrieb schaltet und damit die Serielle-Verbindung nicht mehr abgefragt wird.
Der dritte Wert der Daten ist die Höhe, die ändert sich nicht gross und wird deshalb nicht im Diagramm dargestellt. Wie wird bei gnuplot die 3. Y-Achse erzeugt? Geht das überhaupt?
Diese Website benutzt Cookies. Wenn du die Website weiter nutzt, gehen wir von deinem Einverständnis aus.OK