Beruflich Dokumente
Kultur Dokumente
//FLOW
int encoder_pin = 2; // The pin the encoder is connected
unsigned int rpm; // rpm reading
unsigned int rps; // rpm reading
volatile byte pulses; // number of pulses
unsigned long timeold;
// The number of pulses per revolution
// depends on your index disc!!
unsigned int pulsesperturn = 20; //pembacaan setelah 20
counteran baru tampil
void counter()
{
//Update count
pulses++;
}
void setup () {
Serial.begin(9600);
analogReference(EXTERNAL);
referenceVoltage=3.5;
}
void loop () {
int sensorValue4 = analogRead(A4);
int sensorValue5 = analogRead(A5);
reading1=0;
reading2=0;
reading3=0;
reading4=0;
Serial.print("A"); Serial.print("C");
Serial.print(tempC4); Serial.print(tempC2);
Serial.print("B"); Serial.print("D");
Serial.print("E"); Serial.print("I");
Serial.print(tempC3); Serial.print(hum);
Serial.print("F"); Serial.print("J");
Serial.print("G"); Serial.print("K");
Serial.print(tempC1); Serial.print(bising);
Serial.print("H"); Serial.print("L");
//FLOW
if (millis() - timeold >= 1000){ /*Uptade every one
second, this will be equal to reading frecuency (Hz).*/
//Don't process interrupts during calculations
detachInterrupt(0);
//Note that this would be 60*1000/(millis() -
timeold)*pulses if the interrupt
//happened once per revolution
rpm = ( 60*1000 / pulsesperturn );
rpm = rpm / (millis() - timeold)* pulses;
rps = rpm / 60 ; //perubahan dari rpm ke rps
float flow = (rps * 0.20114286 ) ;
timeold = millis();
pulses = 0; // reset
Serial.print("M");
Serial.print(flow,DEC);
Serial.print("N");
//Restart the interrupt processing
attachInterrupt(0, counter, FALLING);
}
delay(1000);
}
Lampiran Listing Program Delphi
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, StdCtrls, CPort, jpeg, ExtCtrls;
type Edit18: TEdit;
TForm1 = Edit19: TEdit;
class(TForm) Edit20: TEdit;
Button1: TButton; Edit21: TEdit;
Button2: TButton; Edit22: TEdit;
Edit1: TEdit; Edit23: TEdit;
Edit2: TEdit; Edit24: TEdit;
Edit3: TEdit; Edit25: TEdit;
Edit4: TEdit; Edit26: TEdit;
Edit5: TEdit; Edit27: TEdit;
Edit6: TEdit; Edit28: TEdit;
Edit7: TEdit; Edit29: TEdit;
Edit8: TEdit; Edit30: TEdit;
Edit9: TEdit; Edit31: TEdit;
Edit10: TEdit; Edit32: TEdit;
Edit11: TEdit; Edit33: TEdit;
Edit12: TEdit; Edit34: TEdit;
Edit13: TEdit; Edit35: TEdit;
Edit14: TEdit; Label1: TLabel;
Edit15: TEdit; Label2: TLabel;
Edit16: TEdit; Label3: TLabel;
Edit17: TEdit; Label4: TLabel;
Label5: TLabel; Terima_Kebisingan:
Label6: TLabel; TComDataPacket;
Label7: TLabel; Terima_AirFlow:
Label8: TLabel; TComDataPacket;
Label9: TLabel; Timer1: TTimer;
Label10: TLabel; Timer2: TTimer;
Label11: TLabel; Timer3: TTimer;
Label12: TLabel; Timer4: TTimer;
Label13: TLabel; Timer5: TTimer;
Label14: TLabel; Label15: TLabel;
Edit36: TEdit; Label16: TLabel;
Edit37: TEdit; Label17: TLabel;
Edit38: TEdit; Label18: TLabel;
Edit39: TEdit; Label19: TLabel;
Edit40: TEdit; Label20: TLabel;
Edit41: TEdit; Label21: TLabel;
Edit42: TEdit; Edit43: TEdit;
ComPort1: Edit44: TEdit;
TComPort; Edit45: TEdit;
Terima_T1: Edit46: TEdit;
TComDataPacket; Edit47: TEdit;
Terima_T2: Edit48: TEdit;
TComDataPacket; Edit49: TEdit;
Terima_T3: Edit50: TEdit;
TComDataPacket; Edit51: TEdit;
Terima_T4: Edit52: TEdit;
TComDataPacket; Edit53: TEdit;
Terima_Kelembapan: Edit54: TEdit;
TComDataPacket; Edit55: TEdit;
Edit56: TEdit;
Edit57: TEdit; Timer10: TTimer;
Edit58: TEdit; Label22: TLabel;
Edit59: TEdit; Label23: TLabel;
Edit60: TEdit; Label24: TLabel;
Edit61: TEdit; Label25: TLabel;
Edit62: TEdit; Button3: TButton;
Edit63: TEdit; Image1: TImage;
Edit64: TEdit; Image2: TImage;
Edit65: TEdit; Label26: TLabel;
Edit66: TEdit; Label27: TLabel;
Edit67: TEdit; Label28: TLabel;
Edit68: TEdit; Label29: TLabel;
Edit69: TEdit; Label30: TLabel;
Edit70: TEdit; Label31: TLabel;
Timer6: TTimer; Label32: TLabel;
Timer7: TTimer; Label33: TLabel;
Timer8: TTimer; Image3: TImage;
Timer9: TTimer;
var
Form1: TForm1;
suhu1,suhu2,suhu3,suhu4,kelembaban,kebisingan,airflow
:integer;
implementation
{$R *.dfm}
comport1.Close;
timer1.Enabled:=true;
end;
end.