Saturday, November 1, 2014

Timbangan digital (Load Cell)+ sensor Suhu + Arduino Uno + Delphi Taufik 085743320570

Sore di hari Jumat, 31 Oktober 2014, revisi program, awal nya tanpa minta display di PC, akhirnya minta display di PC, seperti biasa saya mengandalkan delphi  sebagai senjata saya untuk memparsing dan menampilkan data Timbangan digital + sensor Suhu dari Arduino Uno pada PC menggunakan  Delphi , ini hanya soal kebiasaan saja. sering make, tinggal copast sana sini, source code lama yang pernah dibuat.

Foto foto alat Timbangan digital + sensor Suhu + Arduino Uno + Delphi






pengkabelan load cell nya adalah sebagai berikut :





// Hx711.DOUT - pin #A5
// Hx711.SCK - pin #A4

// LCD.RS - pin 2
// LCD.En - pin 3
// LCD.D4 - pin 4
// LCD.D5 - pin 5
// LCD.D6 - pin 6
// LCD.D7 - pin 7



source code nya adalah sebagai berikut

#include <LiquidCrystal.h>
#include <Hx711.h>


LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
Hx711 scale(A5, A4);

int adc0,temp,SetPointAtas,SetPointBawah;
int sensorPin = A0;    // select the input pin for the potentiometer
int RelayPin = 13;      // select the pin for the LED
int sensorValue = 0;  // variable to store the value coming from the sensor

void setup() {
  Serial.begin(9600);
   SetPointAtas=34;
  SetPointBawah=28;
  Serial.begin(9600);
  lcd.begin(16, 2);
  pinMode(RelayPin, OUTPUT); 
  lcd.begin(16, 2);
  lcd.print("Digital Rice");
  lcd.setCursor(0, 1);
  lcd.print("Storage");
  delay(4000);
 // lcd.noDisplay();
 lcd.setCursor(0, 0);
 lcd.print("                ");
  lcd.setCursor(0, 1);
 lcd.print("                ");

}

void loop() {

  adc0 = analogRead(0);  
  temp=(adc0*5)/10;
  lcd.setCursor(10,1);
  lcd.print(temp);   
  lcd.print("C");
 
 
  if(temp>=SetPointAtas){
      lcd.setCursor(0,0);
      lcd.print("Heater --> OFF ");
      digitalWrite(RelayPin,LOW);
  }
  else if(temp<=SetPointBawah){
      lcd.setCursor(0,0);
      lcd.print("Heater --> ON");
      digitalWrite(RelayPin,HIGH);
  }
 
  lcd.setCursor(0, 0);
  lcd.print("Berat");
 
 
  lcd.setCursor(10, 0);
  lcd.print("SUHU");
 
  Serial.print(scale.getGram(), 1);
  Serial.print("A");
  Serial.print(temp);
  Serial.print("B");

 
  lcd.setCursor(0, 1);
  lcd.print(scale.getGram(), 1);
  lcd.print(" g");
  lcd.print("       ");
 
 
//  Serial.print(scale.getGram(), 1);
//  Serial.println(" g");

  delay(200);

}


sedangkan tampilan aplikasi timbangan digital pada Delphi adalah sebagai berikut :


ujicoba Timbangan digital + sensor Suhu + Arduino Uno + Delphi Taufik 085743320570 yang didokumentasikan dalam bentuk video dapat dilihat pada video di bawah ini :




Berikut ini adalah source code aplikasi delphi untuk Timbangan digital + sensor Suhu + Arduino Uno + Delphi Taufik 085743320570


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, CPort,atterbilang, MPlayer,mmsystem;

