(→Erforderliche Ausstattung) |
|||
(17 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | == Luftdruck | + | == Luftdruck messen mit RN-Control´er 1.4 == |
− | + | ===Erforderliche Ausstattung=== | |
− | '''Board:''' RN-Control 1 | + | |
+ | '''Board:''' [[RN-Control]] 1.4 | ||
+ | |||
'''Luftdrucksensor:''' Eingang 5V Ausgang (Messspannung) 2,5V | '''Luftdrucksensor:''' Eingang 5V Ausgang (Messspannung) 2,5V | ||
+ | |||
'''LCD Display:''' an Port B (auf dem Board) | '''LCD Display:''' an Port B (auf dem Board) | ||
− | ''' | + | |
+ | '''LED's:''' 3 [[Leuchtdioden]] (auf dem Board) | ||
+ | |||
'''Terminalprogramm''' zum Auslesen der Werte | '''Terminalprogramm''' zum Auslesen der Werte | ||
Zeile 16: | Zeile 21: | ||
ausgegeben: | ausgegeben: | ||
− | + | # LED -> Luftdruck steigt | |
− | + | # LED -> Luftdruck gleichbleibend | |
− | + | # LED -> Luftdruck sinkt | |
Dazu werden die Werte Ak. - Aktueller Luftdruck, Vor.- Vorhergehender Wert auf dem LCD ausgegben. | Dazu werden die Werte Ak. - Aktueller Luftdruck, Vor.- Vorhergehender Wert auf dem LCD ausgegben. | ||
− | + | ||
+ | ===Der Programmablauf nach dem EInschalten:=== | ||
Auf dem LCD erscheinen 2 Mögliche Eingaben die über die Taster 1 und 2 gewählt werden können: | Auf dem LCD erscheinen 2 Mögliche Eingaben die über die Taster 1 und 2 gewählt werden können: | ||
+ | |||
1 -START startet das Programm und die Aufzeichnung des Luftdrucks beginnt | 1 -START startet das Programm und die Aufzeichnung des Luftdrucks beginnt | ||
− | 2 -EEPROM liest die Ergebnisse einer Aufzeichnung aus dem EEprom aus (hier sollte ein Terminalprogramm über die | + | |
+ | 2 -EEPROM liest die Ergebnisse einer Aufzeichnung aus dem EEprom aus (hier sollte ein [[Terminalprogramm]] über die [[RS232]] Schnittstelle angeschlossen sein, denn sonst sieht man nix !! | ||
Die ausgelesenen Werte können dann in z.B.- Exel kopiert werden und schon kann man eine Grafik | Die ausgelesenen Werte können dann in z.B.- Exel kopiert werden und schon kann man eine Grafik | ||
anlegen ! | anlegen ! | ||
− | |||
− | |||
− | Das Programm | + | '''HINWEIS:''' Man kann auch während des Programmablaufes die Werte durch drücken des Tasters 1 auslesen ! |
+ | |||
+ | ===Luftdrucksensor:=== | ||
+ | Ich habe hier einen Sensoren verwendet den ich noch aus alten Projekten liegen hatte.Den genauen Typ kann ich leider nicht mehr angeben, da findet man sicherlich was zu den oben beschriebenen Werten im Netz oder beim Elektronik-Höker! Viel Spaß beim forschen und auf das der Luftdruck steigt !! | ||
+ | |||
+ | Ein bekannter und genauer Sensor wird von der Firma Motorola hergestellt. Der MPX4115A. Er sollte mit diesem Projekt kompatibel sein. Der Preis eines solchen Sensores liegt bei etwa 20 Euro. | ||
+ | |||
+ | ===Das Programm=== | ||
+ | <pre> | ||
$regfile = "m32def.dat" | $regfile = "m32def.dat" | ||
$hwstack = 32 | $hwstack = 32 | ||
Zeile 75: | Zeile 89: | ||
End Select | End Select | ||
Goto Cb | Goto Cb | ||
− | + | ||
Ax: | Ax: | ||
For D = 0 To 200 Step 2 'Menge der Zyklen | For D = 0 To 200 Step 2 'Menge der Zyklen | ||
− | |||
W = Getadc(0) | W = Getadc(0) | ||
U = W + 670 | U = W + 670 | ||
Print "Channel -> " ; U | Print "Channel -> " ; U | ||
− | |||
Writeeeprom U , D | Writeeeprom U , D | ||
− | |||
'Sound Portd.7 , 400 , 500 | 'Sound Portd.7 , 400 , 500 | ||
Readeeprom U , D 'EEProm auslesen | Readeeprom U , D 'EEProm auslesen | ||
Zeile 101: | Zeile 112: | ||
Portc.1 = 1 | Portc.1 = 1 | ||
Portc.0 = 1 | Portc.0 = 1 | ||
− | + | ||
Case Is > K : Portc.2 = 0 | Case Is > K : Portc.2 = 0 | ||
Case Is = K : Portc.1 = 0 | Case Is = K : Portc.1 = 0 | ||
Case Is < K : Portc.0 = 0 | Case Is < K : Portc.0 = 0 | ||
− | + | ||
− | End Select | + | End Select |
For R = 0 To 1800 'Zeiteistellung ob jede Stunde oder | For R = 0 To 1800 'Zeiteistellung ob jede Stunde oder | ||
'halbe Stunde gelesen wird 3600= 1Std 1800= 1/2Std | 'halbe Stunde gelesen wird 3600= 1Std 1800= 1/2Std | ||
Zeile 131: | Zeile 142: | ||
Next D | Next D | ||
Goto Cc | Goto Cc | ||
+ | </pre> | ||
+ | |||
+ | ==Autor== | ||
+ | * [[GIESBERT]] | ||
+ | |||
+ | ==Siehe auch== | ||
+ | * [[RN-Control]] | ||
+ | * [[Bascom]] | ||
+ | |||
+ | |||
+ | [[Kategorie:Quellcode_Bascom]] | ||
+ | [[Kategorie:Software]] | ||
+ | [[Kategorie:Praxis]] |
Aktuelle Version vom 30. Mai 2006, 14:05 Uhr
Inhaltsverzeichnis
Luftdruck messen mit RN-Control´er 1.4
Erforderliche Ausstattung
Board: RN-Control 1.4
Luftdrucksensor: Eingang 5V Ausgang (Messspannung) 2,5V
LCD Display: an Port B (auf dem Board)
LED's: 3 Leuchtdioden (auf dem Board)
Terminalprogramm zum Auslesen der Werte
Ich habe eine Software geschrieben, die wie folgt funktioniert:
Der Aktuelle Luftdruck wird über den Sensor gemessen und der gemessene Wert wird im EEProm ab gelegt. Dann wird der vorhergehende Wert mit dem Aktuellen verglichen und das Ergebnis von 3 LED's ausgegeben:
- LED -> Luftdruck steigt
- LED -> Luftdruck gleichbleibend
- LED -> Luftdruck sinkt
Dazu werden die Werte Ak. - Aktueller Luftdruck, Vor.- Vorhergehender Wert auf dem LCD ausgegben.
Der Programmablauf nach dem EInschalten:
Auf dem LCD erscheinen 2 Mögliche Eingaben die über die Taster 1 und 2 gewählt werden können:
1 -START startet das Programm und die Aufzeichnung des Luftdrucks beginnt
2 -EEPROM liest die Ergebnisse einer Aufzeichnung aus dem EEprom aus (hier sollte ein Terminalprogramm über die RS232 Schnittstelle angeschlossen sein, denn sonst sieht man nix !! Die ausgelesenen Werte können dann in z.B.- Exel kopiert werden und schon kann man eine Grafik anlegen !
HINWEIS: Man kann auch während des Programmablaufes die Werte durch drücken des Tasters 1 auslesen !
Luftdrucksensor:
Ich habe hier einen Sensoren verwendet den ich noch aus alten Projekten liegen hatte.Den genauen Typ kann ich leider nicht mehr angeben, da findet man sicherlich was zu den oben beschriebenen Werten im Netz oder beim Elektronik-Höker! Viel Spaß beim forschen und auf das der Luftdruck steigt !!
Ein bekannter und genauer Sensor wird von der Firma Motorola hergestellt. Der MPX4115A. Er sollte mit diesem Projekt kompatibel sein. Der Preis eines solchen Sensores liegt bei etwa 20 Euro.
Das Programm
$regfile = "m32def.dat" $hwstack = 32 $framesize = 32 $swstack = 32 $crystal = 16000000 $baud = 9600< Config Adc = Single , Prescaler = Auto Config Pinc.2 = Output Config Pinc.1 = Output Config Pinc.0 = Output Start Adc Portc.3 = 0 Dim W As Word Dim C As Byte Dim D As Byte Dim A As Byte Dim R As Word Dim L As Byte Dim K As Word Dim H As Word Dim T As Byte Dim U As Integer Config Pina.7 = Input 'Für Tastenabfrage Porta.7 = 1 '-----------------------------------------------Display Config Lcdpin = Pin , Db4 = Portb.4 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 '-----------------------------------------------Display Cc: Cls Cb: Lcd "1-START" Locate 2 , 1 Lcd "2-EEPROM" T = Getadc(7) Select Case T Case 150 To 155 'Range für Tasteneingabe Sound Portd.7 , 400 , 500 Waitms 500 Goto Ax Case 80 To 90 Sound Portd.7 , 400 , 700 Goto Aa End Select Goto Cb Ax: For D = 0 To 200 Step 2 'Menge der Zyklen W = Getadc(0) U = W + 670 Print "Channel -> " ; U Writeeeprom U , D 'Sound Portd.7 , 400 , 500 Readeeprom U , D 'EEProm auslesen Print " Aus EEPROM: " ; W ; "- - - - - - Wert aus FOR: " ; D H = D - 2 Readeeprom K , H Print "vorheriger Wert: " ; K 'K ist der vorhergehende Wert ! Print " " Cls Cursor Off Lcd "Ak." ; U Locate 2 , 1 Lcd "Vor." ; K Select Case W Portc.2 = 1 Portc.1 = 1 Portc.0 = 1 Case Is > K : Portc.2 = 0 Case Is = K : Portc.1 = 0 Case Is < K : Portc.0 = 0 End Select For R = 0 To 1800 'Zeiteistellung ob jede Stunde oder 'halbe Stunde gelesen wird 3600= 1Std 1800= 1/2Std L = Getadc(7) Select Case L Case 170 To 185 Sound Portd.7 , 400 , 500< Goto Aa End Select If L = 152 Then Goto Aa Wait 1 Next R Next D Aa: Cls Lcd "EEPROM-" Locate 2 , 1 Lcd "auslesen" Portc.3 = 1 For D = 0 To 100 Step 2 Readeeprom U , D Print U Waitms 20 Next D Goto Cc