Lampiran 1 Blok diagram arsitektur AVR

dokumen-dokumen yang mirip
RANCANG BANGUN MODUL AKUISISI DATA UNTUK SISTEM IRIGASI OTOMATIS BERBASIS MIKROKONTROLER ARDUINO DUEMILANOVE AKBAR RIYAN NUGROHO

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

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB IV PENGUJIAN DAN ANALISA ALAT

PANDUAN PRAKTIKUM DASAR ARDUINO

BAB IV HASIL DAN UJI COBA

BAB IV PEMBAHASAN. 27

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

Komunikasi Serial pada ARDUINO UNO R3 untuk mengkatifkan (Menyalakan dan mematikan) LED

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

BAB IV PENGUJIAN DAN ANALISA ALAT

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

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB IV PENGUJIAN DAN ANALISA ALAT. perancangan alat. Tujuan pengujian adalah untuk mengetahui kebenaran

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

DHT11 Temperature and Humidity Sensor Board Gambar 1 Blok Diagram AN196. 5V (Power) GND (Power)

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB IV HASIL DAN UJI COBA

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

BAB IV PENGUJIAN ALAT DAN PEMBAHASAN

BAB 3 PERANCANGAN SISTEM

PERANCANGAN ALAT PENGENDALI LAMPU MENGGUNAKAN SUARA BERBASIS ANDROID. :Arnold Sanurda NPM : Dosen Pembimbing :Dr. Debyo Saptono, ST., MT.

BAB III PERANCANGAN ALAT

4.2 Persiapan Perangkat Keras dan Perangkat Lunak

BAB 3 PERANCANGAN ALAT. Gambar 3.1 diagram blok rangkaian

BAB IV ANALISA DAN PENGUJIAN DATA

KRCT [MODUL WORKSHOP 1] TANJUNGPINANG 2012 KONTES ROBOT CERDAS

DT-AVR Application Note

MODUL V PERULANGAN. Perulangan digunakan untuk menjalankan satu atau lebih perintah secara berulang selama kondisi tertentu.

BAB III PEMBUATAN SOFTWARE

Logika pemrograman sederhana

Structure dasar dari bahasa pemrograman arduino adalah sederhana yang

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB III METODOLOGI PERANCANGAN. Diagram alir digambarkan pada gambar berikut :

PANDUAN PRAKTIKUM DASAR ARDUINO

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

BAB III PERANCANGAN PROGRAM

BAB IV HASIL DAN UJI COBA

RANCANG BANGUN ALAT UKUR TINGGI BADAN DENGAN DISPLAY OLED DAN BERSUARA BERBASIS ARDUINO UNO

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

PANDUAN PRAKTIKUM DASAR ARDUINO

LAPORAN PRAKTIK MIKROPROSESSOR & INTERFACE

BAB 3 PERANCANGAN SISTEM. Computer. Parallel Port ICSP. Microcontroller. Motor Driver Encoder. DC Motor. Gambar 3.1: Blok Diagram Perangkat Keras

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

BAB III PERANCANGAN SISTEM

BAB IV PENGUJIAN. Gambar 4.1 Rangkaian Pengujian Arduino Uno.

BAB IV HASIL DAN PEMBAHASAN. Penulis membutuhkan perangkat keras sebagai berikut:

PANDUAN PRAKTIKUM DASAR ARDUINO

BAB IV PENGUJIAN ALAT DAN ANALISA

BAB III PERANCANGAN DAN PEMBUATAN SISTEM

Lembar Kegiatan 8 Arduino Wireless Controlling

BAB IV PENGUJIAN ALAT

PERANCANGAN. 4-1

DAFTAR PUSTAKA. Arduino Examples. 5 Januari 2014.

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

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III PERANCANGAN ALAT

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN PERANGKAT KERAS DAN LUNAK

BAB III METODE PENELITIAN. kepada security atau pihak yang berwenang melalui komunikasi wireless dengan output

BAB III PERANCANGAN ALAT

IMPLEMENTASI DAN PENGUJIAN

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

Pengenalan Sensor Ultrasonic SRF05 dengan Arduino Sketch. Sensor Ultrasonic SRF05

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

Source Code Progam Magnetic Door Lock menggunakan Kode Pengaman berbasis ATmega 328

Komunikasi Serial. Menggunakan Arduino Uno MinSys

BAB II ANALISIS DAN PERANCANGAN

DAFTAR PUSTAKA. Adafruit.com. (2016, November). learn.adafruit.com. Retrieved November 28,

PANDUAN PRAKTIKUM DASAR ARDUINO

BAB IV PENERAPAN DAN PENGUJIAN

Praktikum II LED dan PUSH BUTTON

BAB III PERANCANGAN ALAT

BAB 3 PERANCANGAN DAN PEMBUATAN

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB III PERANCANGAN ALAT DAN PROGRAM

4.1.2 Implementasi Sistem Setelah melakukan analisis dan perancangan sistem yang telah dibahas, maka untuk tahap selanjutnya adalah implementasi siste

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISIS

PANDUAN PRAKTIKUM DASAR ARDUINO

BAB IV HASIL DAN UJI COBA

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM

PANDUAN PRAKTIKUM DASAR ARDUINO

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB IV PENGUJIAN ALAT. pengujian yang akan dilakukan, yaitu pengujian fungsional dan pengujian sistem

BAB 3 PERANCANGAN ALAT

BAB III PERANCANGAN ALAT

BAB IV HASIL DAN ANALISIS

BAB III METODE PENELITIAN

BAB IV ANALISA DAN PENGUJIAN ALAT

PERANCANGAN ALAT MONITORING PENGGUNAAN DAYA LISTRIK SECARA DETAIL MENGGUNAKAN MIKROKONTROLER

BAB IV PERANCANGAN ALAT

Lebih jelasnya bisa dilihat formatnya sebagai berikut:

Transkripsi:

LAMPIRAN 13

Lampiran 1 Blok diagram arsitektur AVR 14

Lampiran 2 Gambar sensor float switch Switch Lampiran 3 Koneksi SD Modul dengan Arduino 15

Lampiran 4 Dokumentasi rancang bangun menggunakan sensor float switch Lampiran 5 Dokumentasi rancang bangun menggunakan sensor thermocouple 16

Lampiran 6 Tampilan serial monitor dari rancang bangun menggunakan sensor float switch Lampiran 7 Tampilan serial monitor saat gagal koneksi antara SD Modul dengan mikrokontroler 17

Lampiran 8 Tampilan serial monitor ketika akan melakukan pengaturan penggunaan sistem Lampiran 9 Tampilan serial monitor ketika telah melakukan pengaturan penggunaan sistem 18

Lampiran 10 Harga serta alat-alat yang digunakan dalam rancang bangun menggunakan float switch No Alat Jumlah Harga Satuan (Rp) Total Harga (Rp) 1 Arduino Duemilanove 1 235.000 235.000 2 Sensor float switch 2 65.000 130.000 3 LED 1 8.000 8.000 Total 373.000 Lampiran 11 Harga serta alat-alat yang digunakan dalam rancang bangun menggunakan thermocouple No Alat Jumlah Harga Satuan (Rp) Total Harga (Rp) 1 Arduino Duemilanove 1 235.000 235.000 2 Sensor Thermocouple 1 20.000 20.000 3 Baterai 9 V 1 7.500 7.500 4 SD Card 1 38.000 38.000 5 SD Modul 1 100.000 100.000 6 LED 1 8.000 8.000 Total 408.500 Lampiran 12 Kode program rancang bangun menggunakan sensor float switch // program untuk menjaga ketinggian air dengan simulasi valve menggunakan LED #define sensor 2 //jumlah sensor yang digunakan #define valve 13 //port digital yang digunakan untuk simulasi valve int valuea0; int valuea1; void setup() { Serial.begin(9600); //boud-rate untuk komunikasi dengan serial monitor pinmode(valve, OUTPUT); //mengeset pin digital sebagai output pinmode(2,output); digitalwrite(2, HIGH); void loop(){ //fungsi untuk membaca nilai dari sensor dan //menyimpannya ke dalam suatu variabel valuea0=analogread(a0); delay(3000); valuea1=analogread(a1); //simulasi valve menggunakan LED //lampu akan menyala jika air berada di batas bawah if (valuea0>0){ digitalwrite(valve, HIGH); //Menampilkan hasil pembacaan sensor pada Serial Monitor Serial.print ("nilai dari batas bawah: "); 19

Serial.println(valueA0); delay(3000); //lampu akan mati jika air berada dibatas atas if (valuea1==0){ digitalwrite(valve, LOW); //Menampilkan hasil pembacaan sensor pada Serial Monitor Serial.print("nilai dari batas atas:"); Serial.println(valueA1); delay(3000); Lampiran 13 Kode program rancang bangun menggunakan sensor thermocouple /* program datalogger menggunakan SD Card sebagai memori Setting program meliputi : -sampling time -penentuan batas atas -penentuan batas bawah -interupt (setting ulang pengoperasian) dengan cara memasukkan sembarang nilai ke serial monitor */ #include <Time.h> #include <SdFat.h> #include <SdFatUtil.h> #define LOG_INTERVAL 1000 #define SENSOR_COUNT 3 #define ECHO_TO_SERIAL 1 #define WAIT_TO_START 1 #define SYNC_INTERVAL 1000 #define valve 9 //port digital untuk simulasi valve yaitu lampu Led #define sensor 5 //port analog yang digunakan untuk sensor uint32_t synctime = 0; // time of last sync() char settingpoint[8]="0"; int count=0; //sebagai penanda array penyimpanan hasil Serial.read ke settingpoint int batasatas; int batasbawah; int nilaisensor; int samplingtime; int hit=0; time_t t; time_t n; int selisih; //sebagai indikator sampling time int ket = 0; //sebagai indikator keterangan penulisan sampling time, batas atas, dan batas bawah pada file SdFat sd; SdFile file; ArduinoOutStream cout(serial); char buf[50]; #define error(s) sd.errorhalt_p(pstr(s)) void setup() { Serial.begin(9600); 20

