DAFTAR PUSTAKA. Anton, 2007, Sensor Suhu LM35, com/sensor Suhu LM35.htm

dokumen-dokumen yang mirip
Standar Operasional Prosedur Alat

RANCANG BANGUN OTOMATISASI PINTU GARASI DENGAN KOMUNIKASI BLUETOOTH BERBASIS MIKROKONTROLER

Listing Program. // Declare your global variables here

Tabel Data Pengujian 5x Perubahan Posisi. Kanan (V) Kiri (V)

Kajian Pustaka. Spesifikasi - Krisbow KW Fitur - Krisbow KW06-290

LAMPIRAN A. Gambar A. Layout alat tongkat tunanetra. Ubiversitas Sumatera Utara

LAMPIRAN. A. Pembuatan Minimun system dan Penanaman Program 1. Rangkaian Minimum System yang telah dilarutkan, di bor dan dipasang komponen

SKEMATIK RANGKAIAN A V R 12V. Out. Gnd. Kontak Motor. Accu 12V. Klakson ISP CONNECTOR PA0 PB0 PB1 PA2 PA4 MOSI MISO PA6. 10uF SCK RST. 10uF. 47uF.

LAMPIRAN A PROGRAM CODE VISION AVR

LAMPIRAN. #include <mega16.h> //menambahkan library atmega16 #include <delay.h> //menambahkan library delay #define ADC_VREF_TYPE 0x40

Langkah-langkah pemrograman: 1. Pilih File >> New:

LAMPIRAN A DATA SHEET

Project : Version : Date : 15/05/2013 Author : F4CG Company : F4CG Comments:

DAFTAR PUSTAKA. Universitas Sumatera Utara

LAMPIRAN A RANGKAIAN LENGKAP dan FOTO PENGUAT KELAS D

A-1 LISTING PROGRAM MIKROKONTROLER

TUTORIAL II MONITORING PANEL SURYA TUTORIAL BASIC TIMER- CONTER,ADC AND SERIAL COMMUNICATION

Penerima Remote SONY dengan ATmega32

Ping))) Paralax Ultrasonic Range Finder By : Hendawan Soebhakti

LAMPIRAN A SKEMATIK RANGKAIAN

LAMPIRAN. Lay Out Minimum Sistem dengan ATMega8

Langkah-langkah pemrograman: 1. Pilih File >> New:

Listing Program Aquaponik

DAFTAR PUSTAKA. Barry, Gwoollard Elektronika Praktis. PT. Praditya Paramitha, Jakarta.

LAMPIRAN A FOTO ROBOT MOBIL TANK

DAFTAR PUSTAKA. Bejo, Agus C & AVR Rahasia Kemudahan Bahasa C Dalam Mikrokontroler ATMega 8535.Yogyakarta:Graha Ilmu.

DAFTAR PUSTAKA.

BAB IV HASIL DAN PEMBAHASAN. Hasil dan pembahasan merupakan pemaparan dari spesifikasi alat, kinerja

MODUL V: Timer dan Counter

Gambar 4.1 Rangkaian keseluruhan

OHMMETER DIGITAL BERBASIS MICROCONTROLLER

BAB 3 PERANCANGAN ALAT. Rangkaian Catu daya (Power Supply Adaptor) ini terdiri dari satu keluaran, yaitu 5

LAMPIRAN A. Gambar A. Skematik Perancangan Solar Tracker Dual Axis. 54 Universitas Sumatera Utara

BAB III PERANCANGAN DAN PEMBUATAN SISTEM. perangkat keras maupun perangkat lunak yang meliputi:

Robotika. OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; MCUCSR=0x00; TIMSK=0x00;

STIKOM SURABAYA BAB IV PEMBAHASAN. 4.1 Perangkat Keras. Informasi waktu yang akan ditunjukkan oleh jarum dan motor power

C. RUMUSAN MASALAH 1. Bagaimana cara membuat timbangan digital? 2. Apa tujuan pembuatan timbangan digital?