type
  TForm1 = class(TForm)
    ComPort1: TComPort;
    GroupBox2: TGroupBox;
    Button2: TButton;
    Button4: TButton;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    ListBox1: TListBox;
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure ComPort1RxChar(Sender: TObject; Count: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
if Comport1.Connected then    // jika comport(untuk koneksi dengan port serial ) sudah terbuka,
 begin Comport1.Connected :=false; //maka tutup   koneksi dengan port serial
 Button2.Caption:='Open Driver' //maka caption tombol menjadi    Open Driver
 end
 else Comport1.Connected :=true;   // selain itu, buka comport (terkoneksi dengan port serial)
 if Comport1.Connected then Button2.Caption:='Close Driver';  // jika comport terbuka (terkoneksi dengan port paralel) maka tombol akan bertuliskan Close Driver
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
comport1.ShowSetupDialog;
end;

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var A, B, DataA, DataB :string;
    sx :TStringList;      //variabel string diatas bisa ditambahi sendiri sesuai
                         //kebutuhan jumlah sensor,tinggal tambah D,E,F,DataD,DataE,DataF,,dan seterusnya..
begin
{cari string 'A', jika ketemu string 'A' maka string SEBELUM 'A' atau data murni
akan di taruh dilistbox1 dan string 'A' di delimiter(dihapus). data dilistbox1
akan diambil dan ditampilkan ke edit1, begitu berurutan untuk data setelahnya.
kok bisa? ya karena nantinya format pengiriman datanya kan untuk misal 4 sensor suhu LM35 adalah
30A40B50C60D jadi dari format itu kan yg dimasukkan ke edit1 adalah 30 aja,sedangkan string pengenal 'A'
masuk ke listbox1 trus dihapus, data sensor berurutan dari A,B,C,D}

//////////////////SENSOR 1 delimiter string 'A'////////////////////////
//////////////////////////////////////////////////////////////////////
begincomport1.ReadStr(A,1); //pengambilan data diulang trus sampai ketemu string 'A'
DataA:=DataA+A;
end;
sx:=TStringList.Create;sx.Delimiter:='A';        //string 'A' dipisah dari data
sx.DelimitedText:=DataA;  //data murni dimasukkan ke variabel DataA
listbox1.Items:=sx;       //data murni di stringlist dipindah ke listbox1
edit1.Text:=listbox1.Items[0];  //data dilistbox1 ditampilkan ke edit1
listbox1.Clear;                 //data listbox1 dihapus
//////////////////////AKHIR UNTUK SENSOR 1///////////////////////////////


//////////////////SENSOR 2 delimiter string 'B'////////////////////////
//////////////////////////////////////////////////////////////////////
repeat
begin
comport1.ReadStr(B,1);
DataB:=DataB+B;
end;
until B='B';                        //prosesnya sama seperti string 'B'
sx:=TStringList.Create;              //dan berlaku untuk string2 yg lain
sx.Delimiter:='B';
sx.DelimitedText:=DataB;
listbox1.Items:=sx;
edit2.Text:=listbox1.Items[0];
listbox1.Clear;
//////////////////////AKHIR UNTUK data SUHU////////////////

end;
///////////////////////////////////////////////////////////////////////////
//////////////////////////AKHIR INTI PROGRAM///////////////////////////////

end.

jika anda merasa membutuhkan Timbangan digital + sensor Suhu + Arduino Uno + Delphi silakan hubungi:
Contact Person : Taufik Adi Sanjaya
No HP / Whats App : 0823 2613 3990
PIN BBM 5983E244
Alamat : Jalan Imogiri Timur KM 11, 
Blawong 1 , RT 01, Trimulyo, 
Jetis, Bantul 55781.


Anda membutuhkan komponen elektronik , Arduino, Sensor, Tutorial(paket belajar), jasa pembuatan alat berbasis mikrokontroler, kendali lampu via jaringan LAN, dan sebagainya ? anda dapat membelinya di www.kedaiarduino.com
 www.kedaiarduino.com

Related Posts

Timbangan digital (Load Cell)+ sensor Suhu + Arduino Uno + Delphi Taufik 085743320570
4/ 5
Oleh

5 comments

October 13, 2015 at 6:23 PM delete

mass klo menggabungkan 2 program menjad 1 scetcs bisa gk kira"

Reply
avatar
January 7, 2016 at 5:31 AM delete

scale.getGramnya ga bisa di compile

Reply
avatar
July 26, 2016 at 2:33 AM delete

Mas aku minta tolong bisa engga?
aku pnya arduino R3 dan loadcell mau buat input ke delphi,msih bingung di codingnya,bisa bantuin engga mas?

Reply
avatar
October 6, 2016 at 11:16 AM delete

mas mau tanya,,itu bahan nya apa aja ya ?

Reply
avatar

Silakan dikomentari