pinmode(valve, OUTPUT); //mengeset pin digital sebagai output void loop() { start(); //Perintah untuk mengeset nilai sampling time Serial.println("Masukkan Nilai Seberapa Lama Data Akan Diambil (dalam menit)"); while(!serial.available()); samplingtime: dataserial(); if (count==8){ count=0; samplingtime=atoi(settingpoint); else{ goto samplingtime; ulangbatasatas: //Perintah untuk mengeset nilai batas atas Serial.println("Memasukkan nilai settingpoint batas atas (0-1023): "); while(!serial.available()); batasatas: dataserial(); if (count==8){ count=0; batasatas=atoi(settingpoint); else{ goto batasatas; if (batasatas>1023 batasatas<0) { goto ulangbatasatas; ulangbatasbawah: //Perintah untuk mengeset nilai batas bawah Serial.println("Memasukkan nilai settingpoint batas bawah (0-1023): "); while(!serial.available()); batasbawah: dataserial(); if (count==8){ count=0; batasbawah=atoi(settingpoint); else{ goto batasbawah; 21

if (batasbawah>1023 batasbawah<0) { goto ulangbatasbawah; Serial.print("nilai sampling time:" ); Serial.println(samplingTime); Serial.print("nilai batas atas:" ); Serial.println(batasAtas); Serial.print("nilai batas bawah:" ); Serial.println(batasBawah); ambildata(); software_reset(); //fungsi untuk memulai & membuat file.csv void start() { Serial.println("Initializing SD card..."); if (!sd.init(spi_half_speed)) sd.initerrorhalt(); Serial.println("card initialized."); char name[] = "LOGGER00.CSV"; for (uint8_t i=0; i < 100; i++) { name[6] = i/10 + '0'; name[7] = i%10 + '0'; if (file.open(name, O_CREAT O_EXCL O_WRITE)) break; if (!file.isopen()) error("file.open"); cout << pstr("logging to: ") << name << endl; obufstream bout(buf, sizeof(buf)); //Untuk memberikan nama header table data bout << pstr("no"); bout << pstr(",nilai"); bout << pstr(",valve"); #if ECHO_TO_SERIAL cout << buf << endl; #endif bout << "\r\n"; file.write(buf); file.sync(); if (file.writeerror) error("gagal menulis header tabel"); 22

//Fungsi untuk mengambil data dari serial monitor void dataserial() { settingpoint[count]=serial.read(); count=count+1; int merge = atoi(settingpoint); Serial.println(merge); //Fungsi untuk mengambil data dari sensor void ambildata(){ t=now(); while(selisih<samplingtime) { interupt(); n=now(); //memasukkan waktu saat ini ke variable t selisih=minute(n)-minute(t); //mencari selisih waktu untuk memberhentikan loopoing nilaisensor=analogread(sensor); Serial.println(nilaiSensor); ledswitch(); hit++; sdcard(hit,nilaisensor); //Fungsi simulasi valve pada LED void ledswitch() { //led menyala jika nilai sensor kurang dari batas bawah if (nilaisensor<batasbawah){ digitalwrite(valve, HIGH); //led menyala jika nilai sensor kurang dari batas bawah if (nilaisensor>batasatas){ digitalwrite(valve, LOW); //Fungsi untuk menulis pada sdcard void sdcard(int n, int nilai) { uint32_t m; do { m = millis(); while(m % LOG_INTERVAL); obufstream bout(buf, sizeof(buf)); // Menulis urutan data yang diambil bout << n; // Menulis data yang diambil bout << ',' << nilai; // Menulis keadaan valve 23

if (digitalread(valve)>0) { bout << pstr(",menyala"); else { bout << pstr(",mati"); #if ECHO_TO_SERIAL cout << buf << endl; #endif bout << "\r\n"; file.write(buf); if ((millis() - synctime) >= SYNC_INTERVAL) { file.sync(); synctime = millis(); if (file.writeerror) error("gagal menulis data"); if (m == millis()) delay(1); // fungsi untuk mereset void software_reset(){ asm volatile ("jmp 0"); // fungsi untuk mensetting ulang kembali ketika arduino sedang beroperasi void interupt() { if(serial.available()) { asm volatile ("jmp 0"); start(); 24

Penguji: Hendra Rahmawan, S.Kom, M.T 25