สารบัญ:

ปุ่มกด 4x4 พร้อม Arduino และการประมวลผล: 4 ขั้นตอน (พร้อมรูปภาพ)
ปุ่มกด 4x4 พร้อม Arduino และการประมวลผล: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ปุ่มกด 4x4 พร้อม Arduino และการประมวลผล: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ปุ่มกด 4x4 พร้อม Arduino และการประมวลผล: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Arduino & Microcontroller การพัฒนาระบบอัตโนมัติด้วย Tinkercad ตอนที่ 4 ควบคุมความเร็วไฟวิ่งด้วย VR 2024, พฤศจิกายน
Anonim
ปุ่มกด 4x4 พร้อม Arduino และการประมวลผล
ปุ่มกด 4x4 พร้อม Arduino และการประมวลผล
ปุ่มกด 4x4 พร้อม Arduino และการประมวลผล
ปุ่มกด 4x4 พร้อม Arduino และการประมวลผล
ปุ่มกด 4x4 พร้อม Arduino และการประมวลผล
ปุ่มกด 4x4 พร้อม Arduino และการประมวลผล

ไม่ชอบจอ LCD?

ต้องการทำให้โครงการของคุณดูน่าสนใจ?

นี่คือวิธีแก้ปัญหา ในคำแนะนำนี้ คุณจะสามารถปลดปล่อยตัวเองจากความยุ่งยากในการใช้หน้าจอ LCD เพื่อแสดงเนื้อหาจาก Arduino ของคุณ และยังทำให้โครงการของคุณดูดีด้วยซอฟต์แวร์ GUI ที่น่าตื่นตาตื่นใจและฟรีที่เรียกว่าการประมวลผล เมื่อสิ้นสุดโครงการนี้ คุณจะสามารถเชื่อมต่อแป้นพิมพ์ประเภทต่างๆ กับ Arduino และทำความคุ้นเคยกับการประมวลผล

คุณสามารถทำอะไรกับสิ่งนี้ได้บ้าง

  • ปุ่มกดอินเทอร์เฟซ 4x4 พร้อม Arduino
  • สร้างอินเทอร์เฟซแบบกราฟิกที่คุณเลือก

สิ่งที่คุณจะได้เรียนรู้จากสิ่งนี้

  • เชื่อมต่อปุ่มกดใดๆ กับ Arduino
  • ซอฟต์แวร์ประมวลผล
  • การสื่อสารระหว่างการประมวลผลกับ Arduino

ขั้นตอนที่ 1: อะไหล่ที่จำเป็น

คุณจะต้องใช้ชิ้นส่วนต่อไปนี้สำหรับโครงการนี้:

  1. Arduino (Arduino ใด ๆ จะทำ)
  2. ปุ่มกด (อาจเป็น 4x4 หรือ 4x3 ฉันเคยใช้ปุ่มกด 4x4)
  3. ซอฟต์แวร์ประมวลผล
  4. ห้องสมุดปุ่มกด

นี่คือลิงค์หากคุณไม่มีซอฟต์แวร์

Arduino IDE

กำลังประมวลผล

แตกไฟล์ zip และย้ายไปยังโฟลเดอร์ไลบรารีใน Arduino หลังจากทำเช่นนั้น คุณควรจะสามารถดูตัวอย่างภาพสเก็ตช์ใน Arduino IDE ได้

ขั้นตอนที่ 2: การทำงาน

การทำงาน
การทำงาน
การทำงาน
การทำงาน

มาทำความเข้าใจวิธีการทำงานของปุ่มกดกันก่อน

ปุ่มกดทำงานบนหลักการง่ายๆ ของสวิตช์ นั่นคือ วงจรจะสมบูรณ์เมื่อกดสวิตช์

เรากำหนดพินของแถวด้วย HIGH หรือ VCC และพินของคอลัมน์ด้วย LOW หรือ GND สามารถทำได้ด้วยความช่วยเหลือของหมุด GPIO บน Arduino จากนั้นเราคอยตรวจสอบพินของคอลัมน์เพื่อหาการเปลี่ยนแปลงอินพุต

สมมติว่าเรากด 1 บนแป้นพิมพ์ จากนั้นตามแผนภาพจะอยู่ที่ r1, c1 ดังนั้นถ้าเราให้ค่า HIGH แก่แถวที่ 1 คอลัมน์ที่ 1 จะอ่านค่า HIGH บนพิน นี่คือวิธีที่เราจะสามารถทราบได้ว่ามีการกดปุ่มใด เนื่องจากมีเพียงแถวที่ 1 เท่านั้นที่ให้ HIGH เราจึงแน่ใจได้ 100% ว่ากด r1, c1 แล้ว นี่คือวิธีที่คุณสามารถแมปคีย์ทั้งหมดได้

หากคุณต้องการคำอธิบายเพิ่มเติมหรือนี่ยังไม่พอ มีวิดีโอมากมายบน youtube ที่อธิบายการทำงานของปุ่มกดง่ายๆ คุณสามารถดูได้หากต้องการ

ขั้นตอนที่ 3: การประมวลผล

กำลังประมวลผล
กำลังประมวลผล
กำลังประมวลผล
กำลังประมวลผล
กำลังประมวลผล
กำลังประมวลผล

ทีนี้มาเริ่มกันที่ส่วน GUI สำหรับสิ่งนี้เราจะใช้ซอฟต์แวร์ที่เรียกว่าการประมวลผล ฉันได้ให้ลิงก์ไว้ในขั้นตอนที่ 1

โดยพื้นฐานแล้วเราจะเห็นภาพผลลัพธ์จาก Arduino ภาพแรกเป็นลักษณะของปุ่มกดจากโค้ดที่ตามมา เมื่อคุณคุ้นเคยกับการประมวลผลแล้ว คุณสามารถสร้างปุ่มกดของคุณเองได้

ตอนนี้จะอธิบายรหัส มันค่อนข้างง่ายเพราะคำอธิบายสำหรับฟังก์ชั่นทั้งหมดสามารถพบได้ในไซต์การประมวลผล

ในภาพที่สอง คุณจะเห็นว่าฉันได้ตั้งค่าไลบรารีที่จำเป็นทั้งหมดแล้ว และในการตั้งค่า void () ฉันได้เริ่มต้นหน้าต่าง แบบอักษรข้อความ และพอร์ตอนุกรม

รูปที่สามคือที่ที่ฉันทำปุ่มกดจริงๆ เพิ่มปุ่มทั้งหมด สี่เหลี่ยม จอภาพ ฯลฯ

ภาพที่สี่มีเงื่อนไขว่าเมื่อเรารับอินพุตผ่านการเชื่อมต่อแบบอนุกรม โดยพื้นฐานแล้วฉันทำให้ปุ่มสั่นไหวเพื่อให้ดูเหมือนว่ามีการกดปุ่ม

ภาพสุดท้ายเป็นที่ที่เหตุการณ์ต่อเนื่องเกิดขึ้น และนี่คือที่ที่เราได้รับข้อมูลของเรา

ขั้นตอนที่ 4: การเชื่อมต่อ รหัส Arduino และคำอธิบาย

Image
Image
การเชื่อมต่อ รหัส Arduino และคำอธิบาย
การเชื่อมต่อ รหัส Arduino และคำอธิบาย
การเชื่อมต่อ รหัส Arduino และคำอธิบาย
การเชื่อมต่อ รหัส Arduino และคำอธิบาย

หากต้องการเชื่อมต่อให้ถือแผงปุ่มกดโดยให้กุญแจหันไปทางคุณ จากซ้ายไปแบบนี้ R0, R1, R2….

R0 -- พิน 2

R1--- พิน 3

R2--- พิน 4

R3--- พิน 5

C0--- พิน 6

C1--- พิน 7

C2--- พิน 8

C3--- พิน 9

ตอนนี้ให้เราดูรหัส Arduino มันไม่มีอะไรผิดปกติ ตามปกติในการตั้งค่าเป็นโมฆะ () คุณเริ่มการสื่อสารแบบอนุกรมด้วย 9600 เป็นอัตราบอด จากนั้นใน void loop() ฉันใช้ตัวแปรเพื่อรับและเก็บค่าจากปุ่มกด ค่านี้ที่ฉันส่งผ่านพอร์ตอนุกรมโดยมีการหยุดเต็มหลังจากนั้น เพื่อให้ง่ายต่อการระบุจุดสิ้นสุดของข้อมูลในการประมวลผล เราทำสิ่งนี้เพื่อไม่ให้พอร์ตอนุกรมค้นหาจุดสิ้นสุดของข้อมูล ในการประมวลผล เราใช้บัฟเฟอร์คำสั่งจนกว่าจะเห็นจุดหยุดทั้งหมด ในวิดีโอต่อไปนี้ ฉันได้ให้คำอธิบายโดยละเอียดเกี่ยวกับกระบวนการ

แค่นั้นแหละ. แยกไฟล์ทั้งหมด ทำการเชื่อมต่อ และเพลิดเพลิน

ขอขอบคุณ.

แนะนำ: