#include //http://playground.arduino.cc/uploads/Code/Password.zip use password library
#include //http://www.arduino.cc/playground/uploads/Code/Keypad.zip //tells to use keypad library
#include //tells to use servo library
Servo myservo; //declares servo
Password password = Password( "your_password" ); //password to unlock box, can be changed
const byte ROWS = 4; // Four rows
const byte COLS = 4; // columns
// Define the Keymap
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte rowPins[ROWS] = { 5, 4, 3, 2 };// Connect keypad COL0, COL1 and COL2 to these Arduino pins.
byte colPins[COLS] = { 8, 7, 6, 9 };
// Create the Keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
Serial.write(254);
Serial.write(0x01);
delay(200);
pinMode(11, OUTPUT); //green light
pinMode(12, OUTPUT); //red light
myservo.attach(13); //servo on digital pin 9 //servo
keypad.addEventListener(keypadEvent); //add an event listener for this keypad
}
void loop(){
keypad.getKey();
myservo.write(0);
}
//take care of some special events
void keypadEvent(KeypadEvent eKey){
switch (keypad.getState()){
case PRESSED:
Serial.print("Enter: ");
Serial.println(eKey);
delay(10);
Serial.write(254);
switch (eKey){
case 'A': checkPassword(); delay(1); break;
case 'B': password.reset(); delay(1); break;
default: password.append(eKey); delay(1);
}
}
}
void checkPassword(){
if (password.evaluate()){ //if password is right open box
Serial.println("Accepted");
Serial.write(254);delay(10);
//Add code to run if it works
myservo.write(5); //160deg
digitalWrite(11, HIGH);//turn on
delay(500); //wait 5 seconds
digitalWrite(11, LOW);// turn off
}else{
Serial.println("Denied"); //if passwords wrong keep box locked
Serial.write(254);delay(10);
//add code to run if it did not work
myservo.write(0);
digitalWrite(12, HIGH); //turn on
delay(500); //wait 5 seconds
digitalWrite(12, LOW);//turn off
}
}
#include รหัสผ่าน http://playground.arduino.cc/uploads/Code/Password.zip ใช้ไลบรารี#include //tells http://www.arduino.cc/playground/uploads/Code/Keypad.zip การใช้แป้นพิมพ์ไลบรารี#include บอกการใช้ไลบรารีของ servoServo myservo ประกาศ servoรหัสผ่านรหัสผ่าน =รหัสผ่าน ("your_password"); สามารถเปลี่ยนรหัสผ่านเพื่อปลดล็อกกล่องแถวไบต์ค่า const = 4 แถวที่ 4ค่า const ไบต์ COLS = 4 คอลัมน์กำหนด Keymapอักขระคีย์ [แถว] [COLS] ={{'1', '2', '3',' A' },{'4', '5', '6',' B' },{'7', '8', '9',' C' },{'*','0','#','D'}};เชื่อมต่อแป้นพิมพ์ ROW0, ROW1, ROW2 และ ROW3 หมุดเหล่านี้สืบไปrowPins ไบต์ [แถว] = {5, 4, 3, 2 } ;//เชื่อมต่อซิลิโคน COL0, COL1 และ COL2 เพื่อสืบหมุดเหล่านี้colPins ไบต์ [COLS] = {8, 7, 6, 9 };สร้างแป้นพิมพ์ซิลิโคนซิลิโคน =ซิลิโคน (makeKeymap(keys), rowPins, colPins แถว COLS);{ยกเลิก setup() Serial.begin(9600) Serial.write(254) Serial.write(0x01) delay(200) pinMode (11 ผล); แสงสีเขียว pinMode (12 ผล); แสงสีแดง myservo.attach(13) servo ในดิจิตอล pin 9 //servo keypad.addEventListener(keypadEvent) เพิ่มการฟังเหตุการณ์สำหรับแป้นพิมพ์นี้ }{ยกเลิก loop() keypad.getKey() myservo.write(0) } ดูแลกิจกรรม keypadEvent (KeypadEvent eKey) {ยกเลิก สวิตช์ (keypad.getState()) { กรณี PRESSED: Serial.print ("ป้อน: "); Serial.println(eKey) delay(10) Serial.write(254) สวิตช์ (eKey) { กรณี 'A': checkPassword() delay(1) ทำลาย กรณี 'B': password.reset() delay(1) ทำลาย เริ่มต้น: password.append(eKey) delay(1)}}}{ยกเลิก checkPassword() ถ้า (password.evaluate()) {//if รหัสผ่านคือ กล่องเปิดขวา Serial.println("Accepted") Serial.write(254);delay(10) เพิ่มรหัสที่เรียกว่างาน myservo.write(5) 160deg //turn บน digitalWrite (11 สูง) delay(500) รอ 5 วินาที digitalWrite (11 ต่ำ); / / ปิด } {อื่น Serial.println("Denied") ถ้ารหัสผ่านไม่ถูกต้องให้กล่องล็อค Serial.write(254);delay(10) เพิ่มรหัสเพื่อเรียกใช้ถ้ามันไม่ทำงาน myservo.write(0) digitalWrite (12 สูง); เปิดใช้งาน delay(500) รอ 5 วินาที //turn ปิด digitalWrite (12 ต่ำ) }}
การแปล กรุณารอสักครู่..

