//inisialisasi variabel dan library #include <SD.h> #include <SPI.h> #include <Time.h> #include <Ethernet.h>

dokumen-dokumen yang mirip
BAB III IMPLEMENTASI

BAB III PERANCANGAN ALAT

LAMPIRAN. A. FOTO KOMPONEN : 1) Water flow sensor G1

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB IV PENGUJIAN DAN ANALISA

PETUNJUK PELAKSANAAN PRAKTIKUM ET2200 PRAKTIKUM TEKNIK TELEKOMUNIKASI 2 SISTEM EMBEDDED

BAB 3 PERANCANGAN SISTEM

RANGKAIAN KESELURUHAN

BAB III PRINSIP KERJA DAN PERANCANGAN

DT-AVR Application Note

DAFTAR PUSTAKA. Sinyal Arus 4-20 ma Dari Pemancar Suhu Melalui Jaringan GPRS, Sekolah. Tinggi Teknologi Nasional, Yogyakarta.

Lampiran 1. Kode Program Rancangan Otomatisasi Irigasi Kendi. const int chipselect = 10;//pin chipset untuk sd card stackable SdFat sd; SdFile myfile;

BAB III PERANCANGAN. meliputi dua Perancangan yaitu perangkat keras (hardware) dan perangkat lunak

Structure dasar dari bahasa pemrograman arduino adalah sederhana yang

PERANCANGAN SISTEM INFORMASI DEBIT AIR BERBASIS ARDUINO UNO

INSTRUKSI. TTH2D3 Mikroprosesor

Pengenalan Bahasa C. 1. Struktur penulisan program. #include < [library2.h] > #define [nama2] [nilai] ;

BAB III PERANCANGAN ALAT

Dasar Pemrograman Mikrokontroler dengan Bahasa C

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

Variable. Variable (cont) Variable (cont) Tipe Data

PRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh

Pencipta bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada. sekitar tahun C adalah bahasa pemrograman terstruktur, yang membagi

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Pengenalan C++ Oleh : Dewi Sartika

PERANCANGAN ALAT MONITORING PENGGUNAAN DAYA LISTRIK SECARA DETAIL MENGGUNAKAN MIKROKONTROLER

Lampiran 1 Blok diagram arsitektur AVR

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

BAB IV PENGUJIAN ALAT. Pengujian Arduino Board Pengujian Sensor Ultrasonic (ping) Pengujian Tombol Pengujian LCD Pengujian Alat Keseluruhan

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

SMART HOME ARDUINO EMBEDDED WEB SERVER BERBASIS MIKROKONTROLLER ARDUINO MEGA 2560 DAN ETHERNET SHIELD

BAB III PERANCANGAN ALAT

BAHASA PEMROGRAMAN C

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

Tipe Data, Variabel, Input/Output

Bahasa C-M6 By Jamilah, Skom 1

BAB 2 LANDASAN TEORI. Mikrokontroler AVR (Alf and Vegard s RISC Processor) dari Atmel ini

DASAR PEMROGRAMAN C UNTUK MIKROKONTROLER

Struktur Program Bahasa C

Daftar Pusataka. Budiharto, W. (2010). Robotika - Teori dan Implementasinya. Yogyakarta: ANDI.

BAB III. bab ini akan dibahas mengenai proses perancangan mekanik serta. penyusunan rangkaian untuk merealisasikan sistem alat.dalam hal ini Ethernet

BAB III METODE PENELITIAN

JOBSHEET 3. Sensor Warna dan Mikrokontroller

BAB IV PEMBAHASAN. 27

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB V PENUTUP. 5.1 Kesimpulan

BAB III METODOLOGI PENELITIAN. Adapun gambar blok diagram modul data logger autoclave yang telah dibuat

Perancangan Datalogger Online Melalui Jaringan 3G Menggunakan Low Cost Mikrokontroler Arduino

ELEMEN DASAR C++ C++ mempunyai cara untuk menyatakan karakter-karakter yang tidak mempunyai kode tombol (seperti karakter tombol) misalnya \n.

Dasar Pemrograman C. Hendawan Soebhakti. Oktober 2009

PANDUAN PRAKTIKUM DASAR ARDUINO

Chapter 1 KONSEP DASAR C

RANCANG BANGUN ALAT PENCAMPUR CAT TEMBOK (BAGIAN II) TUGAS AKHIR

Tipe Data dan Operator

Struktur Program C++ Pertemuan 3

Percabangan & Perulangan

BAB IV HASIL DAN UJI COBA

BAB III METODOLOGI PENELITIAN. Adapun untuk gambar dan penjelasan dari blok diagram dari alat dapat dilihat pada. Modul sensor.

C Programming (re-view)

Fungsi : Dasar Fungsi

IF IF ELSE. ELSE IF SWITCH CASE STATEMENT F NT OR, W HILE D O WHILE I 2

BAB III PERANCANGAN ALAT

BAB 3 PERANCANGAN SISTEM

Notasi Algoritmik. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

BAB II LANDASAN TEORI

1.1. Sejarah Bahasa C

DAFTAR PUSTAKA. Rele Gangguan Tanah (GFR) Sistem Proteksi Kota Padang. Universitas Bung. [2] Abdul Kadir BUKU PANDUAN PRAKTIS MEMPELAJARI APLIKASI

P 4 Bab 3 : Dasar Pemrograman C

BAB IV IMPLEMENTASI DAN PENGUJIAN

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

PENGENALAN ARDUINO. SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.

OPERATOR BAHASA C. Obyektif : 4. Mengetahui macam-macam operator dalam Bahasa C. 5. Mengetahui dan dapat menggunakan format pada tiap tipe data..

PANDUAN PRAKTIKUM DASAR ARDUINO

VARIABEL & TIPE DATA PEMROGRAMAN C++

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai)

Lampiran 1. Contoh perhitungan konversi nilai digital menjadi besaran fisik. Apabila didapat nilai digital sebesar , maka dirubah

Momentum, Vol. 13, No. 2, Oktober 2017, Hal ISSN

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Preliminary Test Axioo Class Program

Desain dan Analisis Algoritma. Pengenalan Bahasa C. I Ketut Resika Arthana, S.T., M.Kom.

MODUL 2 TIPE DATA, KONSTANTA DAN VARIABEL

BAB III PERANCANGAN DAN PEMBUATAN

Tipe Data dan Variabel

Preliminary Test Axioo Class Program

BAB IV PENGUJIAN DAN ANALISA ALAT

Dzikri Fahmi Rosidi 1, Harianto 2, Pauladie Susanto 3,

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

DAFTAR PUSTAKA. Sensor DHT 11 Dan LCD. Skripsi Sarjana-1, Jurusan Teknik Elektro, Fakultas Teknik, Universitas Mercu Buana, Jakarta

Pengantar Bahasa C. Tim Pengajar ASD Semester I 2017/ /7/2017 FN/ASD/Sem /2018 1

MATERI PELATIHAN BASIC ARDUINO SENSOR

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

PANDUAN PRAKTIKUM DASAR ARDUINO

LAPORAN PRAKTIK MIKROPROSESSOR & INTERFACE

RANCANG BANGUN MODUL PENCACAH 16 BIT 3 INPUT DENGAN KOMUNIKASI TCP/IP UNTUK PORTAL MONITOR RADIASI PMR15

DASAR PEMOGRAMAN JAVA

BAB 3 PERANCANGAN ALAT. Gambar 3.1 diagram blok rangkaian

PENGEMBANGAN PROTOTYPE PENGENDALI OTOMOTIS PADA INKUBATOR UNTUK AYAM MENGGUNAKAN ARDUINO UNO BERBASIS SMS

Transkripsi:

46 LAMPIRAN A //Kode Program Sistem //inisialisasi variabel dan library #include <SD.h> #include <SPI.h> #include <Time.h> #include <Ethernet.h> byte sensorinterrupt = 0; // 0 = pin 2; 1 = pin 3 byte sensorpin = 2; // konstanta untuk faktor kalibrasi flow sensor float calibrationfactor = 8.5; volatile byte pulsecount; int volbulan[6] ; int temp[6]; unsigned long volume; unsigned long total; unsigned long oldmin; unsigned long oldmonth; unsigned long oldtime; float debitmenit; unsigned int debitdetik; const int chipselect = 4; File datafile; byte mac[] = 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED ; byte ip[] = 10,4,11,177 ; const int MAX_PAGE_NAME_LEN = 8; // max characters in a page name char buffer[max_page_name_len+1]; // page name + terminating null EthernetServer server(80); EthernetClient client; //inisialisasi server,sd card, waktu dan interupsi void setup() Serial.begin(9600); Ethernet.begin(mac, ip); server.begin(); Serial.println("Ready");

