Perancangan Perangkat Lunak (Software)

3.3.2 Perancangan Perangkat Lunak (Software)

Setelah proses rangkaian selesai dibuat langkah selanjutnya adalah membuat perangkat lunak. Spesifikasi perangkat lunak yang akan dirancang meliputi:

 Perangkat lunak/program arduino IDE untuk keperluan komunikasi mikrokontroller dengan komputer PC

 Perangkat lunak/program PPH sebagai tampilannya

3.3.2.1 Aplikasi Program Arduino IDE

Setelah proses rangkaian selesai dibuat langkah selanjutnya adalah membuat program pada aplikasi program arduino IDE (Integrated Development Environment) . Buka program aplikasi arduino IDE kemudian bentuk tampilan kerja aplikasi arduino IDE sketch terlihat seperti gambar 3.7

Gambar 3.7 Program Arduino IDE (Integrated Development Environment)

3.3.2.2 Bahasa Program Arduino yang digunakan

 Float Float point number sering digunakan untuk memperkirakan nilai analog dan

berkelanjutan karena nilai tersebut memiliki resolusi yang lebih besar dari pada integers. Float point number dapat menyimpan sebesar 32-bit dengan range 3.4028235E+38 sampai -3.4028235E+38. Angka tersebut disimpan dalam 32 bits (4 bytes) dari informasi. Float hanya memiliki 6-7 digit desimal. Pada arduino, double sama nilainya dengan Float. Contoh :

float myfloat; float sensorCalbrate = 1.117;

Syntax : float var = val;

 var - your float variable name  val - the value you assign to that variable

Contoh kode : int x; int y; float z;

x = 1; y = x / 2;

// y now contains 0, ints can't hold fractions

z = (float)x / 2.0; // z now contains .5 (you have to use 2.0, not 2)

 Byte Tipe byte dapat menyimpan 8-bit nilai angka bilangan asli tanpa koma. Byte memiliki range 0 – 255.

Contoh : Byte biteVariable = 180;

// mendeklarasikan ‘biteVariable’ sebagai type byte

 Void (Setup) Fungsi setup() hanya di panggil satu kali ketika program pertama kali di