#include //http://playground.arduino.cc/uploads/Code/Password.zip~~MD~~aux ใช้ห้องสมุดรหัสผ่าน
#include//http://www.arduino.cc/playground/uploads/Code/Keypad.zip // บอกการใช้ห้องสมุดปุ
#include// บอกการใช้ห้องสมุดเซอร์โวเซอร์โวmyservo; // ประกาศเซอร์โวรหัสผ่าน= รหัสผ่าน ("your_password"); // รหัสผ่านเพื่อปลดล็อคกล่องสามารถเปลี่ยนแปลงได้แถวไบต์const = 4; // สี่แถวCOLS ไบต์ const = 4; คอลัมน์ // // กำหนด Keymap คีย์ถ่าน [แถว] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6' ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}}; // Connect ปุ ROW0, ROW1, ROW2 และ ROW3 เพื่อหมุด Arduino เหล่านี้. ไบต์ rowPins [แถว] = {5, 4, 3, 2}. // Connect COL0 ปุ COL1 และ COL2 เพื่อหมุด Arduino เหล่านี้ไบต์colPins [COLS] = {8, 7, 6, 9}; // สร้างปุ่มกดปุ่มกดปุ่มกดปุ่มกด= (makeKeymap (คีย์), rowPins, colPins แถว COLS) ติดตั้งเป็นโมฆะ () {Serial.begin (9600); Serial.write (254); Serial.write ( 0x01); ล่าช้า (200); pinMode (11 OUTPUT); // ไฟเขียวpinMode (12 OUTPUT); // แสงสีแดงmyservo.attach (13); // เซอร์โวบนขาดิจิตอล 9 // เซอร์โวkeypad.addEventListener (keypadEvent); // เพิ่มฟังเหตุการณ์สำหรับปุ่มกดนี้} ห่วงเป็นโมฆะ () {keypad.getKey (); myservo.write (0);} // ดูแลการจัดกิจกรรมพิเศษบางโมฆะkeypadEvent (KeypadEvent eKey) {สวิทช์(keypad.getState ( )) {กรณีแป้ง: Serial.print ("ป้อน:"); Serial.println (eKey); ล่าช้า (10); Serial.write (254) สวิทช์ (eKey) {กรณีที่'A': checkPassword (); ความล่าช้า (1); แบ่ง; กรณี 'B': password.reset (); ความล่าช้า (1); แบ่ง; ค่าเริ่มต้น: password.append (eKey); ความล่าช้า (1);}}} โมฆะ checkPassword () {if (password.evaluate ()) {// ถ้ารหัสผ่านกล่องเปิดที่เหมาะสมSerial.println ("ยอมรับ"); Serial.write (254); ล่าช้า (10) ; // เพิ่มรหัสที่จะเรียกว่าการทำงานmyservo.write (5) // 160deg digitalWrite (11, HIGH); // เปิดล่าช้า(500); // รอ 5 วินาทีdigitalWrite (11 LOW); // ปิด} else {Serial.println ("ปฏิเสธ"); // ถ้ารหัสผ่านไม่ถูกต้องให้กล่องล็อคSerial.write (254); ล่าช้า (10); // เพิ่มรหัสให้ทำงานถ้ามันไม่ได้ทำงานmyservo.write (0); digitalWrite (12 HIGH); // เปิดล่าช้า(500); // รอ 5 วินาทีdigitalWrite (12 LOW); // ปิด}}
การแปล กรุณารอสักครู่..

