
สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ดูวิดีโอ
- ขั้นตอนที่ 2: การเดินสายไฟ
- ขั้นตอนที่ 3: [ไม่บังคับ] วิธีการทำงานของปุ่มกด
- ขั้นตอนที่ 4: หยิบรหัส
- ขั้นตอนที่ 5: การติดตั้งไลบรารีและการอัปโหลดไปยังบอร์ด
- ขั้นตอนที่ 6: [ไม่บังคับ] คำอธิบายของรหัส
- ขั้นตอนที่ 7: การใช้กับ OBS
- ขั้นตอนที่ 8: สุดยอดคีย์บอร์ด Stackoverflow
- ขั้นตอนที่ 9: แป้นพิมพ์แชทด่วนแบบกำหนดเอง
- ขั้นตอนที่ 10: สรุป
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12


แป้นพิมพ์มาโครสามารถใช้เพื่อดำเนินการบางอย่างหรือทำงานบางอย่างบนคอมพิวเตอร์ของคุณ และมีประโยชน์อย่างยิ่งกับบางแอปพลิเคชัน เช่น โปรแกรมตัดต่อวิดีโอหรือเกม
แอปพลิเคชั่นจำนวนมากมีปุ่มลัดสำหรับการดำเนินการอย่างรวดเร็ว แต่บางครั้งก็ยากที่จะจำการรวมปุ่มของแต่ละคำสั่ง แต่นั่นคือที่มาของแป้นพิมพ์มาโคร พวกเขาสามารถตั้งโปรแกรมในการรวมปุ่มหรือลำดับใด ๆ ก็ได้ เป็นเครื่องมือที่ทรงพลังจริงๆ
การใช้งานหลักของฉันคือการควบคุม OBS ซอฟต์แวร์ที่ฉันใช้สำหรับการบันทึกวิดีโอและการสตรีม ซึ่งช่วยให้ฉันสามารถสลับระหว่างฉากต่างๆ ได้อย่างง่ายดาย หรือเพื่อเปิดใช้งานเพื่อปิดใช้งานองค์ประกอบบางอย่างของฉาก ตกลง ฉันจะอ้างสิทธิ์อย่างกล้าหาญที่นี่ นี่คือแป้นพิมพ์มาโคร DIY ที่ง่ายที่สุดที่คุณสามารถสร้างได้! หากคุณรู้จักอันที่ง่ายกว่า โปรดลิงก์มาที่ฉัน เพราะฉันยังไม่เจอมันเลย มันใช้เพียง 2 ส่วนประกอบและไม่จำเป็นต้องติดตั้งบอร์ดพิเศษสำหรับ Arduino ดังนั้นจึงไม่ง่ายไปกว่านี้อีกแล้ว!
Arduino Pro Micro รองรับการจำลอง HID (Human Interface Devices หรือที่รู้จักว่าคีย์บอร์ดและเมาส์ของคุณ) ดังนั้นจึงเหมาะสำหรับโครงการประเภทนี้ เราจะใช้ปุ่มกด 4x4 ด้วยเพราะมีราคาถูก มี 16 ปุ่มและง่ายต่อการต่อสาย ขึ้น
เสบียง
- Arduino Pro Micro จาก Aliexpress - ~$3.00*
- 4x4 Matrix Keypad จาก Aliexpress - $0.50*
*= พันธมิตร
ขั้นตอนที่ 1: ดูวิดีโอ


ฉันทำวิดีโอเกี่ยวกับหัวข้อนี้หากคุณต้องการตรวจสอบ!
ขั้นตอนที่ 2: การเดินสายไฟ