jalankan. Ini digunakan untuk pendefinisian mode pin atau memulai komunikasi serial. Fungsi setup() harus di ikut sertakan dalam program walaupun tidak ada statement yang dijalankan. Contoh : void setup() {

pinMode(13,OUTPUT); // mengset ‘pin’ 13 sebagai output }

 Loop Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi loop() secara berurutan dan melakukan instruksi-instruksi yang ada

dalam fungsi loop().

Contoh : void loop() {

digitalWrite(13, HIGH);

// nyalakan ‘pin’ 13

delay(1000); // pause selama 1 detik digitalWrite(13, LOW); // mat ikan ‘pin’ 13 delay(1000);

/// pause selama 1 detik }

 Serial begin () Statement ini digunakan untuk mengaktifkan komunikasi serial dan mengeset baudrate.

Contoh : void setup()

{ Serial.begin(9600); //open serial port and set baudrate 9600 bps

 Analog Read () Papan arduino memiliki 6 chanel, 10 bit analog ke digital, artinya kita dapat

memasukkan tegangan antara 0 dan 5 volt pada nilai integer antara 0 sampai 1023. Kisaran input atau masukan dan resolusi dapat dirubah menggunakan analog reference. Untuk membaca analog input dibutuhkan sekitar 100 microsecond (0.0001 s). Jadi rata-rata membacanya sekitar 10.000 kali dalam satu detik. Catatan : jika pin analog input tidak dapat terkoneksi dengan apapun nilainya akan kembali pada analog Read.

Syntax : analogRead(pin)

Contoh : Int analogPin = 3

// potentiometer wiper middle terminal connected to analog pin 3 Void setup ()

{ Serial.begin (9600); } Void loop () { Val = analogRead(analogPin);

// Read the input pin

Serial.println(val);

//debug value

 Delay () Menghentikan program untuk mengukur waktu (dalam milisecond) yang terspesifikasi pada parameter (ada 1000 milisecond dalam setiap detik). Pada

saat mudahnya membuat LED berkedip dengan fungsi delay, beberapa sketch atau lembar kerja mengalami delay. Membaca sensor, perhitungan matematika atau memanipulasi pin dapat bekerja pada saat fungsi delay bekerja. Beberapa program berbasis pengetahuan biasanya menghindari penggunaan delay untuk kegiatan yang membutuhkan waktu lebih dari 10 miliseconds. Contoh : Delay(1000);

// menunggu selama satu detik

Selanjutnya menghubungkan arduino Uno ke komputer dengan menggunakan kabel USB (Universal Serial Bus) . Kemudian kita dapat mengetikkan program pada lembar kerja sketch dan compile untuk mengecek atau memeriksa apakah kode sudah benar sebelum dikirim ke papan arduino, program tersebut dapat diketik seperti dibawah ini : /* Cloud Control @author Elvianto */

#include <SPI.h> #include <Ethernet.h> #include <EthernetClient.h> #include "EmonLib.h" #include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins LiquidCrystal lcd(8, 9, 4, 5, 6, 7); EnergyMonitor emon1; // Create an instance

int counter = 0; /* Begin Cloud Configuration */ const char* server = "montir.polmanastra.com"; const unsigned long BAUD_RATE = 9600; const unsigned long HTTP_TIMEOUT = 10000; const size_t MAX_CONTENT_SIZE = 512;

byte mac[] = {0xDA, 0xAD, 0xBE, 0xEB, 0xFE, 0xFB}; // IPAddress ip(10, 42, 0, 2); EthernetClient client; /* End of Cloud Configuration */

void setup() { lcd.begin(16, 2); // Print a message to the LCD. lcd.print("Monitoring Listrik"); delay(1000); lcd.clear(); initSerial(); emon1.current(1, 111.1); initEthernet(); void setup() { lcd.begin(16, 2); // Print a message to the LCD. lcd.print("Monitoring Listrik"); delay(1000); lcd.clear(); initSerial(); emon1.current(1, 111.1); initEthernet();

Serial.print(current*230.0); // Apparent power Serial.print(" "); Serial.println(current); if (current > 0.07){

lcd.clear(); if (connect(server)) { client.print("GET "); client.print("/api/petir/post/?value="); client.print(current); client.println(" HTTP/1.0"); client.print("Host: "); client.println(server); client.println("Connection: close"); client.println();

Serial.print("GET "); Serial.print("/api/petir/post/?value="); Serial.print(current); Serial.print("Host: "); Serial.println(server); Serial.println("Connection: close"); Serial.println(); counter = counter + 1; lcd.print("Arus: "); lcd.print(current); lcd.setCursor(0, 2); lcd.print("Count: "); Serial.print("GET "); Serial.print("/api/petir/post/?value="); Serial.print(current); Serial.print("Host: "); Serial.println(server); Serial.println("Connection: close"); Serial.println(); counter = counter + 1; lcd.print("Arus: "); lcd.print(current); lcd.setCursor(0, 2); lcd.print("Count: ");

} disconnect(); }

wait(1); }

void initSerial() { Serial.begin(BAUD_RATE); while (!Serial) {

} //Serial.println("Serial ready");

void initEthernet() { if (!Ethernet.begin(mac)) { Serial.println("Failed to configure Ethernet"); return;

} //Serial.println("Ethernet ready");

bool connect(const char* hostName) { //Serial.print("Connect to "); //Serial.println(hostName);

bool ok = client.connect(hostName, 80);

//Serial.println(ok ? "Connected" : "Connection Failed!"); return ok;

// Close the connection with the HTTP server void disconnect() {

//Serial.println("Disconnect"); client.stop();

// Pause for a minute void wait(int s) {

//Serial.print("Wait "); //Serial.print(s); //Serial.println(" seconds"); delay(s*1000);

Dokumen yang terkait

PENGARUH PEMBERIAN SEDUHAN BIJI PEPAYA (Carica Papaya L) TERHADAP PENURUNAN BERAT BADAN PADA TIKUS PUTIH JANTAN (Rattus norvegicus strain wistar) YANG DIBERI DIET TINGGI LEMAK

23 199 21

KEPEKAAN ESCHERICHIA COLI UROPATOGENIK TERHADAP ANTIBIOTIK PADA PASIEN INFEKSI SALURAN KEMIH DI RSU Dr. SAIFUL ANWAR MALANG (PERIODE JANUARI-DESEMBER 2008)

2 106 1

FREKUENSI KEMUNCULAN TOKOH KARAKTER ANTAGONIS DAN PROTAGONIS PADA SINETRON (Analisis Isi Pada Sinetron Munajah Cinta di RCTI dan Sinetron Cinta Fitri di SCTV)

27 310 2

MANAJEMEN PEMROGRAMAN PADA STASIUN RADIO SWASTA (Studi Deskriptif Program Acara Garus di Radio VIS FM Banyuwangi)

29 282 2

ANALISIS SISTEM PENGENDALIAN INTERN DALAM PROSES PEMBERIAN KREDIT USAHA RAKYAT (KUR) (StudiKasusPada PT. Bank Rakyat Indonesia Unit Oro-Oro Dowo Malang)

160 705 25

ANALISIS PROSPEKTIF SEBAGAI ALAT PERENCANAAN LABA PADA PT MUSTIKA RATU Tbk

273 1263 22

PENERIMAAN ATLET SILAT TENTANG ADEGAN PENCAK SILAT INDONESIA PADA FILM THE RAID REDEMPTION (STUDI RESEPSI PADA IKATAN PENCAK SILAT INDONESIA MALANG)

43 322 21

KONSTRUKSI MEDIA TENTANG KETERLIBATAN POLITISI PARTAI DEMOKRAT ANAS URBANINGRUM PADA KASUS KORUPSI PROYEK PEMBANGUNAN KOMPLEK OLAHRAGA DI BUKIT HAMBALANG (Analisis Wacana Koran Harian Pagi Surya edisi 9-12, 16, 18 dan 23 Februari 2013 )

64 565 20

PEMAKNAAN BERITA PERKEMBANGAN KOMODITI BERJANGKA PADA PROGRAM ACARA KABAR PASAR DI TV ONE (Analisis Resepsi Pada Karyawan PT Victory International Futures Malang)

18 209 45

STRATEGI KOMUNIKASI POLITIK PARTAI POLITIK PADA PEMILIHAN KEPALA DAERAH TAHUN 2012 DI KOTA BATU (Studi Kasus Tim Pemenangan Pemilu Eddy Rumpoko-Punjul Santoso)

119 459 25