Tugas Akhir "Protype Pengontrolan Pintu Otomatis Menggunakan Arduino Berbasis Android"
Absktrak
Kata
kunci : Arduino Uno R3, Motor Stepper Bipolar, Modul Bluetooth HC-06, Smartphone Android,
Sensor PIR
Alat dan Bahan
Program
#include <SoftwareSerial.h>
#include <Stepper.h>
#include <Servo.h>
SoftwareSerial bt(7,6);
char dataBT;
char kontrol_pintu;
int Step_Satu_Putaran = 2496;
int reading;
int pos_akhir = 0;
int pintu_x = 0;
Stepper motorStepper (Step_Satu_Putaran, 11, 10, 9, 8);
Servo motorServo;
void setup(){
pinMode(12,INPUT); //PIR
pinMode(3,OUTPUT); //Buzzer
bt.begin(9600);
motorStepper.setSpeed(40);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
motorServo.attach(13);
}
void loop() {
if (bt.available())
{
dataBT = bt.read();
}
if (dataBT == 'A'){
otomatis();
} else if (dataBT == 'B' | 'C' | 'D' | 'E' | 'F'){
manual();
}
delay(200);
}
void otomatis(){
reading = digitalRead(12);
delay (500);
if ((reading == 1) && (pos_akhir == 0)){
motorStepper.step(-Step_Satu_Putaran);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
pos_akhir = 1;
}
else if ((reading == 0) && (pos_akhir == 1)){
motorStepper.step(Step_Satu_Putaran);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
pos_akhir = 0;
}
else {
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
}
}
int lockValue = 0;
void manual(){
if (dataBT == 'C' && pintu_x == 0 && lockValue == 0){
motorStepper.step(-Step_Satu_Putaran);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
pintu_x = 1;
} else if (dataBT == 'D' && pintu_x == 1){
motorStepper.step(Step_Satu_Putaran);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
pintu_x = 0;
} else if (dataBT == 'E' && pintu_x == 0 && lockValue == 0) {
digitalWrite(3,HIGH);
motorServo.write(180);
delay(1000);
digitalWrite(3,LOW);
dataBT = 0;
lockValue = 1;
} else if (dataBT == 'F' && lockValue == 1) {
digitalWrite(3,HIGH);
motorServo.write(0);
delay(1000);
digitalWrite(3,LOW);
dataBT = 0;
lockValue = 0;
}
}
Video tugas akhir
Jangan Lupa Subribe youtube Gue
https://www.youtube.com/watch?v=lGkquuVKRyU
Efektif dan efisien adalah cara yang
dapat memudahkan masyarakat dalam melakukan aktifitas, misalnya dalam hal
membuka pintu yang berukuran besar, tentunya membutuhkan waktu dan tenaga yang
banyak. Dengan mengandalkan arduino, Android
dan sensor PIR sebagai pendeteksi suhu tubuh manusia dapat membuka sebuah pintu
otomatis yang dikontrol dengan menggunakan android dengan fasilitas bluetooth. Sensor PIR dan arduino
berfungsi sebagai input dan motor stepper sebagai output untuk membuka dan
menutup pintu. Metode yang digunakan adalah metode observasi. Prinsip kerja
pintu otomatis ini yaitu pada sebuah android
terinstall sebuah software yang berfungsi untuk pengendalian pintu yang
memiliki dua mode. Apabila mode manual diaktifkan, pintu hanya akan terbuka apabila
dikendalikan menggunakan android, apabila mode otomatis yang diakktifkan pintu
akan terbuka apabila sensor telah mendeteksi suhu tubuh manusia yang bergerak pintu akan terbuka. Jarak maksimum pengontrolan pintu
adalah 1-50 meter dalam ruang terbuka, namun pada ruang tertutup jarak maksimum
pengontrolan yaitu 45 meter.
Alat dan Bahan
1.
Arduino Uno R3 rev3 1 Unit
2.
Motor Stepper 1 buah
3.
Motor Servo 1 buah
4.
Sensor PIR 1 buah
5.
Driver Motor L293D 1 buah
6.
Buzzer 1 buah
7.
Jumper Secukupnya
8.
Led 5 buah
9.
Limid Swicth 1 buah
Program
#include <SoftwareSerial.h>
#include <Stepper.h>
#include <Servo.h>
SoftwareSerial bt(7,6);
char dataBT;
char kontrol_pintu;
int Step_Satu_Putaran = 2496;
int reading;
int pos_akhir = 0;
int pintu_x = 0;
Stepper motorStepper (Step_Satu_Putaran, 11, 10, 9, 8);
Servo motorServo;
void setup(){
pinMode(12,INPUT); //PIR
pinMode(3,OUTPUT); //Buzzer
bt.begin(9600);
motorStepper.setSpeed(40);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
motorServo.attach(13);
}
void loop() {
if (bt.available())
{
dataBT = bt.read();
}
if (dataBT == 'A'){
otomatis();
} else if (dataBT == 'B' | 'C' | 'D' | 'E' | 'F'){
manual();
}
delay(200);
}
void otomatis(){
reading = digitalRead(12);
delay (500);
if ((reading == 1) && (pos_akhir == 0)){
motorStepper.step(-Step_Satu_Putaran);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
pos_akhir = 1;
}
else if ((reading == 0) && (pos_akhir == 1)){
motorStepper.step(Step_Satu_Putaran);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
pos_akhir = 0;
}
else {
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
}
}
int lockValue = 0;
void manual(){
if (dataBT == 'C' && pintu_x == 0 && lockValue == 0){
motorStepper.step(-Step_Satu_Putaran);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
pintu_x = 1;
} else if (dataBT == 'D' && pintu_x == 1){
motorStepper.step(Step_Satu_Putaran);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
pintu_x = 0;
} else if (dataBT == 'E' && pintu_x == 0 && lockValue == 0) {
digitalWrite(3,HIGH);
motorServo.write(180);
delay(1000);
digitalWrite(3,LOW);
dataBT = 0;
lockValue = 1;
} else if (dataBT == 'F' && lockValue == 1) {
digitalWrite(3,HIGH);
motorServo.write(0);
delay(1000);
digitalWrite(3,LOW);
dataBT = 0;
lockValue = 0;
}
}
Video tugas akhir
Jangan Lupa Subribe youtube Gue
https://www.youtube.com/watch?v=lGkquuVKRyU
Ok bang trimakasi ya selanjutnya sy akan menghubungi lagi di ini....!
BalasHapusMas ini membantu sekali ini setelah tulis code diatas di arduino selanjutnya bagimana tampilkan pada layar henponnya ?
BalasHapusBuat aplikasinya dulu bang
Hapusbisa di kirim foto rangkaiannya gak
BalasHapusMau untuk apa bang..?
HapusAssalamualaikum, Kak boleh liat rangkaian sm miniatur projeknya ga?
BalasHapusMas bisa tolong buat ta saya ga?
BalasHapusShare aplikasi yg di handphone bang
BalasHapusKak boleh liat rangkaiannya?
BalasHapusUntuk Aplikasi nya itu bagaimana mas? Tolong mohon jawab anya🙏🏼
BalasHapusAplikasinya gmna bang buatnya
BalasHapusMas cara mengkoneksikan aplikasi ke alatnya gimana?
BalasHapus