ไม่มีอะไรจะง่ายไปกว่านี้แล้ว!
Keypad Matrix เสียบเข้ากับ 8 GPIO ที่ด้านล่างขวาของ Pro Micro โดยตรง ซึ่งจะมีป้ายกำกับว่า GPIO2 - GPIO 9 สายที่ด้านซ้ายของปุ่มกดเชื่อมต่อกับ GPIO2
ฉันไม่ได้บอกคุณเหรอว่ามันง่าย!
ขั้นตอนที่ 3: [ไม่บังคับ] วิธีการทำงานของปุ่มกด
![[ไม่บังคับ] วิธีการทำงานของปุ่มกด [ไม่บังคับ] วิธีการทำงานของปุ่มกด](https://i.howwhatproduce.com/images/001/image-2217-36-j.webp)
![[ไม่บังคับ] วิธีการทำงานของปุ่มกด [ไม่บังคับ] วิธีการทำงานของปุ่มกด](https://i.howwhatproduce.com/images/001/image-2217-37-j.webp)
![[ไม่บังคับ] วิธีการทำงานของปุ่มกด [ไม่บังคับ] วิธีการทำงานของปุ่มกด](https://i.howwhatproduce.com/images/001/image-2217-38-j.webp)
หากคุณสนใจเกี่ยวกับวิธีการทำงานของปุ่มกด ผมจะอธิบายคร่าวๆ ไว้ที่นี่ หากคุณไม่สนใจ ข้ามขั้นตอนนี้ไปได้เลย!
แต่ละแถวและคอลัมน์เชื่อมต่อกับพิน GPIO ของ Arduino ของคุณ พิน 4 แถวถูกตั้งค่าเป็นเอาต์พุต และพิน 4 คอลัมน์ถูกตั้งค่าเป็นอินพุต Arduino จะวนรอบพินของแถวทีละแถว โดยตั้งค่าให้แต่ละแถวสูง ในขณะที่แถวอื่นๆ อยู่ในระดับต่ำ จะตั้งแถวแต่ละแถวให้สูงไหม มันจะอ่านแต่ละพินของคอลัมน์ หากหมุดของเสาตัวใดตัวหนึ่งสูง คุณสามารถบอกได้ว่าปุ่มใดถูกกดเมื่อคุณรู้ว่าแถวของคอลัมน์นั้นถูกกด
เราไม่ต้องกังวลเรื่องนี้เพราะเราจะใช้ห้องสมุดดูแลเรื่องนี้แทนเรา!
ขั้นตอนที่ 4: หยิบรหัส


อย่างแรกที่คุณต้องมีคือ Arduino IDE ซึ่งคุณสามารถหาได้จากที่นี่หากคุณไม่มี มันค่อนข้างตรงไปตรงมาในการติดตั้ง แต่ถ้าคุณต้องการคำแนะนำหรือคำแนะนำเพิ่มเติม ฉันขอแนะนำให้ตรวจสอบ Arduino Class โดย Becky Stern
จากนั้นคุณจะต้องคว้ารหัสสำหรับโครงการนี้จาก Github ของฉัน คลิกปุ่มโคลนหรือดาวน์โหลดที่ด้านขวามือของหน้าแล้วคลิกปุ่ม "ดาวน์โหลด Zip"
แตกไฟล์ zip และเปิดด้วยไฟล์.ino ด้วย Arduino IDE
ขั้นตอนที่ 5: การติดตั้งไลบรารีและการอัปโหลดไปยังบอร์ด




ก่อนที่เราจะอัปโหลดภาพสเก็ตช์นี้ไปที่บอร์ด อันดับแรกเราต้องติดตั้งไลบรารีคีย์แพดเพื่อเชื่อมต่อกับเมทริกซ์คีย์แพด
ในการติดตั้ง ให้คลิกที่ Sketch -> รวมไลบรารี -> จัดการไลบรารี
เมื่อโหลดเสร็จแล้ว ให้ค้นหา "ปุ่มกด" และเลื่อนลงไปที่ปุ่มที่เขียนโดย Mark Stanley และ Alexander Brevig คลิกติดตั้ง
ตอนนี้คุณพร้อมที่จะอัปโหลดภาพร่างแล้ว! เราเพียงแค่ต้องกำหนดค่า Arduino IDE สำหรับบอร์ดและพอร์ตที่ถูกต้อง
ในเมนูเครื่องมือ ให้ไปที่บอร์ด แล้วเลือก Arduino/Genuino Micro
ในเมนูเครื่องมือเดียวกัน ให้ไปที่ Port และเลือกพอร์ต com ที่มี (Arduino/Genuino Micro) ต่อจากนี้ คุณสามารถคลิกปุ่มอัปโหลดและควรตั้งโปรแกรมอุปกรณ์ของคุณ!
ขั้นตอนที่ 6: [ไม่บังคับ] คำอธิบายของรหัส
![[ไม่บังคับ] คำอธิบายของรหัส [ไม่บังคับ] คำอธิบายของรหัส](https://i.howwhatproduce.com/images/001/image-2217-45-j.webp)
![[ไม่บังคับ] คำอธิบายของรหัส [ไม่บังคับ] คำอธิบายของรหัส](https://i.howwhatproduce.com/images/001/image-2217-46-j.webp)
![[ไม่บังคับ] คำอธิบายของรหัส [ไม่บังคับ] คำอธิบายของรหัส](https://i.howwhatproduce.com/images/001/image-2217-47-j.webp)
คุณมีแป้นมาโครที่ทำงานได้อย่างสมบูรณ์ในขั้นตอนนี้ ดังนั้น หากคุณไม่สนใจว่าโค้ดทำงานอย่างไร ให้ข้ามขั้นตอนนี้
การกำหนดค่าไลบรารีปุ่มกด
ในภาพแรก คุณจะเห็นการกำหนดค่าของไลบรารีปุ่มกด หากแป้นกดของคุณมีแถวหรือคอลัมน์มากหรือน้อย คุณจะเปลี่ยนที่นี่อาร์เรย์ "คีย์" ช่วยให้ไลบรารีรู้ว่าควรส่งอักขระใดกลับมาเมื่อกดปุ่ม ดังนั้นหากเมทริกซ์ของคุณมีตัวอักษรแทนตัวเลข คุณสามารถเปลี่ยนที่นี่เพื่อให้ตรงกันได้ ไม่สำคัญหรอกว่าจะมีอะไรอยู่ที่นี่เมื่อคุณตอบสนองต่อการกดปุ่มอย่างเหมาะสม (เพิ่มเติมเกี่ยวกับสิ่งนี้ด้านล่าง) สิ่งต่อไปที่เรามีคือคำจำกัดความของพินสำหรับแถวและคอลัมน์ ซึ่งได้รับการตั้งค่าอย่างถูกต้องแล้วสำหรับการเดินสายที่เรา ทำก่อนหน้านี้ และในที่สุดก็มีตัวสร้างที่เราเริ่มต้นไลบรารีปุ่มกดด้วยการกำหนดค่าทั้งหมด
การอ่านการกดปุ่ม
ในลูป สเก็ตช์จะได้รับไลบรารี่ของคีย์แพดที่กดแล้ว สิ่งที่ส่งคืนคือหนึ่งในอักขระที่เรากำหนดไว้ในอาร์เรย์ "คีย์" ที่สอดคล้องกับตำแหน่งเดียวกับปุ่มที่ถูกกด ดังนั้นหากคีย์เป็นจริง (ตั้งค่าเลย) เราจะใช้คำสั่ง switch เพื่อตรวจสอบว่าปุ่มใดถูกกดและดำเนินการตามที่เราอยากทำ นี่คือเหตุผลที่ไม่สำคัญอะไรในอาร์เรย์คีย์ของคุณ เมื่อคุณทำการตรวจสอบนี้
เมื่อตรวจสอบปุ่มแล้ว จะเรียก SendMacroCommand
"ส่งคำสั่งมาโคร"
SendMacroCommand เป็นวิธีการที่ตัวเลือกทั้งหมดเรียก มันใช้พารามิเตอร์หนึ่งตัวเป็นคีย์ โดยค่าเริ่มต้นนี่คือ f1-f12 จากนั้น a, b, c และ d วิธีการนี้โดยทั่วไปจะจำลองการกดปุ่มต่อไปนี้
- CTRL
- ALT
- กะ
- และกุญแจที่ส่งผ่านเข้ามาเป็นพาราม
ปุ่มเหล่านี้จะไม่ถูกปล่อยออกมาจนกว่าเราจะบอกให้ทำโดยเฉพาะ เราทำสิ่งนี้ที่ส่วนท้ายของลูป
ขั้นตอนที่ 7: การใช้กับ OBS

กรณีใช้งานหลักของฉันสำหรับอุปกรณ์นี้คือใช้กับปุ่มลัดใน OBS (Open Broadcast Studio ซึ่งเป็นซอฟต์แวร์ที่สตรีมเมอร์ใช้เป็นหลัก แต่มีประโยชน์สำหรับการจับภาพวิดีโอบนพีซีของคุณ) ซึ่งจะเป็นประโยชน์สำหรับการเปลี่ยนฉากหรือการเปิดใช้งานองค์ประกอบในฉากที่คุณเลือก
ใน OBS ให้เปิดเมนูการตั้งค่า จากนั้นไปที่ส่วนปุ่มลัด
เลื่อนลงไปที่ตัวเลือกที่คุณต้องการควบคุมด้วยแป้นมาโครของคุณและคลิกในกล่องสีขาว ปุ่มถัดไปที่คุณกดจะเป็นคำสั่งที่เกี่ยวข้องกับการกระทำนี้ ดังนั้นให้ใช้แป้นมาโครเพื่อกดปุ่มใดก็ได้ที่คุณต้องการควบคุมการกระทำนี้
ขั้นตอนที่ 8: สุดยอดคีย์บอร์ด Stackoverflow

เพื่อแสดงให้เห็นว่าคุณสามารถใช้มันสำหรับคำสั่งและทางลัดทั่วไปได้อย่างไร คุณสามารถสร้างคีย์บอร์ด stackoverflow ขั้นสูงสุด หรืออันที่สามารถคัดลอกและวางได้ คำสั่งสำหรับการคัดลอกคือ CTRL + c และคำสั่งสำหรับการวางคือ CTRL + NS
หากต้องการเพิ่มสิ่งนี้ลงในแป้นพิมพ์ ให้แทนที่การโทรไปยังเมธอด SendMacroKeypad ในส่วนการกดปุ่มและแทนที่ด้วยโค้ดในภาพด้านบน เมื่อก่อนจะเหมือนกับว่าคีย์ทั้งสองนี้ถูกกดค้างไว้จนกระทั่งปล่อยออกเมื่อสิ้นสุดลูป
ขั้นตอนที่ 9: แป้นพิมพ์แชทด่วนแบบกำหนดเอง

อีกสิ่งที่เจ๋งมากที่คุณสามารถทำได้ด้วยการตั้งค่านี้คือแทนที่จะเพียงแค่กดปุ่ม คุณสามารถจำลองการพิมพ์ข้อความได้ กรณีการใช้งานที่ดีอาจเป็นแป้นพิมพ์แชทด่วนที่กำหนดเองสำหรับเกม
คำสั่งสำหรับพิมพ์ข้อความคือ keyboard.print keyboard.println ก็ใช้งานได้เหมือนกัน แต่มีอักขระขึ้นบรรทัดใหม่ต่อท้าย
คุณสามารถเห็นตัวอย่างการใช้งานได้ในภาพด้านบน
ภายใต้ตัวเลือกที่ 3 ก็จะพิมพ์ข้อความทันที
ภายใต้ตัวเลือก 4 อันดับแรกจะกดปุ่ม t (ซึ่งจะทำให้สามารถแชทได้ในหลายเกม) จากนั้นพิมพ์ข้อความ คุณอาจพบว่าคุณจำเป็นต้องเพิ่มการหน่วงเวลาระหว่างการกด t และการพิมพ์ข้อความเพื่อให้เวลาในเกมเปิดหน้าจอแชท
ขั้นตอนที่ 10: สรุป
หวังว่าคุณจะพบว่าสิ่งนี้มีประโยชน์! ฉันคิดว่ามีความเป็นไปได้มากมายกับอุปกรณ์เช่นนี้ และหวังว่านี่จะเป็นการแนะนำที่ดีเกี่ยวกับการใช้คำสั่ง HID บน Arduino Pro Micro ของคุณ
คุณจะใช้แป้นพิมพ์มาโครเพื่ออะไร
คุณเคยเห็น Macro Keypads ที่เรียบง่ายกว่านี้ไหม!?
หากคุณมีคำถามใด ๆ ถามได้เลย!
Brian
แนะนำ:
เครื่องวัดอุณหภูมิและความชื้น IoT ที่ง่ายที่สุด: 5 ขั้นตอน (พร้อมรูปภาพ)

เครื่องวัดอุณหภูมิและความชื้น IoT ที่ง่ายที่สุด: เครื่องวัดอุณหภูมิและความชื้น IoT ที่ง่ายที่สุดช่วยให้คุณสามารถรวบรวมอุณหภูมิ ความชื้น และดัชนีความร้อนได้ แล้วส่งไปที่ Adafruit IO
การตรวจสอบ Arduino VESC ที่ง่ายที่สุด: 4 ขั้นตอน

การตรวจสอบ Arduino VESC ที่ง่ายที่สุด: สวัสดี ในโครงการนี้ เราจะทำการตรวจสอบ VESC ที่ง่ายดาย สิ่งนี้จะมีประโยชน์เมื่อคุณต้องการตรวจสอบอุณหภูมิของคุณและค้นหาปัญหาเหมือนที่ฉันมีกับ Vesc ที่ร้อนเกินไป (ซึ่งฉันเพิ่งค้นพบกับจอภาพนี้) หรือคุณสามารถใช้สำหรับ attac
การรดน้ำต้นไม้อัจฉริยะ Arduino ที่ง่ายที่สุด: 7 ขั้นตอน (พร้อมรูปภาพ)

Arduino Smart Plant Watering ที่ง่ายที่สุด: ครั้งสุดท้ายที่เราเขียน instructable เกี่ยวกับวิธีการสร้างระบบรดน้ำต้นไม้อัตโนมัติด้วย Arduino และเซ็นเซอร์ บทความของเราได้รับความสนใจและผลตอบรับที่ดีเป็นอย่างมาก หลังจากนั้น เราคิดว่าเราจะทำให้มันดีขึ้นได้อย่างไร ดูเหมือนว่าโอ
การแปลง Bluetooth Radio Bluetooth ที่ง่ายที่สุด: 5 ขั้นตอน (พร้อมรูปภาพ)

การแปลง Bluetooth Radio Bluetooth ที่ง่ายที่สุด: นี่คือวิทยุ Admiral โบราณปี 1951 ที่ฉันเคยจัดแสดงมาหลายปี ฉันทำความสะอาด ขัดเงา และแปลงเป็นลำโพงบลูทูธ ทั้งโครงการใช้เวลาประมาณ 3 ชั่วโมง
เครื่องคิดเลข Arduino ที่ง่ายที่สุด: 5 ขั้นตอน

เครื่องคิดเลข Arduino ที่ง่ายที่สุด: นี่คือเวอร์ชันของฉันของเครื่องคิดเลข Arduino ที่เรียบง่ายที่สุดเท่าที่เคยมีมา เหมาะสำหรับผู้เริ่มต้นเป็นโครงการสำหรับผู้เริ่มใช้งาน Arduino ไม่เพียงแต่โครงการนี้จะมีราคาถูกมากภายใน 40$s