47 settime(12,0,0,6,30,14); attachinterrupt(sensorinterrupt, pulsecounter, RISING); // make sure that the default chip select pin is set to // output, even if you don't use it: pinmode(10, OUTPUT); // see if the card is present and can be initialized: if (!SD.begin(chipSelect)) Serial.println("Card failed, or not present"); // don't do anything more: return; Serial.println("card initialized."); //Fungsi Utama Sistem void loop() debit(); // Rutin pembacaan data debbit air dari sensor client = server.available(); if (client) while (client.connected()) if (client.available()) if( client.find("get ") ) // look for the page name memset(buffer,0, sizeof(buffer)); // clear the buffer if(client.find( "/")) if(client.readbytesuntil('/', buffer, MAX_PAGE_NAME_LEN )) if(strcmp(buffer, "tampil") == 0) showanalog(); else if(strcmp(buffer, "data") == 0) showdigital();

48 else unknownpage(buffer); Serial.println(); break; client.stop(); // Rutin Halaman Data real-time sistem void showanalog() sendheader(); client.println(f("data PELANGGAN ")); client.println(f("nama PELANGGAN : Arif Azhari")); client.println(f("nomor PELANGGAN : 11691")); client.println(f("alamat PELANGGAN : Jl Ayahanda Gg tabib NO : 6")); client.print(" Jam : "); client.print(hour()); client.print(f(" Menit : ")); client.print(minute()); client.print(f(" Detik : ")); client.print(second()); client.print(f(" Tanggal : ")); client.print(day()); client.print(f(" Bulan : ")); client.print(monthstr(month())); client.print(f(" Tahun : ")); client.print(year());

49 client.print(f("pemakaian air Bulan ini (dalam m3) : ")); client.print(volume); for (int bulan = 0; bulan < 5; bulan++) client.print(f("pemakaian air ")); client.print(bulan+1); client.print(f(" Bulan Lalu : ")); client.print(volbulan[bulan]); //Rutin Halaman Web Data pada kartu memori void showdigital() sendheader(); File datafile = SD.open("datalog.txt"); int i; while(datafile.available()) client.write(datafile.read()); i++; if(i > 40) i=0; datafile.close(); //Halaman Web default void unknownpage(char *page) sendheader(); client.println("<h1>halaman utama

50 Sistem</h1>"); client.print(page); client.println("halaman yang tersedia :<br />"); client.println("/hasil Pembacaan /<br />"); client.println("/data Pembacaan/<br />"); client.println("</body></html>"); void swap() // Tukan data bulan ini ke bulan yang sudah berlalu for(int bulan = 5;bulan >= 1;bulan--) temp[bulan]=volbulan[bulan-1]; volbulan[bulan]=temp[bulan]; volbulan[0]=volume; volume=0; void pulsecounter() // naikan cacahan Pulsa pulsecount++; void debit() if((millis() - oldtime) > 1000) // rutin memproses pulsa counter dalam rentang satu detik // disable interupsi untuk memulai perhitungan pulsa dan proses lainnya detachinterrupt(sensorinterrupt); // Rumus perhitungan dari sensor

51 debit dalam liter per menit debitmenit = ((1000.0 / (millis() - oldtime)) * pulsecount) / calibrationfactor; // waktu setelah interupsi berlalu. oldtime = millis(); 1000; // konversikan kedalam mililiter debitdetik = (debitmenit / 60) * // jumlahkan milliliter yang telah lewat dengan yang sekarang untuk mendapatkan total volume volume += debitdetik; total += debitdetik; String datastring =" "; // Reset ulang pulsa pulsecount = 0; if(month()!= oldmonth) swap(); oldmonth = month(); if(minute()!= oldmin) oldmin = minute(); datastring += day(); datastring += month(); datastring += year(); datastring += " "; datastring += hour(); datastring += minute(); datastring += second(); datastring += " "; datastring += " Volume"; datastring += String(volbulan[0]); datastring += " M3 ";

52 File datafile = SD.open("datalog.txt", FILE_WRITE); datafile.println(datastring); datafile.close(); // nyalakan kembali interpsi attachinterrupt(sensorinterrupt, pulsecounter, RISING); void sendheader() // send a standard http response header client.println("http/1.1 200 OK"); client.println("content-type: text/html"); client.println(); client.println("<html><head><title>web multi-page </title>"); client.println("<body>"); server