สารบัญ:
- ขั้นตอนที่ 1: แผนผังเวลา
- ขั้นตอนที่ 2: เวลาเข้ารหัส
- ขั้นตอนที่ 3: ทั้งหมดนี้หมายความว่าอย่างไร
- ขั้นตอนที่ 4: การแก้ไขปัญหา
- ขั้นตอนที่ 5: หากคุณมีคำถามใด ๆ อย่าลังเลที่จะถามในส่วนความคิดเห็นและอย่าลืมสมัครสมาชิก
วีดีโอ: ล็อคเซอร์โวปุ่มกด: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
สวัสดีทุกคนหวังว่าคุณจะมีวันที่ดี หากไม่หวังว่าคุณจะสามารถย้อนกลับด้วยใจที่เปิดกว้างสำหรับบทช่วยสอนนี้และเพลงบำบัด การเขียนโปรแกรมอาจเป็นเรื่องยุ่งยาก โชคดีที่บทช่วยสอนนี้ไม่ยุ่งยาก ดังนั้นคุณอาจจะสามารถทำสิ่งที่โด่งดังได้สำเร็จ (ด้วยเสียงอันทรงพลัง): THE ULTIMATE SERVO KEYPAD LOCK!!! นั่นเป็นเพียงการแนะนำของฉัน หวังว่าคุณจะชอบมัน อย่างไรก็ตาม เรามาอุ่นนิ้วของเราในการพิมพ์กันเถอะ (เพลงเด็ด: เพลงแคนแคน (เพลงคลาสสิค))
เสบียง:
-นิ้วของคุณ
-มือของคุณก็สำคัญ
-สาย USB สำหรับ Arduino
- มี Arduino ทุกประเภท (ฉันมี Arduino Mega)
-Matrix Keypad (ปุ่มกด - อีเบย์, ปุ่มกด - amazon)
-ไมโครหรือเซอร์โวมาตรฐาน (ฉันใช้ไมโครเซอร์โว)
-*ไม่บังคับ* Breadboard - ทุกประเภท
-*อุปกรณ์เสริม* แหล่งจ่ายไฟ (5V)
ขั้นตอนที่ 1: แผนผังเวลา
แล้วทำอะไรเป็นอย่างแรก? ต่อ Arduino กับคอมพิวเตอร์ เชื่อมต่อปุ่มกดต่อไป *หมายเหตุ - คุณต้องเชื่อมต่อพินจากพินสุดท้ายบนแป้นพิมพ์เป็นพินดิจิทัลตัวแรกบน Arduino และจากขวาไปซ้ายหลังจากนั้น* ปุ่มกดมีพิน 2-9 บน Arduino เซอร์โวมีพิน 10 เป็นสัญญาณดิจิตอล ผูกสายดินของ Arduino ปุ่มกดและเซอร์โวและ 5V ด้วย *หมายเหตุ - ควรใช้เซอร์โวกับแหล่งพลังงานภายนอกหรืออะแดปเตอร์ที่มีไฟ 5V (ปลั๊กติดผนัง) ได้ดีที่สุด แต่ก็ยังเป็นทางเลือกอยู่* คุณไม่จำเป็นต้องผูกกราวด์และ 5V ทางกายภาพ สิ่งที่ฉันหมายถึงคือ เพื่อต่อสายจาก Arduino เข้ากับเซอร์โว แผนผังนี้ไม่ได้ช่วยผู้เริ่มต้นใช้งาน ดังนั้นให้ฉันอธิบายในรายละเอียดสั้น ๆ โดยทั่วไป พินสุดท้ายคือ 2 และอันแรกคือ 9 สองคือ 8 สามคือ 7 และอื่นๆ จากซ้ายไปขวา 2 2
ขั้นตอนที่ 2: เวลาเข้ารหัส
ตกลง ตอนนี้เรากำลังเข้าสู่ส่วนการเข้ารหัส! นี่คือที่มาของเวทมนตร์ที่แท้จริง! จึงมีโปรแกรมทดสอบทดสอบปุ่มกดและเซอร์โวก่อน ที่นี่:
//www.elegoo.com//2016.12.9
/* @file CustomKeypad.pde
|| @เวอร์ชั่น 1.0 || @ผู้เขียน Alexander Brevig || @ติดต่อ [email protected] || || @description || | สาธิตการเปลี่ยนขนาดปุ่มกดและค่าคีย์ || # */ #รวม
ไบต์ const ROWS = 4; //สี่แถว
const ไบต์ COLS = 4; // สี่คอลัมน์ // กำหนดสัญลักษณ์บนปุ่มของปุ่มกด char hexaKeys[ROWS][COLS] = { {{'1', '2', '3', 'A'}, {'4', '5 ', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; ไบต์ rowPins[ROWS] = {9, 8, 7, 6}; //เชื่อมต่อกับ pinouts แถวของแป้นพิมพ์ไบต์ colPins[COLS] = {5, 4, 3, 2}; //เชื่อมต่อกับ pinout ของคอลัมน์ของปุ่มกด
//เริ่มต้นอินสแตนซ์ของคลาส NewKeypad
ปุ่มกด customKeypad = ปุ่มกด (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);
การตั้งค่าเป็นโมฆะ (){
Serial.begin(9600); } วงเป็นโมฆะ (){ ถ่าน customKey = customKeypad.getKey(); ถ้า (customKey) { Serial.println (customKey); } }
//www.elegoo.com//2016.12.08 #include
เซอร์โว myservo; // สร้างวัตถุเซอร์โวเพื่อควบคุมเซอร์โว
// สามารถสร้างวัตถุเซอร์โวสิบสองรายการได้บนกระดานส่วนใหญ่
int pos = 0; // ตัวแปรเก็บตำแหน่งเซอร์โว
การตั้งค่าเป็นโมฆะ () {
myservo.attach(9); // ติดเซอร์โวบนพิน 9 กับวัตถุเซอร์โว }
วงเป็นโมฆะ () {
สำหรับ (pos = 0; pos = 0; pos -= 1) { // เปลี่ยนจาก 180 องศาเป็น 0 องศา myservo.write (pos); // บอกให้เซอร์โวไปที่ตำแหน่งในตัวแปร 'pos' delay(15); // รอ 15ms เพื่อให้เซอร์โวไปถึงตำแหน่ง } }
นี่คือรหัสโครงการ (ฉันจะพูดตามตรงนะ ฉันไม่ได้ทำอะไรมาก ฉันเพิ่งเพิ่มส่วนเซอร์โว ขอบคุณคนที่ทำรหัสทั้งหมด!):
#include Password.h
#รวมปุ่มกด
/*
|| ป้อนรหัสผ่านอย่างง่ายโดยใช้แป้นพิมพ์เมทริกซ์ || 4/5/2012 อัปเดต Nathan Sobieck: [email protected] || *
/* คือการตรวจสอบรหัสผ่าน
//# คือการพยายามตั้งรหัสผ่านใหม่
/////////////////////////////////////////////////////////////////
#รวม
//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip
รหัสผ่าน รหัสผ่าน = รหัสผ่าน ("1234");
เซอร์โว myservo; // สร้างวัตถุเซอร์โวเพื่อควบคุมเซอร์โว
#define servoPin 10
ไบต์ const ROWS = 4; // สี่แถว
const ไบต์ COLS = 4; // คอลัมน์ // กำหนดคีย์อักขระคีย์แมป [ROWS][COLS] = { {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} };
ไบต์ rowPins[ROWS] = { 9, 8, 7, 6 }; // เชื่อมต่อปุ่มกด ROW0, ROW1, ROW2 และ ROW3 กับพิน Arduino เหล่านี้
ไบต์ colPins[COLS] = { 5, 4, 3, 2, }; // เชื่อมต่อปุ่มกด COL0, COL1 และ COL2 กับพิน Arduino เหล่านี้
// สร้างปุ่มกด
ปุ่มกดปุ่มกด = ปุ่มกด (makeKeymap (คีย์), rowPins, colPins, ROWS, COLS);
การตั้งค่าเป็นโมฆะ () {
myservo.attach (เซอร์โวพิน); // ติดเซอร์โวบนพิน 9 กับวัตถุเซอร์โว
Serial.begin(9600);
keypad.addEventListener (keypadEvent); //เพิ่มตัวฟังเหตุการณ์สำหรับปุ่มกดนี้
myservo.write(0);
}
วงเป็นโมฆะ () {
ปุ่มกด.getKey();
}
//ดูแลกิจกรรมพิเศษบางอย่าง
เป็นโมฆะ keypadEvent (KeypadEvent eKey) { สวิตช์ (keypad.getState ()) { กรณีกด: สวิตช์ (eKey) { กรณี '*': checkPassword (); หยุดพัก; ค่าเริ่มต้น: password.append(eKey); } } }
ตรวจสอบเป็นโมฆะรหัสผ่าน () {
ถ้า (password.evaluate() == true) { Serial.println("Success"); //เพิ่มโค้ดเพื่อเรียกใช้หากใช้งานได้
myservo.write(180);
ล่าช้า (3000);
myservo.write(0);
รหัสผ่าน.รีเซ็ต();
} else if (password.evaluate() == false) {
Serial.println("ผิด");
myservo.write(0);
//เพิ่มโค้ดเพื่อรันหากใช้งานไม่ได้
}
}
ขั้นตอนที่ 3: ทั้งหมดนี้หมายความว่าอย่างไร
รหัสด้านบน (อันแรก) จะให้สัญญาณให้เซอร์โว "กวาด" หรือเพียงแค่ไปจาก 0 ถึง 180 องศา หรือเพียงแค่หมุนครึ่งวงกลมให้เสร็จจากซ้ายไปขวาหรือขวาไปซ้าย ถ้าคุณต้องการรายละเอียดเพิ่มเติมเกี่ยวกับรหัสฉันสามารถบอกคุณได้ ขอแค่ถาม. ไม่ได้เสียหายอะไร แค่คำถามง่ายๆ เอาล่ะคุณทำได้! อย่างไรก็ตาม รหัสที่อยู่ตรงกลางจะทดสอบทุกปุ่มของปุ่มกด และรหัสสุดท้ายเพียงแค่ "ปลดล็อก" ด้วยเซอร์โวเมื่อคุณพิมพ์รหัสผ่าน "1234" ลงในแป้นพิมพ์
ขั้นตอนที่ 4: การแก้ไขปัญหา
ถาม: ปุ่มกดของฉันไม่ทำงาน
ตอบ: จำไว้ว่าพินแรกคือ 9 ดังนั้นให้ลงไปจากที่นั่น ตรวจสอบให้แน่ใจว่าได้เชื่อมต่อ Arduino กับพอร์ต USB ของคอมพิวเตอร์และตั้งโปรแกรม Arduino
ถาม: เซอร์โวไม่ทำงาน
ตอบ: โปรดจำไว้ว่าขาเซอร์โวคือพิน 10 และคุณต้องการกราวด์ร่วม หากคุณเชื่อมต่อโดยตรงจาก Arduino โปรดจำไว้ว่าพินสีส้ม (บนไมโครเซอร์โว) คือพิน 10 พินสีแดงคือ 5V และ พินสีน้ำตาลคือพิน GND
ถาม: Arduino ไม่ทำงาน:
A: คุณเชื่อมต่อมันหรือยัง? ฟังดูเหมือนปัญหาส่วนตัว
ขั้นตอนที่ 5: หากคุณมีคำถามใด ๆ อย่าลังเลที่จะถามในส่วนความคิดเห็นและอย่าลืมสมัครสมาชิก
ลาก่อนขอบคุณสำหรับการดูบทช่วยสอนของฉัน เป็นเรื่องสนุก
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง