Translate

Monitor Tekanan Udara sensor HX710 Interface VB 6

Monitor Tekanan Udara sensor HX710 Interface VB 6

         
           Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat memonitor tekanan udara dengan sensor HX710 dengan interface VB 6.0, alat ini dapat mengukur tekanan udara dengan satuan InH20. untuk lebih jelasnya berikut adalah koding dan komponennya.

1. Sensor Hx710


2. Program Arduino IDE

#include <Wire.h>  // i2C Conection Library
#include <LiquidCrystal_I2C.h>  //i2C LCD Library
#include "HX710B.h"

LiquidCrystal_I2C lcd(0x27, 16, 2);

float psi1,psi2,psi3;

const int DOUT1 = 2;   //sensor data pin
const int SCLK1  = 3;   //sensor clock pin

const int DOUT2 = 4;   //sensor data pin
const int SCLK2  = 5;   //sensor clock pin

const int DOUT3 = 6;   //sensor data pin
const int SCLK3  = 7;   //sensor clock pin

int btup = 9;
int btdown = 8;
int btupx;
int btdownx;
float range = 80.0;
float persen;
float cfm;
float inh20sen1, inh20sen2, inh20sen3;

HX710B pressure_sensor1;
HX710B pressure_sensor2;
HX710B pressure_sensor3;

void setup() {
  Serial.begin(9600);
  lcd.begin();
  lcd.clear();
  lcd.noCursor();
  pinMode(btup,INPUT_PULLUP);
  pinMode(btdown,INPUT_PULLUP);  
  pressure_sensor1.begin(DOUT1,SCLK1);
  pressure_sensor2.begin(DOUT2,SCLK2);
  pressure_sensor3.begin(DOUT3,SCLK3);    
}

void loop() {
  
  psi1 = pressure_sensor1.psi();
  psi2 = pressure_sensor2.psi();
  psi3 = pressure_sensor3.psi();

  inh20sen1 = psi1 * 27.679;
  inh20sen2 = psi2 * 27.679;
  inh20sen3 = psi3 * 27.679;
  
  btupx = digitalRead(btup);
  btdownx = digitalRead(btdown);  

  if(btupx == 0){
  delay(200);
  range = range + 0.1;  
  }

  if(btdownx == 0){
  delay(200);
  range = range - 0.1;  
  }

  if(range < 0){
    range = 0;
  }

  persen = (inh20sen2 - inh20sen3) * 100.0;
  cfm = persen * range;
     
  lcd.setCursor(0, 0);
  lcd.print("I/R: ");
  lcd.print(inh20sen1);
  lcd.print(" / ");
  lcd.print(range);
  lcd.print("   "); 

  lcd.setCursor(0, 1);
  lcd.print("P/C: ");  
  lcd.print(persen);
  lcd.print(" / "); 
  lcd.print(cfm);
  lcd.print("   "); 

Serial.print(inh20sen1);
Serial.print("|");
Serial.print(range);
Serial.print("|");
Serial.print(persen);
Serial.print("|");
Serial.print(cfm);
Serial.println("|");
      
delay(1000);
}


3. Program Interface VB 6


Option Explicit
Dim arrdata()
Dim TotalBaca As Integer
Dim BMI As Single
Dim Keterangan As String
Const MAKSBACA = 15

Private Sub berhenti_Click()
  start.Enabled = True
    berhenti.Enabled = False
    TimerBaca.Enabled = False
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Form_Load()
Dim i As Byte
For i = 1 To 16
    ComboCOM.AddItem (i)
Next i
End Sub

Private Sub MSComm2_OnComm()
Dim buffer As String
Dim temp As String
Dim pisah() As String
Dim i As Integer

If MSComm2.CommEvent = comEvReceive Then
    buffer = MSComm2.Input
    'pisah = Split(buffer, Chr$(13))
    pisah = Split(buffer, "|")

On Error Resume Next
If buffer <> " " Then
With Text1
    .SelStart = Len(.Text)
    .SelText = buffer
End With
For i = 0 To 4
    If 0 < 5 Then
        Text2(i).Text = CStr(pisah(i))
        End If
        Next i
    Else
    buffer = " "
    End If
End If
End Sub

Private Sub start_Click()
Dim u As Integer

    On Error GoTo ada_eror
    
    MSComm2.CommPort = ComboCOM.Text
    MSComm2.Settings = "9600,N,8,1"
    MSComm2.RThreshold = 20
    MSComm2.InputLen = 20
    MSComm2.InputMode = comInputModeText
    MSComm2.PortOpen = True ' buka port
    
    ReDim arrdata(1 To MAKSBACA + 1)
    For u = 1 To MAKSBACA
        arrdata(u) = 0
    Next
    TotalBaca = 0
    start.Enabled = False
    berhenti.Enabled = True
    TimerBaca.Enabled = True
ada_eror:
 If ComboCOM.ListIndex < 1 Then
    MsgBox "COM berada di Nomor : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "ERROR"
    start.Enabled = True
    berhenti.Enabled = True
    ComboCOM.Text = "Pilih COM"
End If
End Sub

Private Sub Text3_Change()

End Sub

Private Sub TimerBaca_Timer()
Dim strInput As String
Dim strPotong As String
Dim singleInput As Single
Dim u As Integer
    strInput = MSComm2.Input
        strPotong = strInput
        'Text1.Text = Text1.Text + strPotong + vbCrLf
        'singleInput = Val(strPotong)
        'Label1.Caption = singleInput
        If TotalBaca >= MAKSBACA Then
            TimerBaca.Enabled = False
            If MSComm2.PortOpen = True Then MSComm2.PortOpen = False
            Call berhenti_Click
        End If
  
End Sub

4. VIDEO HASILNYA


No comments:

Post a Comment