7. Dasar Pembelajaran Sensor Ultrasonik dan Inframerah

  • 0

7. Dasar Pembelajaran Sensor Ultrasonik dan Inframerah

7. Dasar Pembelajaran Sensor Ultrasonik dan Inframerah

Materi:

Pembelajaran kali ini menjelaskan penggunaan sensor-sensor yang berhubungan dengan ultrasonic dan inframerah. Sensor-sensor yang dikupas mencakup :

  • HC-SR04
  • SN-E18-D80NK
  • PIR
  • Pendeteksi garis

7.1 Sensor Ultrasonik

Sensor ujtrasonik adalah sensor yang mengirimkan gelombang suara dan kemudian memantau pantulannya sehingga dapat digunakan untuk mengetahui jarak antara sensor dengan objek yang memantulkan geJombang suara tersebut Sensor ini bisa dipakai di pelbagai aplikasi seperti pada mobil untuk menghindari tabrakan, untuk membunyikan alarm kalau ada orang mendekati pintu, dan mengukur tinggi orang.

Salah satu sensor ultrasonik yang sering dipakai orang dalam melakukan eksperimen adalah HC-SR04 (Cihat Gambar 7.1). Jarak yang bisa ditangani berkisar antara 2 cm hingga 400 cm, dengan tingkat presisi sebesar 0,3 cm. Sudut deteksi yang bisa ditangani tidak lebih dari 15 0. Arus yang diperlukan tidak lebih dari 2mAdan tegangan yang dibutuhkan sebesar +5V. Jumlah pin adalah 4. Rincian pin masing-masing dapat dilihat di Tabel 7.1.

(a) Tampak dari muka (b) Tampak dari belakang

Gambar 7.1 Sensor ultrasonik HC-SR04

Tabel 7.1 Pin-pin di sensor HC-SR04

PIN Keterangan
Pin 1 Vcc (dihubungkan ke tegangan +5V)
Pin 2 Trig (untuk mengirimkan gelombang suara)
Pin 3 Echo (untuk menerima pantulan gelombang suara)
Pin 4 Gnd (dihubungkan ke ground)

Jarak antara sensor dan objek yang memantulkan gelombang suara dihitung dengan menggunakan rumus berikut:

Jarak = Kecepatan suara * T/ 2

Dalam hal ini, T adalah waktu tempuh dari saat sinyal ultrasonik dipancarkan hingga kembali. Perlu diketahui kecepatan suara adalah 343 m/detik.

Prinsip pengiriman sinyal oleh Trig dan penerimaan oleh Echo seperti berikut:

  1. Trig harus dalam keadaan HIGH paling tidak selama 10 mikrodetik.
  2. Modul ultrasonik pun akan mengirim gelombang kotak dengan frekuensi 40KHz.
  3. Gelombang yang dikirim tersebut akan dipantau dengan sendirinya oleh modul ultrasonik. Dalam hal ini waktu yang digunakan dari saat pengiriman sinyal hingga diterima balik adalah T. Pada waktu itulah pin Echo akan berada dalam keadaan HIGH. Nah, waktu T ini dapat diperoleh dengan memberikan perintah di Arduino:

T – pulseln (PIN ECHO, HIGH) ;

  1. Karena T telah diperoleh, jarak dihitung dengan menggunakan:

Jarak = Kecepatan suara * T / 2

Pembagi 2 diperlukan karena T adalah waktu yang diperlukan untuk menempuh dari sensor ke objek dan dari objek ke sensor.

sebagaimana dibahas di depan, kecepatan suara sebesar 343 m/detik atau sama dengan 34300 cm/detik. Adapun, T yang dihasilkan oleh Arduino dalam satuan mikrodetik. Karena 1 mikrodetik = 10-6 detik, maka T jika dinyatakan dalam satuan detik akan berupa T/106. Oleh karena itu, jarak dalam satuan cm adalah:

Jarak= 34300 * (T/IOÆ) / 2 cm = 0.0343 * T / 2 cm

contoh rangkaian untuk menguji sensor HC-SR04 diperlihatkan di Gambar 7.2. Contoh penyusunan rangkaian dapat dilihat di Gambar 7.3.

Gambar 7.2 Rangkaian untuk menguji sensor ultrasonik

Gambar 7.3 Contoh penyusunan rangkaian dengan sensor ultrasonic

Sketch: sr04

// ——————————————–

// Sensor jarak HC-SR04

// ——————————————–

const int PIN_TRIG=13;

const int PIN_ECHO = 12;

void setup()

{

Serial.begin (9600);

pinMode(PIN_TRIG, OUTPUT);

pinMode (PIN_ECHO,INPUT);

}

void loop()

{

// Berikan isyarat HIGH pada PIN_trig 10 mikrodetik

digitalWrite(PIN_TRIG, HIGH);

delayMicroseconds (10); // Tunda 10 mikrodetik

digitalWrite(PIN_TRIG, LOW);

// Baca hasilnya di PIN_echo

d0uble selang = pulseIn(PIN_ECHO, HIGH);

// Hitung jarak yang diperoleh

d0uble jarak = 0.0343 * ( selang / 2);

if (jarak > 400 || jarak<=0)

{

serial.println(“di luar jangkauan sensor”);

else

Serial.print(jarak);

Serial.println(” cm”);

}

delay(1000); // Tunda satu detik

}

pada sketch di atas, pin 13 dihubungkan ke pin Trig dan pin 12 dihubungkan ke pin Echo. ltulah sebabnya

terdapat definisi:

const int PIN_TRIG = 12;

const int PIN_ECHO = 13

hasil pengukuran sensor ultrasonik dapat dipantau di komputer, pernyataan berikut diperlukan untuk menginisialisasi port serial:

Serial.begin (9600) ;

Dua pernyataan berikut digunakan untuk menyatakan bahwa pin yang berhubungan dengan pin Trig digunakan sebagai keluaran (karena akan digunakan untuk memberikan pulsa ke pin Trig milik sensor) dan pin yang berhubungan dengan pin Echo milik sensor sebagai masukan (karena akan diisi dengan nilai yang dihasilkan oleh sensor):

pinMode (PIN TRIG, OUTPUT) ; pinMode (PIN ECHO, INPUT) ;

Pemberian isyarat ke pin Trig selama 10 mikrodetik dilakukan melalui:

digitalWrite(PIN TRIG, HIGH) ; delayMicroseconds (10) ; digitalWrite (PIN TRIG, LOW) ;

Perintah di atas akan membuat sensor ultrasonik bekerja untuk mengukur jarak objek yang berada di depannya. Selanjutnya, hasil dari sensor dibaca di pin Echo melalui perintah:

d0uble selang = pulseln (PIN ECHO, HIGH) ;

Berdasarkan perintah di depan, waktu yang digunakan saat pengiriman sinyal ke objek Yan kembali ke sensor diperoleh. Waktu inilah yang dipakai untuk menghitung jarak, Yang dikerjakan oleh pernyataan:

d0uble j arak = o. 0343 * ( selang / 2) ;

Sebagaimana telah dijelaskan di depan, sensor ultrasonik HC-SR04 hanya mampu mengukur 0 maksimalnya adalah 400 cm. Itulah sebabnya, hasil pengukuran dapat divalidasi melalui:

i f (jarak > 400 || jarak <= 0)

Serial.println (”di luar jangkauan sensor”) ;

Serial . print (jara k) ;

Serial . println ( ” cm”) ;

Pernyataan di atas akan mengirimkan nilai jarak ke port serial sekiranya nilainya lebih besar daripada kurang dari 400.

Untuk menguji rangkaian, tekan Shift+Ctrl+M untuk menampilkan jendela Serial Monitor. Selanjutnya, hasilnya dengan menaruh benda di depan sensor ultrasonik pada pelbagai jarak. Contoh hasil pemantauan diperlihatkan di Gambar 7.5.

Sambar 7.4 Benda dipasang di depan untuk menguji sensor ultrasonik

sensor ultrasonik dapat digunakan untuk mengukur tinggi air di dalam suatu wadah. Contoh diperlihatkan di Gambar 7.6. Rangkaian yang digunakan secara prinsip adalah sama dengan pada contoh sebelum ini.

Sketch yang digunakan untuk mengukur tinggi air ditunjukkan di bawah ini: Sketch: tinggi

// ——————————————–

// Sensor jarak HC-SR04

// Sensor jarak HC-SR04

// untuk mengukur tinggi air dalam gelas

// ——————————————–

#define PIN_TRIG 13

#define PIN_ECHO 12

const d0uble JARAK_DASAR=23.12; // Diperoleh saat

// gelas disingkirkan

void setup()

{

Serial.begin (9600);

pinMode(PIN_TRIG, OUTPUT);

pinMode(PIN_ECHO,INPUT);

}

void loop()

{

// Berikan isyarat HIGH pada PIN_trig 10 mikrodetik

digitalWrite(PIN_TRIG, HIGH);

delayMicroseconds(10); // Tunda 10 mikrodetik

digitalWrite(PIN_TRIG,LOW);

// Baca hasilnya di PIN_echo

d0uble selang=pulseIn(PIN_ECHO,HIGH);

// Hitung jarak yang diperoleh

d0uble tinggi=JARAK_DASAR-0.0343*(selang/2);

Serial.print(tinggi);

Serial.println(“cm”);

delay(1000);// Tunda satu detik

}

Pada sketch di atas,

const d0uble JARAK_DASAR = 23.12;

digunakan untuk mendeklarasikan konstanta JARAK DASAR. Nilai 23.12 ditentukan dengan mengambil nilai tertinggi yang dihasilkan sensor dengan cara mengosongkan gelas dan menggunakan sketch sr04.

Seperti halnya pada sketch sr04, PIN_TRIG dan PIN_ECHO adalah konstanta yang secara berturutan menyatakan PIN_yang terhubung ke Trig dan Echo milik sensor. Kemudian, mode kedua PIN_diatur melalui:

pinMode (PIN_TRIG, OUTPUT) ;

pinMode (PIN_ECHO, INPUT) ;

pemberian isyarat ke PIN_Trig selama 10 mikrodetik dilakukan meiajui:

digitalWirite(PIN_TRIG, HIGH) ;

delayMicroseconds (10) ;

digitalWirite (PIN_TRIG, LOW) ;

perintah di atas akan membuat sensor ultrasonik bekerja untuk mengukur jarak objek yang berada di depannya. Selanjutnya, hasil dari sensor dibaca di PIN_Echo melalui perintah:

d0uble selang = pulseln (PIN_ECHO, HIGH) ;

pengukuran tinggi air dilakukan melalui:

d0uble tinggi= JARAK DASAR – 0.0343 * ( selang / 2) ;

Gambar 7.7 memberikan ilustrasi mengenai rumus di atas.

Description

Gambar

7.7

Perhitungan

tinggi

air

dalam

gelas

Catatan

Cara yang digunakan untuk mengukur tinggi air dalam gelas merupakan suatu ide yang dapat diterapkan untuk mengukur tinggi air dalam waduk. Cara tersebut juga bisa diterapkan untuk mengukur tinggi orang.

7.2 Sensor Inframerah

Gambar 7.8 memperlihatkan sensor inframerah SN-E18-D80NK. Sensor yang menggunakan catu daya Harus 100mA ini berguna untuk mendeteksi halangan dengan memancarkan gelombang inframerah dan tidak terpengaruh oleh cahaya lampu maupun sinar matahari. Di dalamnya terpasang satu pemancar dan satu penerima. Jangkauannya adalah dari 3 cm hingga 80 cm. Sensor dapat dioperasikan pada suhu -250C hingga 55 0C. Waktu tanggapan kurang dari 2 milidetik.

Sensor ini memiliki tiga kabel. Gambar 7.9 memperlihatkan cara menggunakan sensor ini dengan menggunakan Arduino. Kabel merah dihubungkan ke sumber listrik DC +5V. Kabel hijau dihubungkan ground. Kabel kuning sebagai keluaran. Nilai keluaran berupa HIGH bila tidak ada halangan di depan sensor ini atau LOW kalau ada halangan.

Gambar 7.9 Cara memasang sensor inframerah SN-E18-b80NK

Pengujian sensor SN-E18-D80NK dapat dilakukan dengan menggunakan sketch berikut:

Sketch: ir_e18

// ——————————————–

// Contoh penggunaan sensor Infrared E18-D50NK

// Output:

// HIGH = tak ada halangan

// LOW =ada halangan

// ——————————————–

const int PIN=12;

int nilai;

void setup()

{

Serial.begin(9600);

pinMode(PIN, INPUT);

}

void loop()

{

nilai=digitalRead(PIN);

if (nilai ==HIGH)

Serial.println(“HIGH”);

else

Serial.println(“LOW”);

delay(1000);

}

Konsep yang mendasari sketch di atas sangatlah sederhana. Pertama-tama, pin di Arduino yang dihubungkan ke sensor inframerah diatur dengan mode INPUT. Artinya, nilai di pin tersebut akan dibaca karena berisi nilai yang dihasilkan oleh sensor inframerah.

Selanjutnya, nilai yang dihasilkan sensor dibaca melalui:

nilai = digital Read (PIN) ;

Hasil di variabel nil ai tersebut akan berupa HIGH atau LOW. Kemudian, nilai tersebut dikirim ke port serial dalam bentuk string “HIGH” atau “LOW” melalui pernyataan:

if (nilai==HIGH)

Serial . print In (“HIGH”) ;

else

Serial . print In ( “LOW”) ;

Anda bisa memantau kemungkinan kedua nilai tersebut dengan menekan Shift+Ctrl+M. Lalu, uji dengan memberikan halangan pada pelbagai jarak ataupun tidak memberikan halangan.

Untuk mengetahui ada halansan atau tidak, Anda bisa menggunakan dua LED seperti terlihat di Garnbar7.10 LED hijau akan menyala sekiranya di depan sensor inframerah tidak ada halangan, sedangkan LED akan menyala kalau ada halangan di depan sensor.

Gambar 7.10 Rangkaian sensor inframerah dengan dua LED

Sketch yang digunakan untuk menguji rangkaian di Gambar 7.10 adalah :

Sketch: ir_e18_v2

// ——————————————–

//Contoh penggunaan sensor Infrared E18-D50NK

// LED merah menyala jika ada halangan

// LED hijau menyala jika tidak ada halangan

// ——————————————–

const int PIN_IR=12;

const int PIN_LED MERAH=11;

const int PIN_LED_HIJAU = 10;

int nilai;

void setup()

{

pinMode(PIN_IR, INPUT);

pinMode(PIN_LED MERAH,OUTPUT);

pinMode(PIN_LED_HIJAU, OUTPUT);

}

void loop()

{

nilai=digitalRead(PIN_IR);

if (nilai==HIGH)

// Nyalakan LED hijau

digitalWrite(PIN_LED_MERAH, LOW);

digitalWrite(PIN_LED_HIJAU, HIGH);i

// Nyalakan LED merah

digitalWrite(PIN_LED_HIJAU, LOW);i

digitalWrite (PIN_LED_MERAH, HIGH);

delay(100);

}

Secara prinsip, sketch di atas menyerupai sketch ir_18. Penerjemahan ke penyalaan LED merah atau LED hijau

dilakukan melalui:

if (nilai ==HIGH)

// Nylakan LED hijau

digitalWrite(PIN_LED_MERAH,LOW);

digitalWrite(PIN_LED_HIJAU,HIGH);

else

{

// Nyalakan LED merah

digitalWrite(PIN_LED_HIJAU,LOW);

digitalWrite(PIN_LED_MERAH,HIGH);

}

Jika isi variabel nilai berupa HIGH (berarti tidak ada halangan),

  • LED hijau dinyalakan dan
  • LED merah dimatikan.

Sebaliknya,saat variabel nilai berupa LOW,

  • LED merah dinyalakan dan
  • LED hijau dimatikan.

7.3 Sensor PIR

Sensor Passive infroRed (PJR) (misalnya berlabel HCßR501 ataupun SEN 08630) gerakan orang atau hewan. Sensor ini bekerja atas dasar perubahan panas di depan sensor. Untuk mendeteksi perubahan tersebut, elemen piroelektrik digunakan di dalam modul sensor memperlihatkan bentuk sensor PIR.

Gambar 7.11 Sensor PIR

Sensor PIR memiliki tiga pin:

  • VCC dihubungkan ke sumber listrik;
  • GND dihubungkan ke ground;
  • OUT dihubungkan ke pemantau keluaran sensor.

Contoh pemasangan sensor PIR dengan Arduino diperlihatkan di Gambar 7.12.

Gambar 7.12 Rangkaian PIR dan Arduino

Catatan

Tambahan resistor 10K diperlukan untuk PIR yang bersifat open collector (misalnya PIR yang berasal dari SparkFun). Dalam hal ini, resistor tersebut perlu dipasang antara VCC dan OUT.

Sketch: motion

// ——————————————–

// Contoh penggunaan detektor Gerakan

// ——————————————–

const int PIN MOTION =12;

void setup()

{

Serial.begin(9600);

pinMode(PIN MOTION, INPUT);

}

void loop()

