KY-001 Temperatur Sensor Modul: Unterschied zwischen den Versionen
Aus Linkerkit.de
(→Codebeispiel Arduino) |
|||
Zeile 7: | Zeile 7: | ||
==Pin-Belegung== | ==Pin-Belegung== | ||
[[Datei:3_S_V_G.png|none]] | [[Datei:3_S_V_G.png|none]] | ||
+ | |||
==Codebeispiel Arduino== | ==Codebeispiel Arduino== | ||
− | + | Für das folgende Codebeispiel werden zwei zusätzliche Libraries benötigt: | |
− | + | ||
− | + | - [OneWire Library] von [http://www.pjrc.com/teensy/td_libs_OneWire.html Paul Stoffregen] | veröffentlicht unter der MIT License | |
− | + | ||
− | + | - [Dallas Temperature Control Library] von [http://milesburton.com/Main_Page?title=Dallas_Temperature_Control_Library Miles Burton] | veröffentlicht unter LGPL | |
− | + | ||
− | + | Beide Libraries sind im Paket enthalten und müssen vor dem Start der Arduino IDE in den "library"-Ordner kopiert werden.<br /><br />Diesen finden Sie standardmäßig unter dem folgenden Pfad Ihrer Windows-Installation: | |
− | + | ||
− | + | C:\Benutzer\[Benutzername]\Dokumente\Arduino\libraries | |
− | + | ||
− | + | <pre class="brush:cpp">// Benötigte Libraries werden importiert | |
− | + | #include | |
− | + | #include | |
− | + | ||
− | + | // Hier wird der Eingangs-Pin deklariert, an dem das Sensor-Modul angeschlossen ist | |
− | + | #define KY001_Signal_PIN 4 | |
− | + | ||
− | + | // Libraries werden konfiguriert | |
− | + | OneWire oneWire(KY001_Signal_PIN); | |
− | + | DallasTemperature sensors(&oneWire); | |
− | + | ||
− | + | ||
− | + | void setup() { | |
− | + | ||
− | + | // Initialisierung Serielle Ausgabe | |
− | + | Serial.begin(9600); | |
− | + | Serial.println("KY-001 Temperaturmessung"); | |
− | + | ||
− | + | // Sensor wird initialisiert | |
− | + | sensors.begin(); | |
− | + | } | |
− | + | ||
+ | //Hauptprogrammschleife | ||
+ | void loop() | ||
+ | { | ||
+ | // Temperaturmessung wird gestartet... | ||
+ | sensors.requestTemperatures(); | ||
+ | // ... und gemessene Temperatur ausgeben | ||
+ | Serial.print("Temperatur: "); | ||
+ | Serial.print(sensors.getTempCByIndex(0)); | ||
+ | Serial.write(176); // UniCode-Angabe eines char-Symbols für das "°-Symbol" | ||
+ | Serial.println("C"); | ||
+ | |||
+ | delay(1000); // 5s Pause bis zur nächsten Messung | ||
} | } | ||
Zeile 52: | Zeile 65: | ||
||Sensor Signal | ||Sensor Signal | ||
||= | ||= | ||
− | ||[Pin | + | ||[Pin 4] |
|- | |- | ||
||Sensor +V | ||Sensor +V | ||
Zeile 62: | Zeile 75: | ||
||[Pin GND] | ||[Pin GND] | ||
|} | |} | ||
+ | |||
+ | '''Beispielprogramm Download''' | ||
+ | |||
+ | [[Medium:KY-001-TemperaturSensor.zip|KY-001-TemperaturSensor.zip]] | ||
==Codebeispiel Raspberry Pi== | ==Codebeispiel Raspberry Pi== |
Version vom 22. April 2016, 14:16 Uhr
Inhaltsverzeichnis
Bild
Technische Daten / Kurzbeschreibung
Chipsatz: DS18B20 | Kommunikationsprotokoll: 1-Wire
9- 12Bit genaue Temperaturmessung im Meßbereich von –55°C bis +125°C
Pin-Belegung
Codebeispiel Arduino
Für das folgende Codebeispiel werden zwei zusätzliche Libraries benötigt:
- [OneWire Library] von Paul Stoffregen | veröffentlicht unter der MIT License
- [Dallas Temperature Control Library] von Miles Burton | veröffentlicht unter LGPL
Beide Libraries sind im Paket enthalten und müssen vor dem Start der Arduino IDE in den "library"-Ordner kopiert werden.
Diesen finden Sie standardmäßig unter dem folgenden Pfad Ihrer Windows-Installation:
C:\Benutzer\[Benutzername]\Dokumente\Arduino\libraries
// Benötigte Libraries werden importiert #include #include // Hier wird der Eingangs-Pin deklariert, an dem das Sensor-Modul angeschlossen ist #define KY001_Signal_PIN 4 // Libraries werden konfiguriert OneWire oneWire(KY001_Signal_PIN); DallasTemperature sensors(&oneWire); void setup() { // Initialisierung Serielle Ausgabe Serial.begin(9600); Serial.println("KY-001 Temperaturmessung"); // Sensor wird initialisiert sensors.begin(); } //Hauptprogrammschleife void loop() { // Temperaturmessung wird gestartet... sensors.requestTemperatures(); // ... und gemessene Temperatur ausgeben Serial.print("Temperatur: "); Serial.print(sensors.getTempCByIndex(0)); Serial.write(176); // UniCode-Angabe eines char-Symbols für das "°-Symbol" Serial.println("C"); delay(1000); // 5s Pause bis zur nächsten Messung }
Anschlussbelegung Arduino:
Sensor Signal | = | [Pin 4] |
Sensor +V | = | [Pin 5V] |
Sensor - | = | [Pin GND] |
Beispielprogramm Download
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
Zu starten mit dem Befehl:
sudo python SensorTest_RPi.py