#รวมถึง < H > //http://playground.arduino.cc/uploads/code/password.zip รหัสผ่าน ใช้รหัสผ่านห้องสมุด
#รวมถึง < กด H > //http://www.arduino.cc/playground/uploads/code/keypad.zip / / บอกใช้#ห้องสมุด
กดรวม < H > / / บอกเซอร์โว ใช้เซอร์โว เซอร์โว myservo ห้องสมุด
; / / ประกาศรหัสผ่านรหัสผ่าน = รหัสผ่าน ( เซอร์โว
" your_password / " ) ; รหัสผ่านเพื่อปลดล็อกกล่อง สามารถเปลี่ยน
Const ไบต์แถว = 4 ; / / สี่แถว
Const ไบต์ colh = 4 ; / / คอลัมน์
/ / กำหนดปุ่มคีร์แม๊ป
char [ ] [ ] = แถว colh {
{ ' 1 ' , ' 2 ' , ' 3 ' , ' ' } ,
{ ' 4 ' , ' 5 ' , ' 6 ' , 'b ' } ,
{ ' 7 ' , ' 8 ' , ' 9 ' , ' c ' } ,
{ ' * ' , ' 0 ' , ' # ' , ' }
} ;
/ / เชื่อมต่อแป้นพิมพ์ row0 row1 row2 , และ , row3 พิน Arduino เหล่านี้ .
ไบต์ rowpins [ แถว ] = { 5 4 , 3 , 2 } ; / / เชื่อมต่อแป้นพิมพ์ col0 col1 col2 Arduino , และพินเหล่านี้ .
ไบต์ colh colpins [ ] = { 8 , 7 , 6 , 9 }
;/ / สร้างปุ่มกดปุ ปุ ปุ
= ( makekeymap ( คีย์ ) , rowpins colpins , แถว , colh ) ; เป็นโมฆะ {
setup() อนุกรม เริ่มต้น ( 9600 ) ;
อนุกรม เขียน ( 254 ) ;
อนุกรม เขียน ( 0x01 ) ;
;
pinmode ล่าช้า ( 200 ) ( 11 ออก ) ; / / เขียวอ่อน pinmode
( 12 , output ) ; / myservo แสง
/ แดง แนบ ( 13 ) ; / / เซอร์โวดิจิตอลเซอร์โวขา 9 / / แป้น
addeventlistener ( keypadevent ) ; / / เพิ่มเหตุการณ์ฟังนี้กด
}
โมฆะ loop() {
ปุ่มกด getkey() ;
myservo เขียน ( 0 ) ;
}
/ / ดูแลกิจกรรมพิเศษ
เป็นโมฆะ keypadevent ( keypadevent ekey ) {
สวิตช์ปุ่มกด getstate() ) {
กรณีกด :
ต่อเนื่อง พิมพ์ ( " ระบุ : " ) ;
println ( ต่อเนื่อง ekey ) ;
ล่าช้า ( 10 ) ;
อนุกรม เขียน ( 254 ) ; เปลี่ยน
( ekey ) {
กรณี ' ' : checkpassword() ; หน่วง ( 1 ) ; แบ่ง ;
กรณี ' B ' : รหัสผ่าน reset() ; หน่วง ( 1 ) ; แบ่ง ;
เริ่มต้น : รหัสผ่านผนวก ( ekey ) ; หน่วง ( 1 )
} } } ถือเป็นโมฆะ checkpassword() {
ถ้า ( รหัสผ่าน evaluate() ) { / / ถ้ารหัสผ่านถูกต้องเปิดกล่อง
แบบต่อเนื่อง println ( " ยอมรับ " ) ;
อนุกรม เขียน ( 254 ) ; ล่าช้า ( 10 ) ;
/ / เพิ่มรหัสเพื่อเรียกใช้ถ้ามันใช้ได้
myservo เขียน ( 5 ) ; / / 160deg
digitalwrite ( 11 ) ; / / เปิด
ล่าช้า ( 500 ) ; / / รอ 5 วินาที
digitalwrite ( 11 , ต่ำ ) ; / / ปิด
} {
println อีกต่อเนื่อง ( " ปฏิเสธ " ) ;/ / ถ้ารหัสผ่านผิดให้กล่องล็อค
อนุกรม เขียน ( 254 ) ; ล่าช้า ( 10 ) ;
/ / เพิ่มรหัสเพื่อเรียกใช้ถ้ามันไม่ทำงาน
myservo เขียน ( 0 ) ;
digitalwrite ( 12 , สูง ) ; / / เปิด
ล่าช้า ( 500 ) ; / / รอ 5 วินาที
digitalwrite ( 12 , ต่ำ ) ; / / ปิด
} }
การแปล กรุณารอสักครู่..