{

int nilai = digitalRead(PIN_MOTION);

if (nilai ==HIGH)

Serial.println(“HIGH”);

else Serial.print1n(“LOW”);

delay(1000);

}

Prinsip yang mendasari sketch di atas sangatlah sederhana. Pertama-tama, pin di Arduino yang dihubungkan kesensor PIR diatur dengan mode INPUT. Artinya, nilai di pin tersebut akan dibaca karena berisi nilai yang dihasilkan oleh sensor PIR.

Selanjutnya, nilai yang dihasilkan sensor dibaca melalui•.

int nilai = digitalRead(PIN_MOTION) ;

Hasil di variable nilai tersebut akan berupa HIGH atau LOW. Kemudian, nilai tersebut dikirim ke port serial dalam bentuk string “HIGH” atau “LOW” melalui pernyataan :

if (nilai == HIGH)

Serial .ptintln (“HIGH” ) ;

else

Serial .println ( “LOW”) ;

Anda bisa memantau kemungkinan kedua nilai tersebut dengan menekan Shift+CtrI+M. Lalu, uji memberikan gerakan tangan di dekat sensor. Contoh hasil pengujian dapat diljhat di Gambar 7.13,

Gambar 7.13 Contoh hasil pengujian PIR

Hasil di atas memperlihatkan bahwa nilai HIGH akan dihasilkan kalau ada gerakan di dekat sensor.

.,

Contoh di Gambar 7.14 memperlihatkan rangkaian yang melibatkan PIR dan LED. Dalam hal ini LED dikehendaki untuk dinyalakan beberapa saat sekiranya ada gerakan di dekat sensor PIR. Contoh aktual penyusunan rangkaian diperlihatkan di Gambar 7.15.

Description Gambar 7.14 Rangkaian untuk menyalakan LED kalau ada gerakan yang terdet

Untuk menguji rangkaian di atas, silakan gunakan sketch berikut :

Sketch: akses

// ——————————————–

// Contoh penggunaan detektor gerakan

// untuk menyalakan LED kalau

// ada Gerakan

// ——————————————–

const int PIN_MOTION=12;

const int PIN LED=13;

const int INTERVAL=2000;

int waktuAwal=0;

void setup()

{

pinMode(PIN_MOTION, INPUT);

pinMode(PIN_LED,OUTPUT);

}

void loop()

{

int nilai=digitalRead(PIN_MOTION);

if (nilai==HIGH)

{

digitalWrite(PIN_LED,HIGH);

waktuAwal=0;

}

// Matikan LED kalau interval waktu telah tercapai

if (millis() – waktuAwal >INTERVAL)

digitalWrite(PIN_LED, LOW);

}

Sketch di atas melibatkan konstanta INTERVAL dan variabel global bernama waktuAwal

dideklarasikan sebagai berikut:

const int INTERVAL=2000;

int waktuAwal=0;

Dalam hal ini,kegunaan masing-masing adalah:

  • Konstanta INTERVAL dipakai untuk menentukan lama LED menyala. Nilai 2000 menyatakan 2000 milidetik atau 2 detik).
  • Variabel waktuAwal digunakan untuk mencatat waktu saat LED mulai dinyalakan. Nilai inilah yang  akan dipakai sebagai acuan untuk mematikan LED sekiranya selisih antara waktu sekarangta waktuAwal melebihi INTERVAL.

Pengisian nilai di waktuAwal dan penyalaan LED dilakukan melalui:

if (nilai == HIGH)

{

digitalWrite(PIN LED, HIGH);

waktuAwal=0;

}

Hal itu dilakukan saat isi variabel nilai (yang dihasilkan oleh sensor PIR) bernilai HIGH.

Penentuan LED dimatikan ditangani oleh:

if (millis() – waktuAwal> INTERVAL)

digitalWrite(PIN_LED, LOW);

Pada ungkapan di if,fungsi millis() akan menghasilkan suatu nilai yang menyatakan lama vals semenjak sketch dijalankan hingga sekarang dalam satuan milidetik. Oleh karena itu, ungkapan

millis()- waktuAwal> INTERVAL

akan menghasilkan true hanya jika selisih antara hasil millis () dan waktuAwal melebihi nilai INTENAL

7.4 Sensor Pendeteksi Garis

Sensor pendeteksi garis sebenarnya bisa dibuat dengan menggunakan LED, LDR, dan komparator untuk mengambil keputusan adanya garis atau tidak. Namun, untuk mempermudah implementasi, modul yang ditunjukkan untuk mendeteksi garis bisa menjadi pilihan. salah satu modul untuk pendeteksi garis dinamakan IR line tracking sensor TCR5000 YL-54, yang wujudnya diperlihatkan di Gambar 7.16. Sensor ini memberikan nilai 1 (HIGH) pada pin D0 jika detektor menemui warna hitam atau O (LOW) jika detektor menemui warna putih. Adapun keluaran di pin A0 berupa tegangan OV hingga 5V. Sumber tegangan yang diperlukan 3.3V hingga 5V DC. Jarak deteksi O hingga 3 cm.

Gambar 7.16 IR line tracking sensor TCR5000 YL-54

Sensor pendeteksi garis tersebut menggunakan inframerah untuk mendeteksi keberadaan garis. Oleh karena itu, sensor ini dapat digunakan pada robot line follower. Untuk keperluan ini, diperlukan tiga sensor, yaitu digunakan untuk mendeteksi lintasan pada bagian tengah dan dua di bagian tepi.

Gambar 7.17 memperlihatkan contoh hubungan sensor TCR5000 YL-54 dan Arduino.

Gambar 7.17 Rangkaian untuk menguji JR line tracking sensor

Sketch yang digunakan untuk menguji /R line tracking sensor dapat dilihat di bawah ini: Sketch: track

// ——————————————–

// Sensor YL-54

// untuk mendeteksi garis

// ——————————————–

const int PIN_ANALOG =A0;

const int PIN_DIGITAL=12;

void setup()

{

Serial.begin (9600);

pinMode(PIN_DIGITAL, INPUT);

}

void loop()

{ int nilaiAnalog =analogRead(PIN_ANALOG);

int nilaiDigital=digitalRead(PIN_DIGITAL);

Serial.print(“D0=”);

Serial.print(nilaiDigital);

Serial.print(“,A0=”);

Serial.println(nilaiAnalog);

delay(1000);// Tunda satu detik

}

Pendefinisian pin analog dan pin digital yang diperlukan untuk menguji modul YL-54 dilakukan melalui :

const int PIN_ANALOG = A0;

const int PIN_DIGITAL = 12;

Perlu diketahui, konstanta A0 identik dengan angka nol.

Khusus untuk pin digital, mode pin perlu diatur sebagai keluaran. Hal ini dilakukan melalui:

pinMode (PIN DIGITAL, INPUT) ;

Pernyataan berikut di setup ( ) digunakan untuk menginisialisasi port serial:

Serial.begin (9600) ;

Hal ini diperlukan mengingat hasil sensor akan dipantau di PC.

Pembacaan nilai analog dari sensor dibaca melalui:

Int nilaiAnaiog analogRead (PIN ANALOG) ;

Adapun nilai digital dari sensor dibaca melaiui:

int nilaiDigital=digitalRead(PIN_DIGITAL);

Selanjutnya, informasi kedua nilai tersebut dikirim ke port serial melalui pernyataan-pernyataan berikut :

Serial . print (“D0=”);

Serial . print (nilaiDigita1) ;

Serial . print ( “, A0=”);

Serial.println (nilaiAnalog) ;

Untuk keperluan pengujian, Anda perlu menyediakan plaster berwarna hitam terlebih dahulu dan memasangnya di kertas. Lalu, uji dengan menekan Shift+Ctrl+M setelah sketch diunggah. Lalu uji dengan meletakkan sensor di atas plaster hitam atau di luar plaster hitam. Contoh hasil pengujian dapat dilihot ambar 7.18 dan 7.19.

Gambar 7.18 Contoh hasil pengujian sensor TCR5000 YL-54 pada lintasan hitam

Gambar 7.19 Contoh hasil pengujan sensor TCR5000 YL-54 pada lintasan putih

 


Leave a Reply

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

Rahasia Bikin Aplikasi Playstore tidak Pake Coding Seri 02

Rahasia Bikin Aplikasi Playstore tidak Pakai Coding Seri 01

ebook murah dan berkualitas. banyak diskonnya. beli segera!!!

TAS MOBIL MULTIFUNGSI

Location

Visitor

0379473
Hari ini : 255
Kemarin : 338
Bulan ini : 4437
Total Kunjungan : 379473
Who's Online : 1
error: Content is protected !!