KY-001 Temperatur Sensor Modul: Unterschied zwischen den Versionen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Codebeispiel Arduino)
Zeile 10: Zeile 10:
  
 
==Codebeispiel Arduino==
 
==Codebeispiel Arduino==
Das Programm
+
<pre class="brush:cpp"># Include <OneWire.h>
 
+
OneWire ds (10); // on pin 10<br />
<pre class="brush:cpp">
+
void setup (void) <br />{
# Include  
+
OneWire ds (10); / / on pin 10
+
void setup (void) {
+
 
     // Initialize inputs / outputs
 
     // Initialize inputs / outputs
 
     // Start serial port
 
     // Start serial port
 
     Serial.begin (9600);
 
     Serial.begin (9600);
}
+
}<br />
 
void loop (void) {
 
void loop (void) {
 
     byte i;
 
     byte i;
Zeile 52: Zeile 49:
  
 
{| style="height: 58px; padding-left: 30px;" width="228"
 
{| style="height: 58px; padding-left: 30px;" width="228"
|-
 
||LED +
 
||=
 
||[Pin 13]
 
|-
 
||LED -
 
||=
 
||[Pin GND]
 
 
|-
 
|-
 
||Sensor Signal
 
||Sensor Signal
Zeile 73: Zeile 62:
 
||[Pin GND]
 
||[Pin GND]
 
|}
 
|}
 
'''Beispielprogramm Download'''
 
 
[[Medium:SensorTest_Arduino.zip|SensorTest_Arduino.zip]]
 
  
 
==Codebeispiel Raspberry Pi==
 
==Codebeispiel Raspberry Pi==

Version vom 8. April 2016, 17:28 Uhr

Bild

KY-001.jpg

Technische Daten / Kurzbeschreibung

Chipsatz: DS18B20 | Kommunikationsprotokoll: 1-Wire

9- 12Bit genaue Temperaturmessung im Meßbereich von –55°C bis +125°C

Pin-Belegung

3 S V G.png


Codebeispiel Arduino

# Include <OneWire.h>
OneWire ds (10); // on pin 10<br />
void setup (void) <br />{
    // Initialize inputs / outputs
    // Start serial port
    Serial.begin (9600);
}<br />
void loop (void) {
    byte i;
    byte present = 0;
    byte data [12];
    byte addr [8];
    int Temp;
    if (! ds.search (addr)) {
        // Serial.print ("No more addresses.");
        ds.reset_search ();
        return;
    }
    Serial.print ("R ="); // R = 28 Not sure what this is
    for (i = 0; i <8; i    ) {
        Serial.print (addr [i], HEX);
        Serial.print ("");
    }
    if (OneWire :: crc8 (addr, 7)! = addr [7]) {
        Serial.print ("CRC is not valid!");
        return;
    }
    if (addr [0]! = 0x28) {
        Serial.print ("Device is not a DS18S20 family device.");
        return;
    }
    ds.reset ();
}

Anschlussbelegung Arduino:

Sensor Signal = [Pin 10]
Sensor +V = [Pin 5V]
Sensor - = [Pin GND]

Codebeispiel Raspberry Pi

Programmierbeispiel in der Programmiersprache Python

# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
 
GPIO.setmode(GPIO.BCM)
 
# Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist. Zusaetzlich wird auch der PullUP Widerstand am Eingang aktiviert
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)
 
print "Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]"
 
# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt
def ausgabeFunktion(null):
        print("Signal erkannt")
 
# Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgeloest
GPIO.add_event_detect(GPIO_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime=100) 
 
# Hauptprogrammschleife
try:
        while True:
                time.sleep(1)
 
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
        GPIO.cleanup()

Anschlussbelegung Raspberry Pi:

Signal = GPIO24 [Pin 18]
+V = 3,3V [Pin 1]
GND = Masse [Pin 6]

Beispielprogramm Download

SensorTest_RPi.zip

Zu starten mit dem Befehl:

sudo python SensorTest_RPi.py