BAB V PENUTUP. otomatis yang dapat terjadwal.

Pulsa = Frekuensi * 60/20 ; atau Pulsa = frekuensi*30;

MIKROKONTROLER ATMEGA BERBASIS CODEVISION AVR (SERIAL U(S)ART) dins D E P O K I N S T R U M E N T S

BAB 4 HASIL DAN PEMBAHASAN

Membuat Sendiri Robot Line Tracker

Digital Compass CMPS03 By : Hendawan Soebhakti

BAB IV HASIL DAN UJI COBA

LAMPIRAN 1 DATA SHEET SERVO GWS S677

I. Pendahuluan. II. Tujuan. III. Gambaran Disain. MODUL 7 Monitoring Suhu dan Cahaya ke PC

MIKROKONTROL ATMega8535 Teknik Elektronika Industri

Tata letak konektor DT-AVR ATMEGA168 BMS adalah sebagai berikut: Persiapan hardware DT-AVR ATMEGA168 BMS adalah sebagai berikut:

RANCANG BANGUN SISTEM MONITORING SUHU RUANGAN MENGGUNAKAN APLIKASI ISD 1420 BERBASIS MIKROKONTROLER AT89S51

POLITEKNIK CALTEX RIAU

CLAMP-METER PENGUKUR ARUS AC BERBASIS MIKROKONTROLER TUGAS AKHIR

MIKROKONTROLER ATMEGA BERBASIS CODEVISION AVR (ADC DAN APLIKASI TERMOMETER) dins D E P O K I N S T R U M E N T S

BAB IV HASIL KERJA PRAKTEK. sistem perancangan ini memiliki sensor untuk mengetahui seberapa intensitas cahaya

BAB I TEORI DASAR 1.1 ATmega Definisi

PRAKTIKUM III Robot Line Follower Sederhana

BAB III DESAIN DAN PEMBUATAN

BAB IV HASIL KERJA PRAKTEK. MMC (Multi Media Card) merupakan alat untuk menyimpan data digital. Memory card

BAB V KESIMPULAN DAN SARAN. melakukan analisa terhadap rancang bangun monitoring volume air mineral

Tabel 1. Karakteristik Potensiometer Putaran Kedua No Sudut (derajat) Teori (KΩ) Praktik (KΩ) Error (%) ,00 45,50 1, ,86 45,30 0,97 2

MODUL 8 Analog Digital Converter (ADC)

RANGKAIAN LENGKAP. Rangkaian Output Suara Dan Rangkaian Op-Amp

TUGAS MATAKULIAH APLIKASI KOMPUTER DALAM SISTEM TENAGA LISTRIK FINAL REPORT : Pengendalian Motor DC menggunakan Komputer

Gambar 3.1 Blok Diagram Timbangan Bayi

BAB IV HASIL KERJA PRAKTEK

BAB III METODOLOGI PENELITIAN. Berikut alat dan bahan yang digunakan. Bahan yang digunakan pada pembuatan dan penelitian ini adalah:

Modul SerLog - Easy Serial Logger

MAX6675 K-Type Thermocouple Temperature Sensor

BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM

Sistem Mikrokontroler FE UDINUS

BAB III METODE PENELITIAN

DAFTAR PUSTAKA. [2] Budiharto, Widodo, Firmansyah, Sigit Elektronika Digital +

MODUL PELATIHAN MIKROKONTROLLER UNTUK PEMULA DI SMK N I BANTUL OLEH: TIM PENGABDIAN MASYARAKAT JURUSAN TEKNIK ELEKTRO

How2Use DT-AVR ATMEGA128L BMS. Oleh: Tim IE. Gambar 1 Tata Letak DT-AVR ATMEGA128L BMS

Pengenalan CodeVisionAVR

Pengaturan Pompa Sirkulasi Air Kolam Via SMS Gateway Berbasis Mikrokontroler

Kegiatan Agustus September Oktober November Desember Januari

I. Pendahuluan. II. Tujuan. III. Gambaran Disain. MODUL 6 Meter Cahaya Digital

