Änderungen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche

KY-052 Drucksensor / Temperatursensor - BMP180 -

2.093 Byte entfernt, 12:19, 29. Apr. 2016
/* Software-Beispiel Raspberry Pi */
Hiernach kann das folgende Python-Code Beispiel verwendet werden. Das Programm startet die Messung am Sensor und gibt die gemessenen Werte für den Luftdruck, der Temperatur und der Höhe überm Meeresspiegel aus.
<pre class="brush:py"># 
#!/usr/bin/python
# coding=utf-8
# Copyright (c) 2014 Adafruit Industries
#############################################################################################################Benoetigte Bibliotheken werden eingefügt und konfiguriert### Copyright by Joy-IT### Published under Creative Commons Attribution-NonCommercial-ShareAlike 3import Adafruit_BMP.0 Unported License### Commercial use only after permission is requested and granted###### KY-053 Analog Digital Converter - Raspberry Pi Python Code Example###BMP085 as BMP085#############################################################################################################import time
# Die Pause zwischen den Messungen kann hier eingestellt werden
sleeptime = 1
try: # Dieser Code nutzt die ADS1115 und die I2C Python Library fuer den Raspberry PiSensor wird initialisiert BMPSensor = BMP085.BMP085()# Diese Überprüfung ob Sensor richtig angeschlossen ist unter folgendem Link unter der BSD Lizenz veroeffentlicht# [httpsFalls nicht, wird eine Fehlermeldung ausgegebenexcept IOError://github.com/adafruit/Adafruit print("-Raspberry-Pi-Python-Code]--------------------------")from Adafruit_ADS1x15 import ADS1x15 print ("KY-053 Sensor nicht erkannt!")from print ("Überprüfen Sie die Verbindungen") print("------------------------------") while(True): time import .sleep(sleeptime)except KeyboardInterrupt: GPIO.cleanup()
# Weitere benoetigte Module werden importiert und eingerichtet
import time, signal, sys, os
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
# Benutzte Variablen werden initialisiert
delayTime = 0.5 # in Sekunden
 
# Adresszuweisung ADS1x15 ADC
 
ADS1015 = 0x00 # 12-bit ADC
ADS1115 = 0x01 # 16-bit
 
# Verstaerkung (Gain) wird ausgewaehlt
gain = 4096 # +/- 4.096V
# gain = 2048 # +/- 2.048V
# gain = 1024 # +/- 1.024V
# gain = 512 # +/- 0.512V
# gain = 256 # +/- 0.256V
 
# Abtasterate des ADC (SampleRate) wird ausgewaehlt
# sps = 8 # 8 Samples pro Sekunde
# sps = 16 # 16 Samples pro Sekunde
# sps = 32 # 32 Samples pro Sekunde
sps = 64 # 64 Samples pro Sekunde
# sps = 128 # 128 Samples pro Sekunde
# sps = 250 # 250 Samples pro Sekunde
# sps = 475 # 475 Samples pro Sekunde
# sps = 860 # 860 Samples pro Sekunde
 
# ADC-Channel (1-4) wird ausgewaehlt
adc_channel_0 = 0 # Channel 0
adc_channel_1 = 1 # Channel 1
adc_channel_2 = 2 # Channel 2
adc_channel_3 = 3 # Channel 3
 
# Hier wird der ADC initialisiert - beim KY-053 verwendeten ADC handelt es sich um einen ADS1115 Chipsatz
adc = ADS1x15(ic=ADS1115)
 
Button_PIN = 24
GPIO.setup(Button_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)
 
#############################################################################################################
 
# ########
# Hauptprogrammschleife
# ######### Das Programm liest startet die aktuellen Werte der Eingang-PinsMessungen am Sensor und gibt# und gibt diese die gemessenen Werte in der Konsole aus 
try:
while True(1): print("------------------------------") #Aktuelle Werte werden aufgenommenTemperatur adc0 print('Temperatur = adc{0:0.readADCSingleEnded2f}°C'.format(adc_channel_0, gain, sps) adc1 = adcBMPSensor.readADCSingleEndedread_temperature(adc_channel_1, gain, sps))) adc2 # Luftdruck print('Luftdruck = adc{0:0.readADCSingleEnded2f}hPa'.format(adc_channel_2, gain, sps) adc3 = adcBMPSensor.readADCSingleEndedread_pressure(adc_channel_3, gain, sps)/100) # Ausgabe auf die KonsoleMeereshöhe print "Messwert Channel ('Meereshöhe = {0:", adc0, "mV "0.2f}m'.format(BMPSensor.read_altitude())) print "Messwert Channel 1:", adc1, "mV " print "Messwert Channel 2:", adc2, "mV " print "Messwert Channel 3:", adc3, "mV " print ("---------------------------------------") print("") # Reset + Delay button_pressed = False time.sleep(delayTimesleeptime)  
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
GPIO.cleanup()
</pre>
{| style="height: 222px; padding-left: 30px;" width="657"
|-
||VDDVCC
||=
||3,3V-||[Pin 01N.C]
|-
||GND
||=
||GPIO02 / SDA
||[Pin 0103]
|-
||ADDR3.3
||=
||N.C.||[-]|-||ALRT||=||N.C.||[-]|-||A0||=||Messspitze Analog 0||[Zu messende Spannung | z.B. Sensorausgang]|-||A1||=||Messspitze Analog 1||[Zu messende Spannung | z.B. Sensorausgang]|-||A2||=||Messspitze Analog 2||[Zu messende Spannung | z.B. Sensorausgang]|-||A3||=||Messspitze Analog 3,3V||[Zu messende Spannung | z.B. SensorausgangPin 01]
|}
'''Beispielprogramm Download'''