Saldo pulsa GSM merupakan jumlah uang yang tersedia di provider kartu GSM sebagai biaya untuk fungsi telp, sms, maupun pembelian kuota.
Biasanya kita membeli pulsa di counter-counter terdekat, dan dapat juga beli via indomaret, alfamart, serta market place seperti tokopedia, bukalapak.
Gambar diatas dapat dikatakan seperti saldo uang yang kita tabungkan di bank.
Untuk tahun – tahun ini kegunaan saldo pulsa lebih condong digunakan untuk pembelian kuota Internet.
Dikarenakan aktivitas telp, maupun sms sudah tergantikan menggunakan kuota internet yang jauh lebih murah harganya.
Akan tetapi pada artikel ini, akan dibahas yang condongnya penggunaan saldo pulsa untuk aktivitas SMS notifikasi suatu proyek alat kendali.
Karena dipasaran module yang paling banyak digunakan untuk proyek kendali masih menggunakan metode sms seperti module GSM SIM800L v.1, V.2 maupun yang lainnya.
Dan saat pemasangan kadang ada kendala untuk pengecekan berapa jumlah saldo pulsa yang tersedia untuk posisi standby.
Artikel ini sangat berguna untuk permasalahan tersebut, hanya dengan memanfaatkan 1 push button sebagai trigger berapa jumlah sisa saldo pulsa dalam kartu gsm yang terpasang.
Tutorial Cek Saldo Pulsa GSM SIM800L V.2
Alasan penggunakan module GSM SIM800L V.2 karena dalam web ini sudah pernah dibahas secara detail untuk fungsi dan penggunaan sederhananya.
Selain harganya yang lumayan terjangkau, module ini menggunakan tegangan inputan 5vdc.
Bahan komponen yang diperlukan antara lain :
- Arduino Uno
- Regulator LM2596
- Adaptor 12v 2A / 5v 2A
- Push Button
- Module GSM Sim800L V.2
- LCD 16×2 dan driver LCD
- Kabel Jumper
Berikut rangkaian sederhananya
Alasan untuk rangkaian ini tetap menggunakan power supply eksternal yaitu sebagai kestabilan sistem dalam melakukan aktivitas seperti pencarian sinyal, kirim sms, terima telp, dan lain – lain.
Libraries yang dibutuhkan antara lain :
- JC_Button.h
- LiquidCrystal_PCF8574.h
- SoftwareSerial.h
Untuk program sederhana dari rangkaian diatas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
/* www.nyebarilmu.com */ #include <Wire.h> #include <LiquidCrystal_PCF8574.h> #include <SoftwareSerial.h> #include <JC_Button.h> LiquidCrystal_PCF8574 lcd(0x27); //dapat dicek menggunakan i2c finder SoftwareSerial sim(2, 3); //TX,RX module const byte CEK_PIN(5); Button cek1(CEK_PIN); String _buffer; uint8_t _idx1; void setup(){ Serial.begin(9600); sim.begin(9600); cek1.begin(); lcd.begin(16,2); lcd.setBacklight(255); lcd.setCursor(00,00); lcd.print(" nyebarilmu.com "); lcd.setCursor(00,1); lcd.print("cek saldo pulsa"); delay(2000); lcd.clear(); lcd.setCursor(00,00); lcd.print("Pencarian Sinyal"); for (int v=00;v<16;v++){ lcd.setCursor(v,1); lcd.print("."); delay(800); } delay(2000); lcd.clear(); } void updateSerial() { delay(500); while (Serial.available()) { sim.write(Serial.read()); } while(sim.available()) { Serial.write(sim.read()); } } String bacaGsm(){ int to=00; while (!sim.available() && to < 15000 ){ delay(13); to++; } if (sim.available()) { return sim.readString(); }else{ return "no respon"; } } String CekPulsa(char* kodePanggil){ sim.print("AT+CUSD=1,\""); sim.print(kodePanggil); sim.print("\"\r"); Serial.println("cek pulsa"); lcd.setCursor(00,00); lcd.print("Cek Pulsa kartu"); delay(5000); _buffer= bacaGsm(); Serial.println(_buffer); _idx1=_buffer.indexOf("Rp"); Serial.println(_idx1); return _buffer.substring(_idx1,_buffer.indexOf(".A",_idx1)); } void loop(){ lcd.setCursor(00,00); lcd.print("Cek Saldo Pulsa"); lcd.setCursor(00,1); lcd.print("tekan push button"); cek1.read(); if (cek1.wasReleased()){ Serial.println(CekPulsa("*888*5#")); //untuk telkomsel, //silahkan ganti dibagian ini jika menggunakan provider lainnya updateSerial(); lcd.setCursor(00,00); lcd.clear(); lcd.print(_buffer.substring(_idx1,_buffer.indexOf(".A",_idx1))); delay(8000); lcd.clear(); } } |
Kode untuk provider lainnya dapat dilihat ditabel dibawah ini :
Provider | Kode |
Telkomsel | *888*5# |
Indosat im3 | *123# |
XL | *123# |
3 | *123# |
Axis | *111# |
Khusus untuk telkomsel, kadang kodenya berubah-ubah misalnya sekarang gunakan *888*5# bisa jadi berubah menjadi *888*4# atau *888*3#.
Hal itu yang pernah saya alami dalam mencoba program ini.
Tutorial cek saldo pulsa GSM dengan mode menu
Pada tutorial kedua ini, dibuatkan program untuk mode pemilihan kartu GSM yang digunakan dengan fitur push button.
Misalnya yang digunakan pada hari ini menggunakan provider dari Telkomsel, kemudian berganti ke provider Indosat IM3.
Itu dapat disiasati dengan program, tanpa perlu uploading program ulang.
Untuk skema rangkaian masih sama seperti gambar diatas, akan tetapi ditambahkan 2 pushbutton lagi.
Fungsi button
Button ke- | Fungsi |
1 | OK |
2 | Up |
3 | Down |
Kode program rangkaian diatas
Semoga bermanfaat, salam nyebarilmu!
Ini klau mau digabungin sama printah pengiriman sms gmna ia