Alat Ukur Digital Kemiringan Bidang Datar Menggunakan Bi-Axial Joystick Berbasis Arduino Uno

35

//kemiringan
//-------------------#include

#include

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
SoftwareSerial mySerial(0,1); // RX, TX
int a;

const int PIN_VRX = 0;
const int PIN_VRY = 1;
const int PIN_SW = 6 ;
void setup ()
{
if (a==0) {delay(10000);a++;}
Serial.begin(9600);
mySerial.begin(9600);
lcd.begin(16,2); // columns, rows. use 16,2 for a 16x2 LCD, etc.


Universitas Sumatera Utara

36

lcd.setCursor(0,0);
lcd.print("Ami");
lcd.setCursor(5,1);
lcd.print("Metrologi");
delay(3000);
lcd.clear(); // start with a blank screen
pinMode(PIN_SW,INPUT);

}
void loop()
{

// baca datadari tiga pin
int nilaiX = analogRead(PIN_VRX);
int nilaiY = analogRead(PIN_VRY);
int nilaiSW = digitalRead(PIN_SW);


float nilaiX1 =(1023 - nilaiX);
float nilaiX2 = ((nilaiX1/1023)*90);

Universitas Sumatera Utara

37

int nilaiX3 = (nilaiX2 - 45);

float nilaiY1 =(1023 - nilaiY);
float nilaiY2 = ((nilaiY1/1023)*90);
int nilaiY3 = (nilaiY2 - 45);
// kirim ke portserial
Serial.print("X: ");
Serial.print(nilaiX3);
Serial.print(", y: ");
Serial.print(nilaiY3);
Serial.print(", SW: ");
Serial.println(nilaiSW);

lcd.clear();
lcd.setCursor(0,0);
lcd.print(nilaiX3);
lcd.setCursor(10,0);
lcd.print("(X)");
lcd.setCursor(0,1);
lcd.print(nilaiY3);

Universitas Sumatera Utara

38

lcd.setCursor(10,1);
lcd.print("(y)");
delay(500);

Universitas Sumatera Utara