Kontrol jarak jauh dengan menggunakan modul GSM SIM800L dan ATMEGA16 sebagai CPU bisa di terapkan di berbagai project. Misalnya sistem tindakan prefentif Banjir, Deteksi kebocoran gas, Alarm maling di rumah, dan sistem sistem kontrol lain nya. Kemampuan kita dalam membuat sistem kontrol jarak jauh bisa dibuat tergantung kreatifitas masing masing dari pembuat alat.
nah di artikel sebelum nya kita sudah memahami bagai mana cara mengirim sms, melakukan pemanggilan telepon dengan mengirin printah AT COMMAND melalui PuTTy, atau bisa juga dengan menggunakan hyperterminal, artikel nya bisa anda baca disini sebelum melanjutkan artikel ini.
Sebelum melangkah lebih jauh, pastikan sim800L telah di supplay oleh tegangan 4v yang bisa di dapat dari LM2596, atau LM317, kemudian di testing dengan putty seperti di artikel sebelum nya, jika sudah oke baru menggunakan atmega16
Tindakan selanjutnya untuk membuat alat kontrol jarak jauh ini adalah, pastikan pin tx dan rx di SIM800L terhubung dengan benar dengan pin tx dan rx ATMEGA16. Rangkaian interface nya dapat dilihat di gambar berikut,
- PIN TXD SIM800L <—–> PIN RXD ATMEGA16
- PIN RXD SIM800L <—–> PIN TXD ATMEGA16
Setelah semua terhubung dengan benar, tegangan supplay untuk SIM800L juga sudah benar, testing SIM800L dengan PuTTy juga sudah benar, selanjutnya adalah memprogram alat kontrol jarak jauh ini dengan codevisionavr.
berikut programnya,
#include <mega16.h> // Alphanumeric LCD functions #include <alcd.h> #include <delay.h> #include <stdio.h> #include <stdlib.h> // Declare your global variables here void main(void) { // Declare your local variables here PORTB = 0XFF; DDRB = 0X00; //set sebagai input sensor DDRA = 0XFF; PORTA = 0X00; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA = (0 << RXC) | (0 << TXC) | (0 << UDRE) | (0 << FE) | (0 << DOR) | (0 << UPE) | (0 << U2X) | (0 << MPCM); UCSRB = (0 << RXCIE) | (0 << TXCIE) | (0 << UDRIE) | (1 << RXEN) | (1 << TXEN) | (0 << UCSZ2) | (0 << RXB8) | (0 << TXB8); UCSRC = (1 << URSEL) | (0 << UMSEL) | (0 << UPM1) | (0 << UPM0) | (0 << USBS) | (1 << UCSZ1) | (1 << UCSZ0) | (0 << UCPOL); UBRRH = 0x00; UBRRL = 0x47; // Alphanumeric LCD initialization // Connections are 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: 20 lcd_init(16); lcd_gotoxy(0, 0); lcd_putsf("www.mikroavr.com"); delay_ms(2000); delay_ms(2000); delay_ms(2000); lcd_clear(); lcd_gotoxy(0, 0); lcd_putsf("configure SMS"); printf("AT\r\n"); delay_ms(1000); printf("AT+CMGF=1\r\n"); delay_ms(1000); printf("AT+CMGS=\"+6285207770631\"\r\n"); //ganti dengan no telpon anda printf("sending sms\r\n"); printf("by mikroavr donk"); delay_ms(1000); putchar(26); while (getchar() != 'K') {}; lcd_gotoxy(0, 1); lcd_putsf("SMS SUKSES"); while (1) { // Place your code here } }
Jika SIM800L bekerja dengan normal, maka akan ada sms masuk ke no telpon yang dituju dengan isi sms “sending sms by by mikroavr donk”
nah program di atas bisa kamu kembangkan, misalnya jika sensor deteksi ini, maka kirim sms, jika ada deteksi sensor ini, telpon ke no ini.
selamat berkreasi ya
PUNYA MASALAH dalam pembuatan project MIKROKONTROLLER ATAU ARDUINO, silahkan whatsapp: 085207770631, atas nama: jimmi kardo sitepu, Dengan senang HATI saling berbagi.