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