BAB III PERANCANGAN SISTEM KONTROL TEST BED AUTOMATIC CRUISE CONTROL

BAB III METODOLOGI PENELITIAN. yang sebelumnya telah dihaluskan dan melalui proses quality control

REMOTE CONTROL LAMPU KAMAR DENGAN FITUR PWM DAN SEVEN SEGMENT BERBASIS MIKROKONTROLER ATmega 8535

RANCANG BANGUN ALAT DETEKSI MINYAK GORENG YANG TELAH DIPAKAI MENGGORENG DAGING BABI BERBASIS PARAMETER KAPASITANSI

BAB III METODOLOGI PENELITIAN. dengan suhu dan timer berbasis mikrokontroler ATMega8535, dapat

PENGEMBANGAN ALAT DETEKSI TINGKAT DEHIDRASI BERDASARKAN WARNA URINE MENGGUNAKAN LED DAN FOTODIODA

PERCOBAAN I PENGENALAN CODEVISION AVR

RANCANG BANGUN ALAT PENGUKUR INTENSITAS HUJAN DENGAN METODE JUNGKAT-JUNGKIT BERBASIS SENSOR MEDAN MAGNET UGN3503 RIAN MARYANTO

MAKALAH MIKROPROSESOR JAM DIGITAL DENGAN LCD 16X2

BAB IV PENGUJIAN DAN SIMULASI PENGENDALIAN SUHU RUANG PENETAS TELUR

FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA PALEMBANG TAHUN AJARAN

MIKROKONTROLER ATMEGA BERBASIS CODEVISION AVR (I2C DAN APLIKASI RTC) dins D E P O K I N S T R U M E N T S

Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5

PELATIHAN: Pemrograman Mikrokontroler Tipe AVR bagi Guru-guru SMK

Timer / Counter. Hendawan Soebhakti. November 2009

APLIKASI LED DAN PHOTODIODA SEBAGAI SISTEM DETEKSI MINYAK GORENG TERCAMPUR PLASTIK

PRAKTIKUM MIKROPROSESSOR PTE-408 PRODI S1 PENDIDIKAN TEKNIK ELEKTRO PETUNJUK PRAKTIKUM DYAH LESTARI

Transkripsi:

DAFTAR PUSTAKA Anonim, 20012, 8-bit Microcontroller with 4K Bytes In-System Programmable Flash, Atmel Corporation Anton, 2007, Sensor Suhu LM35, http://www.elektronika-elekronika.blogspot. com/sensor Suhu LM35.htm Dr. S.S.Riaz Ahamed. Role of Zigbee technology in future data communication system. Journal of Theoretical and Applied Information Technology, Vol.5 No. 2, pp 129-135, 2005. Arifin, Z., 2008, Sistem Akuisisi Data Suhu Menggunakan Mikrokontroler AT89S51, http://www.electronicslab.com/sistemakuisisi Data Suhu Menggunakan Mikrokontroler AT89S51.htm Joaldera, 2010, ISD1420 Sebagai Penyimpan Suara, http://jo-elektricsblogs.com/ ISD1420 Sebagai Penyimpan Suara.htm Malvino, A., 1984, Prinsip-Prinsip Elektronika Jilid 1, Jakarta: Erlangga. Schommers, 1982, Elektronika Untuk Pemula, Jakarta: Penerbit Gramedia. Suryono, 2005, Mikrokontroler ISP MCS-5,Lab Elektronika & Instrumentasi Fisika Undip. Suryono, 2005, Workshop Elektronika Dasar, Lab Elektronika & Instrumentasi Fisika Undip. Sutrisno. 1987, Elektronka dan Penerapannya Jilid 2, Bandung: Penerbit ITB. Woollard, B., 1999, Elektronika Praktis, Jakarta: Pradnya Paramita.

LAMPIRAN

#include <mega16.h> #include <stdio.h> #include <stdlib.h> #include <delay.h> #include <string.h> #include <ctype.h> // Alphanumeric LCD Module functions #include <alcd.h> #define ADC_VREF_TYPE 0x00 #ifndef RXB8 #define RXB8 1 #endif #ifndef TXB8 #define TXB8 0 #endif #ifndef UPE #define UPE 2 #endif #ifndef DOR

#define DOR 3 #endif #ifndef FE #define FE 4 #endif #ifndef UDRE #define UDRE 5 #endif #ifndef RXC #define RXC 7 #endif #define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<DOR) #define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC) #define LED1 PORTA.6 #define LED2 PORTA.5 #define LED3 PORTA.4

#define button1 PIND.5 #define button2 PIND.6 #define button3 PIND.7 #define Relay1 PORTB.2 #define Relay2 PORTB.3 // USART Receiver buffer #define RX_BUFFER_SIZE 8 char rx_buffer[rx_buffer_size]; #if RX_BUFFER_SIZE <= 256 unsigned char rx_wr_index,rx_rd_index,rx_counter; #else unsigned int rx_wr_index,rx_rd_index,rx_counter; #endif // This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow; // USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) char status,data;

status=ucsra; data=udr; if ((status & (FRAMING_ERROR PARITY_ERROR DATA_OVERRUN))==0) rx_buffer[rx_wr_index++]=data; #if RX_BUFFER_SIZE == 256 // special case for receiver buffer size=256 if (++rx_counter == 0) #else if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) rx_counter=0; #endif rx_buffer_overflow=1; #ifndef _DEBUG_TERMINAL_IO_ // Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+

char getchar(void) char data; while (rx_counter==0); data=rx_buffer[rx_rd_index++]; #if RX_BUFFER_SIZE!= 256 if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #endif #asm("cli") --rx_counter; #asm("sei") return data; #pragma used- #endif // USART Transmitter buffer #define TX_BUFFER_SIZE 8 char tx_buffer[tx_buffer_size]; #if TX_BUFFER_SIZE <= 256 unsigned char tx_wr_index,tx_rd_index,tx_counter; #else unsigned int tx_wr_index,tx_rd_index,tx_counter;

#endif // USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr(void) if (tx_counter) --tx_counter; UDR=tx_buffer[tx_rd_index++]; #if TX_BUFFER_SIZE!= 256 if (tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; #endif #ifndef _DEBUG_TERMINAL_IO_ // Write a character to the USART Transmitter buffer #define _ALTERNATE_PUTCHAR_ #pragma used+ void putchar(char c) while (tx_counter == TX_BUFFER_SIZE); #asm("cli") if (tx_counter ((UCSRA & DATA_REGISTER_EMPTY)==0))

tx_buffer[tx_wr_index++]=c; #if TX_BUFFER_SIZE!= 256 if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; #endif ++tx_counter; else UDR=c; #asm("sei") #pragma used- #endif //Declare your global variables here //============================================================ ===================== lash unsigned char *nomor="081338645290"; flash unsigned char *isi1="warning: LCD MATI : PULSA: "; flash unsigned char *isi2="warning: LCD MATI : PULSA: "; flash unsigned char *isi4="warning: LCD Telah Hidup Kembali : PULSA: "; //============================================================ ========== int a=0; //int b; int sensor;

char temp[6]; int eeprom *pointer_eeprom; int data; int data2; int abc; //======================================== unsigned char rk=0; void send_sms(void); void sms_init(void); void sms_init_at(void); void send_sms_pulsa (void); void send_sms_return(void); //void check_jam(void); // Read the AD conversion result unsigned int read_adc(unsigned char adc_input) ADMUX=adc_input (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA =0x40; // Wait for the AD conversion to complete

while ((ADCSRA & 0x10)==0); ADCSRA =0x10; return ADCW; interrupt [EXT_INT0] void ext_int0_isr(void) unsigned char rr=0; PORTA.7=0; while (rr<120) LED1=1;delay_ms(100); LED1=0;delay_ms(100); sensor=read_adc(0); if(sensor<=data) goto selesai; ++rr; lcd_gotoxy(0,0);lcd_putsf("lcd MATI"); a=1; lcd_gotoxy(0,0);lcd_putsf("lcd sudah mati selama 50 detik");

Relay1=1;Relay2=1; delay_ms(100); lcd_gotoxy(0,0);lcd_putsf("sms init"); sms_init(); LED2=1; lcd_gotoxy(0,0);lcd_putsf("sms init success");delay_ms(100); lcd_gotoxy(0,0);lcd_putsf("sending sms ");delay_ms(100); send_sms_pulsa(); LED1=0; goto selesai2; selesai: selesai2: delay_ms(200); //LED1=0; LED3=0;LED2=0;Relay2=0;Relay1=0; //======================================================= void sms_init(void) printf("ate0"); //set command tanpa echo putchar(0x0d);//enter while(getchar()!='k'); //menunggu OK //while(getchar()!=0x0a); //menunggu new line

LED2=0; delay_ms(100); ; void sms_init_at(void) printf("at"); //set command tanpa echo putchar(0x0d);//enter while(getchar()!='k'); //menunggu OK //while(getchar()!=0x0a); //menunggu new line delay_ms(100); ; //======================================================= // Send SMS pada saat lcd mati void send_sms(void) char dat; awal_sms: LED2=0; delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("kirim SMS"); sms_init_at(); LED2=1;

printf("at+cmgf=1"); putchar(0x0d);//enter while(getchar()!=0x0a); while(getchar()!=0x0a); delay_ms(500); printf("at+cmgs=\""); printf(nomor); printf("\""); putchar(0x0d);//enter while(getchar()!=0x20); //spasi delay_ms(100); printf(isi1); putchar(0x1a); //kirim Ctrl+z putchar(0x0d);//enter while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar(); delay_ms(500);

lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms; ; while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar(); delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms; ;

while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar(); delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms; ; while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar();

delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms; ; delay_ms(500); lcd_gotoxy(0,0);lcd_putsf("sending Succces"); //======================================================= // Kirim sms Plus check Pulsa apabila lcd mati void send_sms_pulsa(void) char ram_bebas3; unsigned char take_char3[]; char dat_cusd; char data_pulsa[]; int w3; int a;int b;

int count; int nilai; char *temporary; char dat; dat_cusd=0; ram_bebas3=0; temporary=0; w3=0; nilai=0; count=0; sms_init(); LED2=1;delay_ms(10); ulang: dat_cusd=0; printf("at+cusd=1,*888#"); putchar(0x0d);//enter while(getchar()!=0x0a); while (getchar()!='+'); for (b=0;b<=13;b++) dat_cusd=getchar();

if(dat_cusd=='4') b=0; lcd_gotoxy(0,0);lcd_putsf("gagal ulang lagi"); count++; itoa(count,temporary); lcd_gotoxy(0,1);lcd_puts(temporary); if(count>=20) //jika gagal CUSD sebanyak 20 kali lcd_gotoxy(0,5);lcd_puts("wait"); count=0; LED2=0; delay_ms(60000); sms_init_at(); goto ulang; while(getchar()!='.'); while(ram_bebas3!='.') ram_bebas3=getchar(); take_char3[w3] = ram_bebas3; w3++;

for (a=0;a<=w3-2;a++) lcd_gotoxy(a,1); lcd_putchar(take_char3[a]); data_pulsa[a]=take_char3[a]; ; delay_ms(300); nilai= atol(data_pulsa); if(nilai<=5000) LED2=0; lcd_gotoxy(0,0); lcd_putsf("pulsa habis"); //send_sms_2(); awal_sms: LED2=0; delay_ms(500); lcd_puts(""); lcd_gotoxy(0,0); lcd_putsf("sms_init"); sms_init();

LED2=1; printf("at+cmgf=1"); putchar(0x0d);//enter while(getchar()!='k'); delay_ms(10); lcd_gotoxy(0,0);lcd_putsf("at+cmgf Success"); LED2=0; delay_ms(100); LED2=1; lcd_gotoxy(0,0);lcd_putsf("at+cmgs"); //sms_init_at(); printf("at+cmgs=\""); printf(nomor); printf("\""); putchar(0x0d);//enter while(getchar()!=0x20); //spasi lcd_gotoxy(0,0);lcd_putsf("at+cmgs spasi"); LED2=0; delay_ms(100); LED2=1; printf(isi2); putchar(0x0d);//enter puts(data_pulsa); putchar(0x1a); //kirim Ctrl+z

putchar(0x0d);//enter while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar(); delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms; ; while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar();

delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms; ; while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar(); delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms;

; while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar(); delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms; ; //delay_ms(400); lcd_gotoxy(0,0);lcd_putsf("sending Succces"); delay_ms(100); goto lewat;

lcd_gotoxy(0,0); lcd_putsf("pulsa Masih banyak"); send_sms(); lewat: ; //======================================================= // Kirim sms Plus check Pulsa apabila lcd mati void send_sms_return(void) char ram_bebas3; unsigned char take_char3[]; char dat_cusd; char data_pulsa[]; int w3; int a;int b; int count; char *temporary; char dat; dat_cusd=0; ram_bebas3=0; temporary=0; w3=0; count=0;

sms_init(); LED2=1;delay_ms(10); ulang: dat_cusd=0; printf("at+cusd=1,*888#"); putchar(0x0d);//enter while(getchar()!=0x0a); while (getchar()!='+'); for (b=0;b<=13;b++) dat_cusd=getchar(); if(dat_cusd=='4') b=0; lcd_gotoxy(0,0);lcd_putsf("gagal ulang lagi"); count++; itoa(count,temporary); lcd_gotoxy(0,1);lcd_puts(temporary); if(count>=20) //jika gagal CUSD sebanyak 20 kali lcd_gotoxy(0,5);lcd_puts("wait"); count=0;

LED2=0; delay_ms(60000); sms_init_at(); goto ulang; while(getchar()!='.'); while(ram_bebas3!='.') ram_bebas3=getchar(); take_char3[w3] = ram_bebas3; w3++; for (a=0;a<=w3-2;a++) lcd_gotoxy(a,1); lcd_putchar(take_char3[a]); data_pulsa[a]=take_char3[a]; ; delay_ms(300); awal_sms: LED2=0;

delay_ms(500); lcd_puts(""); lcd_gotoxy(0,0); lcd_putsf("sms_init"); sms_init(); LED2=1; printf("at+cmgf=1"); putchar(0x0d);//enter while(getchar()!='k'); delay_ms(10); lcd_gotoxy(0,0);lcd_putsf("at+cmgf Success"); LED2=0; delay_ms(100); LED2=1; lcd_gotoxy(0,0);lcd_putsf("at+cmgs"); printf("at+cmgs=\""); printf(nomor); printf("\""); putchar(0x0d);//enter while(getchar()!=0x20); //spasi lcd_gotoxy(0,0);lcd_putsf("at+cmgs spasi"); LED2=0; delay_ms(100);

LED2=1; printf(isi4); putchar(0x0d);//enter puts(data_pulsa); putchar(0x1a); //kirim Ctrl+z putchar(0x0d);//enter while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar(); delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms; ; while((dat=getchar())!=0x0a)

if (dat=='o') if(getchar()=='r') getchar(); delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms; ; while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar(); delay_ms(500);

lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms; ; while((dat=getchar())!=0x0a) if (dat=='o') if(getchar()=='r') getchar(); delay_ms(500); lcd_gotoxy(0,0); lcd_putsf("gagal kirim SMS"); goto awal_sms;

; lcd_gotoxy(0,0);lcd_putsf("sending Succces"); delay_ms(100); ; //======================================================= void tulis_data_ke_eeprom(void) //pointer_eeprom = index; *pointer_eeprom=data; //======================================================= void baca_data_ke_eeprom(void) data=*pointer_eeprom; //======================================================= // Declare your global variables here void main(void) // Declare your local variables here PORTA=0x00; DDRA=0xFC; PORTB=0x00;

DDRB=0xFF; PORTC=0x00; DDRC =0x00; PORTD=0xE0; DDRD=0x00; //TCCR0=0x02; //TCNT0=0x00; //OCR0=0x96; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: khz // Mode: Normal top=ffffh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00;

OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x04; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; /* // ADC initialization // ADC Clock frequency: 1000.000 khz // ADC Voltage Reference: AREF pin // ADC Auto Trigger Source: ADC Stopped // Only the 8 most significant bits of // the AD conversion result are used // ADMUX=ADC_VREF_TYPE & 0xff; // ADCSRA=0x83; */ // ADC initialization // ADC Clock frequency: 62.500 khz

// ADC Voltage Reference: AREF pin // ADC Auto Trigger Source: ADC Stopped ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x87; // External Interrupt(s) initialization // INT0: On // INT0 Mode: Falling Edge // INT1: Off // INT2: Off GICR =0x40; MCUCR=0x03; MCUCSR=0x00; GIFR=0x40; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0xD8; UCSRC=0x86;

UBRRH=0x00; UBRRL=0x33; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // Alphanumeric LCD initialization // Connections specified in the // Project Configure C Compiler Libraries Alphanumeric LCD menu: // RS - PORTC Bit 0 // RD - PORTC Bit 1 // EN - PORTC Bit 2 // D4 - PORTC Bit 4 // D5 - PORTC Bit 5 // D6 - PORTC Bit 6 // D7 - PORTC Bit 7 // Characters/line: 16 lcd_init(16); //=== Global enable interrupts #asm("sei") mulai:

abc=0; PORTA.7=0; pointer_eeprom=0;//alamat eeprom yg akan ditulis/dibaca //pointer_eeprom_suhu=2; baca_data_ke_eeprom();//memanggil fungsi baca eeprom while (1) //============================================================ ========== //Tombol 1 untuk testing Kirim sms if (button2==0) Relay1=1;Relay2=1; delay_ms(700); ; send_sms_pulsa(); delay_ms(500); Relay1=0;Relay2=0; LED2=0; //============================================================ ========== //Tombol 3 untuk setting parameter LCD contras

if (button3==0) delay_ms(100); while(1) lcd_gotoxy(1,0);lcd_putsf("setting"); LED3=1; delay_ms(100); sensor=read_adc(0); itoa(sensor,temp);//menampilkan nilai ADC potensio1 lcd_gotoxy(0,1) ; lcd_puts(temp); if (button2==0)//jika ditekan maka akan menulis data=0 ke EEPROM sensor=read_adc(0); data=sensor; delay_ms(300); tulis_data_ke_eeprom(); LED3=0;delay_ms(100); goto mulai;

; //================monitoring lcd mati ====================================================== if (a==0) sensor=read_adc(0); itoa(sensor,temp);//menampilkan nilai ADC potensio1 lcd_gotoxy(0,1) ; lcd_puts(temp); if(sensor>=data) ; PORTA.7=1; if (a==1) sensor=read_adc(0); itoa(sensor,temp); //menampilkan nilai ADC potensio1 lcd_gotoxy(0,1) ; lcd_puts(temp); data2=data-10; if(sensor<data2) while (rk<100)

LED1=1;delay_ms(100); sensor=read_adc(0); if(sensor>=data) goto selesai3; LED1=0;delay_ms(100); ++rk; a=0; lcd_gotoxy(0,0);lcd_putsf("lcd hidup kembali"); Relay1=1;Relay2=1; delay_ms(200); lcd_gotoxy(0,0);lcd_putsf("sms initing..."); sms_init_at(); lcd_gotoxy(0,0);lcd_putsf("sms init succes...");delay_ms(100); lcd_gotoxy(0,0);lcd_putsf("semding sms return...");delay_ms(100); send_sms_return(); selesai3: Relay1=0;Relay2=0; LED1=0;LED2=0;