Monday 18 January 2016

Control Servo menggunakan Keypad (Arduino Project)

Assalamualaikum wbt kepada pembaca blog saya yang saya hormati...


Setelah disibukkan dengan hal lain, Alhamdulillah hari ini saya diberi kesempatan untuk berkongsi projek arduino yang saya cuba hari ini.  Pada entri kali ini, saya ingin berkongsi cara untuk mengawal servo menggunakan keypad. Applikasi ini boleh digunakan untuk membuka atau mengunci pintu rumah.








Bahan yang diperlukan
1. Arduino board
2. Servo
3. Breadboard
4. Jumper atau wire
5. Keypad 3x4 atau 4x4

Software yang diperlukan
1. Arduino IDE


Step 1 (wiring keypad)
Bermula dari kiri >> pin 9,8,7,6,5,4,3





Step 2 (wiring Servo)
Kuning >> pin 11
Merah >> pin 5v
Hitam (Coklat) >> pin GND











Step 3 (Wiring LED)

LED Merah >> pin 12
LED Putih >> pin 13

 


Coding Arduino
 #include <Keypad.h>  
 #include <Servo.h>  
 Servo servo_Motor;   
 char* password = "789";  
 int position = 0;  
 const byte ROWS = 4;   
 const byte COLS = 3;   
 char keys[ROWS][COLS] = {  
 {'1','2','3',},  
 {'4','5','6',},  
 {'7','8','9',},  
 {'*','0','#',}  
 };  
 byte rowPins[ROWS] = { 9, 8, 7, 6, };  
 byte colPins[COLS] = { 5, 4, 3, };  
 Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );  
 int redPin = 12;  
 int greenPin = 13;  
 void setup()  
 {  
 pinMode(redPin, OUTPUT);  
 pinMode(greenPin, OUTPUT);  
 servo_Motor.attach(11);  
 setLocked(true);  
 }  
 void loop()  
 {  
 char key = keypad.getKey();  
 if (key == '*' || key == '#')  
 {  
 position = 0;  
 setLocked(true);  
 }  
 if (key == password[position])  
 {  
 position ++;  
 }  
 if (position == 3)  
 {  
 setLocked(false);  
 }  
 delay(100);  
 }  
 void setLocked(int locked)  
 {  
 if (locked)  
 {  
 digitalWrite(redPin, HIGH);  
 digitalWrite(greenPin, LOW);  
 servo_Motor.write(11);  
 }  
 else  
 {  
 digitalWrite(redPin, LOW);  
 digitalWrite(greenPin, HIGH);  
 servo_Motor.write(90);  
 }  
 }  


Video
* Password yang saya gunakan adalah "789"


0 comments:

Post a Comment