Rangkaian sensor gerak adalah sebuah rangkaian yang digunakan untuk mendeteksi pergerakan manusia. Umumnya rangkaian sensor gerak digunakan untuk aplikasi menyalakan atau mematikan lampu secara otomatis. Aplikasi ini dapatdiumpai pada ruangan toilet. Di gedung mewah, penghematan listrik adalah salah satu hal yang sangat diperhatikan. Khususnya penggunaan lampu pada beberapa ruangan misalnya toilet. Lampu toilet seharusnya hanya menyala pada saat ada orang yang masuk ke dalam toilet tersebut, dan seharusnya mati jika tidak ada orang yang berada di dalamnya. Pada gedung yang sudah moderen, nyala lampu toilet tersebut tidak lagi dikontrol secara manual menggunakan sakelar. Melainkan sudah dikontrol secara otomatis dengan sensor gerak. Sehingga lampu toilet akan menyala jika ada orang yang masuk ke dalam. Dan akan mati secara otomatis jika orang tersebut telah keluar. Sensor gerak yang digunakan pada sistem tersebut adalah sensor gerak jenis PIR (Passive Infrared Sensor).
Sensor gerak PIR sifatnya mendeteksi inframerah pasive yang berasal dari daerah di sekelilingnya. Inframerah pasif bisa dipengaruhi suhu tubuh dari manusia ataupun hewan. Sehingga jika ada orang atau binatang yang mendekati sensor PIR, maka otomatis sensor ini akan “ON” atau mendeteksi adanya inframerah pasif. Prinsip seperti inilah yang dimanfaatkan untuk mendeteksi pergerakan manusia. Untuk menjadikannya sebagai pengendali lampu otomatis maka harus ditambahkan rangkaian lainnya. Rangkaian kendali dapat berupa rangkaian analog, digital maupun rangkaian terprogram berbasis mikrokontroler. Pada tutorial ini kita akan jelaskan tentang rangkaian sensor gerak pengontrol lampu menggunakan komponen bernama relay.
Rangkaian pengendali lampu dengan sensor gerak ini sangat sederhana dan dapat dibuat sendiri di rumah. Jika Anda seorang penggemar elektronika pastinya ingin sekali membuat rangkaian ini. Rangkaian ini membutuhkan komponen utama antara lain :
Baterei 9V DC digunakan untuk tegangans. Kita bisa menggantinya dengan adaptor 9VDC jpengganti baterei. Kelemahan penggunaan baterei adalah perlu penggantian secara berkala jika daya baterei telah habis.
Pada rangkaian sensor gerak diatas dapat dilihat bahwa output dari sensor PIR dihubungkan ke basis transisor. Transistor tersebut berfungsi sebagai rangkaian penggerak relay. Dikarenakan output sensor PIR hanya mengeluarkan tegangan 5 VDC. Sehingga tidak kuat untuk mendrive langsung relay, karena relay yang digunakan adalah relay 12VDC. Pada relay juga terdapat komponen dioda yang dihubungkan secara paralel dengan relay. Tujuannya adalah untuk memproteksi rangkaian dari tegangan arus balik yang berasal dari proses induksi beban induktor tersebut. Sementara lampu yang akan dikontrol dihubungkan ke bagian contact relay. Sehingga ketika sensor mendeteksi pergerakan transistor akan ON. Relay juga akan menjadi ON dan lampu akan menyala karena lampu dihubungkan dengan listrik melalui relay.
Tidak dibutuhkan rangkaian mikrokontroler terprogram. Cocok dijadikan project sederhana untuk pemula ataupun siswa-siswa elektronika. Semoga bermanfaat.
Program Arduino : Tombol On/Off Dengan Indikator Lampu Led adalah proyek dasar pemrograman Arduino yang sangat sederhana sekali untuk pengembangan ke berbagai kebutuhan yang menyangkut tentang saklar switch dengan saklar tekan. Sebelum melangkah kepada praktek dari percobaan yang akan kita lakukan, sebaiknya kita tonton dahulu video berikut supaya nanti dalam melakukan pekerjaan kita akan lebih mudah dan lebih faham terlebih dahulu, karena praktek itu adalah suatu pembuktian oleh diri sendiri agar hati kita lebih yakin lagi atas informasi apa yang telah kita terima terlebih dahulu :
//Arduino Button with LED
int buttonPin = 2; // the number of the pushbutton pin
int ledPin = 13; // the number of the LED pin
boolean on=false;
int buttonState = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
if(on==true){
on=false;
} else{
on=true;
}
}
if (on == true) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
delay(500);
}
Silahkan dikembangkan lagi, Program Arduino : Tombol On/Off Dengan Indikator Lampu Led ini semoga bermanfaat.
Percobaan kali ini adalah Program Arduino : Membuat Kunci Ganda Sepeda Motor, mari kita perhatikan kode program berikut ini :
int kontakPin = 2; // set kontak ke pin 2 int klaksonPin = 13; // set klakson ke pin 13 boolean on=false; int kontakState = 0; void setup() { pinMode(klaksonPin, OUTPUT); // set klakson sebagai OUTPUT pinMode(kontakPin, INPUT); // set kontak sebagai INPUT } void loop(){ kontakState = digitalRead(kontakPin); // membaca kondisi kontak if (kontakState == HIGH) { // jika kontak 5v if(on==true){ on=false; } else{ on=true; } }
Membuat sistem keamanan penguncian pintu dengan Selenoid Door Lock yang dikendalikan oleh RFID dan Password (Rev.0)
A.Bahan dan Module yang dibutuhkan
-1Unit Arduino Uno -Keypad Membrane 4x4 -1Unit Module RFID RC-522 + kartu/key chain -1Unit Selenoid Door Lock (12V) -1Unit Driver Selenoid Door Lock ( *bisa menggunakan driver motor DC L9110/L298 *bisa menggunakan Relay Module 5V 1 channel *bisa menggunakan Transistor PNP (seri TIPxx) (pada tutorial kali ini saya menggunakan Driver Motor DC L9110) -1Unit LCD 1602 dengan i2C connection -1 Unit Passive Buzzer/mini speaker -Kabel Jumper secukupnya
Note : klik www.tokopedia.com/rajacell untuk mendapatkan semua kebutuhan module dalam project ini
B.Wiring
1.Wiring Module RFID RC-522 ke Arduino Uno * MOSI : Pin D11 * MISO : Pin D12 * SCK : Pin D13 * SS/SDA: Pin 10 * RST : Pin 9 * RQ : Tidak digunakan * GND : Pin GND * 3.3V : Pin 3.3V (awas jangan di sambung ke Pin 5V)
Perhatikan penomoran kabel keypad pada gambar dibawah ini :
Gunakan Single Row Male Header (seperti nampak pada gambar di samping keypad) untuk menghubung socket pada kabel keypad dengan port pin (Female Header) pada Board Arduino atau anda dapat menggunakan kabel jumper dupont jenis Male to Male untuk menghubungkanya.
4.Wiring Selenoid Door Lock & Motor Driver L9110 + Passive Buzzer perhatikan gambar dibawah ini :
Dalam tes ini saya menggunakan Power dari USB PC/laptop sebagai Power Arduino Board. Apabila anda ingin menggabung Power Selenoid dan Power Arduino Board maka Anda dapat menghubingkan kabel (+) dari Adaptor 12V ke Jack DC IN Arduino atau melalui pin Vin yang ada di sebelah Pin GND GND.
Setelah melakukan download semua library yang dibutuhkan kemudian ekstract menggunakan aplikasi Winrar/Winzip dan copy master folder yang ada di dalamnya ke dalam folder 'libraries' yang ada pada directory installer Arduino IDE. Secara default ada di lokasi : Windows 64bit = C:\Program Files (x86)\Arduino\libraries Windows 32bit = C:\Program Files \Arduino\libraries
D.Sourch Code
Copy paste coding dibawah ini ke dalam Arduino IDE anda dan Upload ke Board Arduino Anda
//Coding berikut dibuat oleh Dani untuk www.belajarduino.com //Semoga bermanfaat bagi yang sedang belajar RFID system //Support by RAJACELL - BEKASI //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell /* Sambungan Module RFID RC-522 ke Arduino * MOSI: Pin 11 * MISO: Pin 12 * SCK : Pin 13 * SS/SDA: Pin 10 * RST: Pin 9 * RQ: Tidak digunakan */
RFIDrfid(SS_PIN,RST_PIN); intserNum[5];//Variable buffer Scan Card intcards[][5]={//ID Kartu yang diperbolehkan masuk {141,125,2,197,55}
};
boolaccess=false;
LiquidCrystal_I2Clcd(0x3F,16,2); Passwordpassword=Password("1234");//<-- TULIS PASSWORD SISTEM ANDA DISINI constbyteROWS=4;// Four rows constbyteCOLS=4;// columns // Define the Keymap charkeys[ROWS][COLS]={ {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} };
byterowPins[ROWS]={6,5,4,3};// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins. bytecolPins[COLS]={A3,A2,A1,A0,};// Connect keypad COL0, COL1 and COL2 to these Arduino pins. // Create the Keypad Keypadkeypad=Keypad(makeKeymap(keys),rowPins,colPins,ROWS,COLS);
constintbuzzer=7;//Passive buzzer ke Pin D7 dan GND constintdoorLock=8;//Driver Selenoid Door Lock/Relay input ke pin D8
tone(buzzer,1200); lcd.setCursor(0,0); lcd.print(F(" RFID System ")); lcd.setCursor(0,1); lcd.print(F(" Control Access ")); delay(2000); lcd.clear(); noTone(buzzer); }
//Membuat perubahan tulisan pada LCD tanpa menggunakan delay //Pada sistem stanby sama sekali tidak boleh ada delay untuk menghindari Keypad NGADAT if(currentMillis-previousMillis>=interval){ //previousMillis = currentMillis; lcd.setCursor(0,1); lcd.print(F(" Scan Your Card ")); }
if(currentMillis-previousMillis>=(2*interval)){ previousMillis=currentMillis; lcd.setCursor(0,1); lcd.print(F(" Enter Password ")); }
else{ alarm=alarm+1; Serial.println("Not allowed!"); lcd.setCursor(0,0); lcd.print(F(" Akses ditolak ")); lcd.setCursor(0,1); lcd.print("ID:"); lcd.print(rfid.serNum[0]);lcd.print(rfid.serNum[1]); lcd.print(rfid.serNum[2]);lcd.print(rfid.serNum[3]); lcd.print(rfid.serNum[4]); RIJECT(); } } //Coding berikut dibuat oleh Dani untuk www.belajarduino.com //Semoga bermanfaat bagi yang sedang belajar RFID system //Support by RAJACELL - BEKASI //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell rfid.halt(); } if(alarmStat==1){ lcd.setCursor(0,0); lcd.print(F("-System LOCKED- ")); lcd.setCursor(0,1); lcd.print(F(" Please Wait ")); for(inti=60;i>0;i--){ tone(buzzer,1800); lcd.setCursor(13,1);lcd.print(i); lcd.print(F(" "));delay(1000);} noTone(buzzer); alarmStat=0; alarm=0; } } //Coding berikut dibuat oleh Dani untuk www.belajarduino.com //Semoga bermanfaat bagi yang sedang belajar RFID system //Support by RAJACELL - BEKASI //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell voidkeypadEvent(KeypadEventeKey){ switch(keypad.getState()){ casePRESSED: Serial.print("Pressed: "); Serial.println(eKey);
default:password.append(eKey); } } } //Coding berikut dibuat oleh Dani untuk www.belajarduino.com //Semoga bermanfaat bagi yang sedang belajar RFID system //Support by RAJACELL - BEKASI //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell voidcheckPassword(){ if(password.evaluate()){
Serial.println("Password OK"); lcd.setCursor(0,1); lcd.print(F(" -Accepted- ")); ACCEPT(); password.reset(); pwPos=0; //Add code to run if it works
}else{ Serial.println("Password SALAH"); lcd.setCursor(0,1); lcd.print(F(" -Rejected- ")); alarm=alarm+1; RIJECT(); password.reset(); pwPos=0; //add code to run if it did not work } } //Coding berikut dibuat oleh Dani untuk www.belajarduino.com //Semoga bermanfaat bagi yang sedang belajar RFID system //Support by RAJACELL - BEKASI //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell voidACCEPT(){ digitalWrite(doorLock,LOW); tone(buzzer,900); delay(100); tone(buzzer,1200); delay(100); tone(buzzer,1800); delay(200); noTone(buzzer); delay(600); lcd.setCursor(0,0); lcd.print(F(" Silahkan Masuk ")); lcd.setCursor(0,1); lcd.print(F("AutoLock after ")); for(inti=5;i>0;i--){ lcd.setCursor(15,1);lcd.print(i); delay(1000); } digitalWrite(doorLock,HIGH); pwMode=0; lcd.clear();} //Coding berikut dibuat oleh Dani untuk www.belajarduino.com //Semoga bermanfaat bagi yang sedang belajar RFID system //Support by RAJACELL - BEKASI //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell voidRIJECT(){ tone(buzzer,900); delay(200); noTone(buzzer); delay(200); tone(buzzer,900); delay(200); noTone(buzzer); delay(500); pwMode=0; lcd.clear(); }
E.Trial & Error
Pada Sketch Coding di atas saya menggunakan ID dari Kartu RFID saya sebagai Acces dan pastinya tidak akan berfungsi pada kartu chain RFID milik anda.
Untuk awal apabila anda belum tahu urutan nomor kode dari kartu RFID anda maka Upload saja sketch diatas tanpa ada perubahan pada kode nomor RFID access nya.
Kemudian Running program dan tempelkan kartu RFID atau Key Chain RFID anda ke RFID Reader dan lihat angka yang nampak pada Serial Monitor atau LCD.
Catat nomor tersebut, kemudian Update nomor kode Access yang ada pada Sketch Coding diatas dengan nomor kartu RFID anda.Gunakan tanda koma (,) sebagai pemisah setian group angka.
Upload ulang sourch codenya ke dalam Arduino anda..
Ada banyak sekali jenis saklar yang ada, mulai dari fungsi dan bentuk nya. Dilihat fungsinya saklar yang ada di rumah tangga biasanya menggunakan jenis saklar tunggal.
Saklar tunggal dapat menghidupkan satu atau beberapa beban listrik secara bersamaan dalam satu jalur. Contoh lampu kamar kamu tentunya cuma bisa dinyalakan dari satu saklar aja kan? nah itu namanya saklar tunggal. lain misalnya kalau di dalam kamar itu terdiri dari dua jalur lampu yang berbeda dan dinyalakan juga dengan dua saklar, ini disebut nya saklar ganda. Tapi kalau satu lampu dapat dimatikan dan dihidupkan oleh dua saklar secara bergantian disebut saklar tukar yaitu saklar yang menyalakan dan mematikan lampu saling bergantian antara saklar satu dan lainnya
Kita akan membuat sebuah saklar yaitu saklar sms. Sebuah saklar yang dapat menghubungkan arus listrik (bukan menyalakan, jangan salah persepsi kalau udah dirangkai baru bisa menyalakan) dari sumber PLN ke beban listrik misalnya sebuah lampu. Lalu apakah saklar sms yang akan kita buat ini pengoprasian nya sama juga dengan ditekan? sesuai dengan namanya saklar ini dapat bekerja dengan perintah yang kita kirimkan melalui sms dari handphone kita ke alat tersebut.
Untuk menggunaan lokal tentu saja sistem saklar sms ini akan terlihat ribet dan membuang waktu sajacoba bayangkan kamu yang lagi berlibur keluar kota, keluar negeri tapi lampu rumah lupa kamu hidupkan saat itu? atau mungkin kamu yang punya kebun, tapi sedang tidak ada dikebun, padahal harus melakukan penyiraman tanaman saat itu juga?
Tentunya masalah ini bisa kamu atasi dengan menghidupkan lampu tersebut dengan mengirim sms saja, atau masalah penyiraman kebun bisa di sms alat yang akan kita buat ini untuk menghidupkan pompa air penyiram tanaman nya. itu akan sangat membantu kita dalam kehidupan
Untuk contoh-contoh lainnya masih banyak, kita hanya memberikan gambaran umum saja.
Nah apa saja bahan yang diperlukan dalam membuat alat saklar sms tersebut? saya katakan sangatlah sederhana. Untuk yang sudah bergelut di dunia elektro, itu hanyalah perlu sebuah minimum sistem mikrokontroler (kita pakai atmega328), lalu modul GSM, dan juga modul Relay. Hanya dengan 3 produk itu saja kita sudah bisa membuat alat seperti yang telah diceritakan tadi. Ketiga alat tersebut dapat digunakan untuk kita yang baru mengenal elektronika mikrokontroler, kenapa begitu? karena hanya dengan menghubungkan ketiga alat itu kita sudah tidak perlu ribet lagi masalah solder menyolder komponen, hanya perlu pemrograman nya saja.
Tapi dari video yang telah buat skematik alat tersebut dapat kalian lihat sendiri, terdiri dari komponen dasar yang sangat mudah dicari di pasaran. Dan kalau masalah harga mungkin yang paling mahal adalah modul gsm nya sendiri, karena alat itu memiliki peran penting yaitu menyediakan komunikasi sms pada project ini.
Nah Bisa dilihat kan, yang dipakai hanya kebanyakan komponen pendukung dari sebuah minimum sistem mikrokontroler saja.
Lalu bagaimana dia bisa mendeteksi bahwa sms yang masuk sesuai dengan perintah yang telah kita tentukan? jelas untuk menyalakan sebuah saklar sms yang di bantu fungsinya oleh sebuah relay?
Coba perhatikan penggalan coding dibawah ini :
if(!strcmp(smsbuffer,"relay1on")){
digitalWrite(relay1,HIGH);
sms.SendSMS(n,"Relay 1 Telah Aktif");
}
Disana bisa kita cek bahwa terjadi pengecekan isi sms, jika didalam nya ada kata relay1on maka yang dilakukan oleh alat ini adalah menghidupkan relay 1 dan sekaligus mengirimkan sms balik ke nomor terakhir tadi (disimpan pada variable n) dengan pesan “Relay 1 Telah Aktif”. Gampang kan? kok bisa semudah ini? ya karena kita sudah pakai library yang memang dibuat khusus untuk komunikasi sms dari modul GSM dengan mikrokontroler.
Lalu jika tanpa library tersebut apakah kita bisa juga mengirimkan sms dan menerima sms? tentunya bisa, kita tinggal gunakan saja printah AT atau yang sering disebut AT Command ke modul gsm nya sesuai dengan perintah yang diperlukan.
Download deh skematik dan full coding nya dibawah ini.
Neoway M590 / M590E adalah Module GSM /GPRS Module dengan Spectrum 900 - 1800M yang cocok dengan Jaringan Operator GSM di Indonesia.
Neoway M590 / M590E Module buatan China sudah dilengkapi dengan Breakout Board dan Slot SIM Card serta kelengkapan pendukung lain Antena,Pin Header dan LED Indikator.
Yang Menarik dari Module ini adalah harganya yang sangat MURAH, tidak sampai 50rb rupiah.
product features?
Dual-band?900/ 1800 MHz Good network compatibility?Certified by the global GPRS R4 agreement Operation temperature ?-40~+80?, more safety outdoors High reliability?Special EMI/EMC design, still as steady as a mountain with bad electromagnetic environment Support various protocols? ? TCP/ UDP/ FTP/ DNS ? TCP protocol stack support client mode?server mode?mix mode ? Multi-channe link
product certificate?CMIIT?CE?CCC
Chip Spesification :
Dimensions
27.6 * 21.2 * 2.6mm
Sensitivity
-107dBm
Instantaneous current
Max 2.0A
Operation current
< 210mA
Standby current
< 2.5mA
Operating temperature
-40~+80?
Operation voltage
3.3~4.5V, 3.9V recommended
Packaging
21-pin LCC package
Neoway M590 / M590E menggunakan komunikasi UART/Serial dengan Default Boudrate 9600 Neoway M590E Breakout Board memiliki 7 pinOut sebagai Berikut
Komunikasi Serial Module Neoway M590E dengan Arduino Uno/Nano/Leonardo/Mega
M590 <--> Arduino BOOT <--> GND GND <--> GND 5V <--> 5V RXD <--> Tx Serial TXD <--> Rx Serial
Berikut adalah Coding Arduino IDE yang saya buat untuk Tes Komunikasi Module Neoway M590E dengan Arduino Uno
#include SoftwareSerial Neoway(2, 3); // RX | TX // Connect the Neoway M590 TX to Arduino pin 2 RX. // Connect the Neoway M590 Arduino pin 3 TX through a voltage divider.
char c = ' '; void setup() { // start th serial communication with the host computer Serial.begin(9600); Serial.println("Arduino with Neoway M590 is ready");
// start communication with the HC-05 using 38400 Neoway.begin(9600); Serial.println("Neoway M590 started at 9600"); }
void loop() {
// Keep reading from HC-05 and send to Arduino Serial Monitor if (Neoway.available()) { c = Neoway.read(); Serial.write(c); }
// Keep reading from Arduino Serial Monitor and send to HC-05 if (Serial.available()) { c = Serial.read();
// mirror the commands back to the serial monitor // makes it easy to follow the commands Serial.write(c); Neoway.write(c); }
}
Upload Sketch Program di atas ke dalam Arduino UNO kemudian Hubungkan Arduino Uno dengan Module Neoway dengan wiring sebagai berikut : M590 <--> Arduino -------------------------------- BOOT <--> GND GND <--> GND 5V <--> 5V RXD <--> D3 TXD <--> D2
Pastikan Lampu LED indicator Neoway M590 berkedip tanda Modem GSM/GPRS sudah ON Buka Serial Monitor pada Arduino IDE,setting Boudrate pada 9600 - Both NL & CR Keting AT-Command berikut untuk Melakukan Komunikasi dengan Module Neoway
AT = Cek KOmunikasi Respon : OK
Tambahkan AT Command Berikut Setelah AT untuk Fungsi Lain
A.General AT-Command Get IMEI Number?+CGSN Get IMSI Number?+CIMI Get SIM card Identification?+CCID Get Version?+ getvers Repeat the previous command?A/ --> ATA/ Get the Module?s model?+CGMM Get the module?s Information?I --> ATI Echo?E --> ATE Display the current configuration?&V --> AT&V Save current configuration?&W --AT&W Check the module?s status?+CPAS Check network registration status?+CREG Power off?+CPWROFF Set module function?+CFUN Low-power set?+enpwrsave Clock?+CCLK Set the module?s baud rate?+IPR Input PIN code?+CPIN PIN enable and check function?+CLCK