สารบัญ:

Arduino Chessclock: 6 ขั้นตอน
Arduino Chessclock: 6 ขั้นตอน

วีดีโอ: Arduino Chessclock: 6 ขั้นตอน

วีดีโอ: Arduino Chessclock: 6 ขั้นตอน
วีดีโอ: World's largest chess board | Magnus vs Vishy vs Anish | Norway Chess 2024, กรกฎาคม
Anonim
Arduino Chessclock
Arduino Chessclock

ฉันไม่พบคำแนะนำเกี่ยวกับนาฬิกาหมากรุก Arduino ที่ดี ดังนั้นฉันจึงสร้างนาฬิกาของตัวเองขึ้นมาแทน ซึ่งฉันจะอธิบายที่นี่

ขั้นตอนที่ 1: รายการชิ้นส่วน

ส่วนรายการ
ส่วนรายการ

นี่คือสิ่งที่คุณต้องการ: Arduino nano (หรือประเภท Arduino UNO ใด ๆ ที่จะทำ) หัวแร้งบัดกรี บอร์ด PCB หรือบอร์ด vero ที่ใส่แบตเตอรี่ AA แบบคู่ 2 ตัว ตัวต้านทาน 3 X 10k OHM ตัวยึดฟิวส์ หมุดดิน 2 ตัวจากปลั๊ก UK 2 ตัว 2 X 4 ส่วน 7 หลักแสดงออด 1 สวิตช์สลับ 1 ปุ่มขนาดเล็ก (กดเพื่อสร้างประเภท) สายเคเบิล USB 1 (หรืออะไรก็ตามที่เหมาะกับ Arduino ของคุณ) อุปกรณ์ไมโครโฟนและน็อต สำหรับสิ่งนี้ฉันเสนอราคาและได้รับรางวัล meccano set บน ebay และใช้สิ่งที่ฉันพบ Casing (อุปกรณ์เสริม) breadboard และสายจัมเปอร์ (ตัวเลือก แต่แนะนำให้สร้างต้นแบบก่อน) เวลามากมาย! ฉันแนบรูปภาพมาด้วย แต่นี่มาจากอะไหล่ของฉันหลังจากสร้างเสร็จ ดังนั้นส่วนประกอบบางอย่างจึงขาดหายไปตามที่ระบุไว้

ขั้นตอนที่ 2: การสร้างต้นแบบ

การสร้างต้นแบบ
การสร้างต้นแบบ
การสร้างต้นแบบ
การสร้างต้นแบบ

โครงการทั้งหมดสามารถแบ่งออกเป็นส่วนต่าง ๆ เหล่านี้: 1. ทำให้วงจรถูกต้อง 2. โปรแกรม 3. รูปแบบทางกายภาพ ขั้นตอนนี้เป็นทางเลือกเนื่องจากฉันจะให้แผนภาพวงจรแก่คุณ แต่ฉันขอแนะนำอย่างยิ่งให้คุณลองใช้ใน เขียงหั่นขนมก่อนเพราะจะยืนยัน (หรือไม่) ว่าคุณมีชิ้นส่วนทั้งหมดที่คุณต้องการและช่วยให้คุณคิดเกี่ยวกับรูปแบบทางกายภาพของชิ้นส่วนทั้งหมดสำหรับที่อยู่อาศัยหรือฐาน ฉันได้แนบรูปภาพของต้นแบบของฉันไว้ในเขียงหั่นขนมและแผนภาพวงจรที่นี่ หมายเหตุบางประการเกี่ยวกับวงจร: 1. ที่ด้านบนซ้ายของแผนภาพวงจรจะแสดงพินบนจอแสดงผลที่เชื่อมต่อกับเซ็กเมนต์ (แคโทด) หรือตัวเลข (แอโนด) 2. คุณจะสังเกตได้ว่าสำหรับจอแสดงผลแต่ละส่วนนั้น เซ็กเมนต์ (แคโทด) จะเชื่อมต่อกับเซ็กเมนต์ตามลำดับบนจอแสดงผลอื่น เนื่องจากจอแสดงผลเป็นแบบมัลติเพล็กซ์เพื่อแสดงตัวเลขที่ถูกต้อง 3 สวิตช์รีเซ็ตและตัวโยกถูกต่อสายด้วยตัวต้านทานแบบดึงลงเพื่อให้อินพุตต่ำเมื่อไม่ได้กดปุ่มตามลำดับ ดู https://www.arduino.cc/en/tutorial/button สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ 4. วงจรไฟฟ้าแยกออกจากกันอย่างสมบูรณ์ แต่เรียบง่าย เป็นแบตเตอรี่ AA 4 ก้อนแบบอนุกรม โดยมีสวิตช์บัดกรีที่สายสีแดงและสีดำของสาย USB แบบตัด จากนั้นสาย USB จะเข้าสู่ Arduino

ขั้นตอนที่ 3: โปรแกรม

โปรแกรม
โปรแกรม
โปรแกรม
โปรแกรม

เมื่อคุณมีมันบนเขียงหั่นขนมแล้ว คุณต้องเขียนคอนโทรลเลอร์ โชคดีสำหรับคุณ ฉันได้แนบรหัสของฉันไว้ที่นี่ แต่ฉันขอแนะนำให้คุณไปแก้ไขหรือปรับแต่งรหัสนี้ หากคุณกำลังจะเขียนมันตั้งแต่ต้น คุณต้องคิดก่อนว่าหมุดตัวไหนที่จะตั้งเป็นตัวเลข 10 หลักทั้งหมด ฉันได้เขียนโค้ดเพิ่มเติมอีก 2 รูปแบบ แบบหนึ่งสำหรับเมื่อหมดเวลา และอีกอันหนึ่งสำหรับแทน 10 อันในอันเดียว หลัก (ดูภาพ) ขั้นตอนต่อไปคือการคูณตัวเลขเพื่อให้คุณสามารถแสดงตัวเลขหรือรูปแบบที่แตกต่างกันในแต่ละตัวเลข 8 หลัก ฉันปรับความเร็วของมัลติเพล็กซ์จนดูเหมือนถูกต้อง เร็วเกินไป และตัวเลขรวมกันระหว่างตัวเลขใกล้เคียงและช้าเกินไป และด้วยตาเปล่าสามารถสังเกตเห็นมัลติเพล็กซ์ได้ ขั้นตอนต่อไปคือการนับตัวเลขเป็น 2 ชุด 4 หมายเลขแทน 2 นับถอยหลัง ฉันเลือกใช้ตัวเลขหลักแรกเป็นนาที ตัวเลขถัดไปเป็นวินาที และตัวเลขสุดท้ายเป็นวินาที แต่คุณสามารถเลือกให้มี 2 สำหรับนาที และ 2 สำหรับวินาที การนับถอยหลังสามารถปรับเทียบได้ด้วยการวนซ้ำแบบง่ายซึ่งไม่ทำอะไรเลย ดังนั้นการขีด 'วินาที' บนจอแสดงผลจึงเป็นวินาทีจริง ฉันเข้าใกล้ฉันได้มาก แต่ฉันคิดว่ามันไม่สำคัญมากเกินไปสำหรับเกมหมากรุกที่ไม่เป็นทางการหากการเล่นแต่ละครั้งมีจำนวนหน่วยเท่ากัน ฉันเดาว่าคุณอาจต้องการทำให้แม่นยำยิ่งขึ้นหากคุณต้องการใช้นาฬิกาหมากรุกสำหรับการแข่งขันหรือแม้กระทั่งจับเวลาไข่! นาฬิกาจะโหลดเข้าสู่โหมดรีเซ็ตเมื่อเปิดเครื่อง จากนั้นรอให้คนโยกโดนด้านใดด้านหนึ่งและนับถอยหลังจาก (ค่าเริ่มต้น) 5 นาที รหัสจะฟังปุ่มรีเซ็ตเมื่อตัวโยกมีความสมดุล หากถูกกด นาฬิกาจะเข้าสู่โหมดรีเซ็ตอีกครั้ง ณ จุดนี้ ปุ่มรีเซ็ตสามารถใช้เพื่อวนรอบนาทีที่ต้องการสำหรับการเล่นแต่ละครั้งตั้งแต่ 1 ถึง 10 เมื่อเวลาที่ต้องการปรากฏขึ้น โยกโยกอีกครั้งเพื่อเริ่มนาฬิกา สุดท้ายนี้ คุณต้องใช้ทำอะไรเพื่อระบุว่าเวลาหมดในกรณีของฉัน มันแสดงขีดกลางทั้งหมด (-) และเล่นเสียงบี๊บเป็นชุด จากนั้นจะแสดงด้านหนึ่งเป็น 0000 (ผู้แพ้) และอีกด้านหนึ่งเป็นเวลาใดก็ตาม ผู้ชนะไม่ได้ใช้

ขั้นตอนที่ 4: การสร้างทางกายภาพ

การสร้างทางกายภาพ
การสร้างทางกายภาพ

ขั้นตอนต่อไปคือการสร้างทางกายภาพ สวิตช์โยก ชิ้นแรกคือการสร้างสวิตช์โยก สวิตช์นี้ต้องปิดหนึ่งในสองการเชื่อมต่อแต่ต้องไม่ปิดทั้งสองอย่าง อีกทั้งต้องสามารถทรงตัวตรงกลางได้โดยไม่ปิดการเชื่อมต่อ สิ่งนี้จะหยุดนาฬิกา ที่นี่ฉันใช้ไม้ยาวเล็กน้อยแล้วขันหมุดกราวด์แบบอังกฤษที่ปลายทั้งสองข้าง จากนั้นจึงสร้างเดือยตรงกลางเพื่อยกตัวโยกออกจากกระดาน อีกครั้งฉันใช้ ebay meccano ของฉันอย่างกว้างขวางสำหรับบิตนี้ เมื่อติดตั้งตัวโยกเข้ากับบอร์ด หมุดกราวด์จะต้องเข้าไปในคลิปยึดฟิวส์เพื่อปิดการเชื่อมต่อ เพื่อให้มีความรู้สึกที่ราบรื่น ฉันจึงแนบขอบของหมุดกราวด์ลงเพื่อให้เข้าไปในที่ยึดฟิวส์เคลื่อนตัวได้ง่าย (ดูรูป) เลย์เอาต์แรกฉันติดตั้ง PCB เปล่าบนแผ่นที่มองเห็นได้โดยมีช่องว่างสำหรับเดือยของตัวโยก สวิตซ์. จากนั้นฉันก็ถอดมันออกแล้วบัดกรีส่วนประกอบและลวดเข้าด้วยช่องว่างเดียวกัน ถ้าคุณไม่ทำเช่นนี้ คุณอาจพบว่าเป็นการยากที่จะยึดแผ่นที่เป็นผลลัพธ์กลับเข้าที่ฐาน วาดเค้าโครงบนกระดาษก่อน และจำไว้ว่า: - ด้าน 'ขึ้น' ของตัวโยกแต่ละตัวจะสูงแค่ไหนสำหรับตัวเรือน - ส่วนประกอบบางอย่าง เช่น ที่ใส่แบตเตอรี่และพอร์ต USB ของ Arduino จะต้องสามารถเข้าถึงได้หลังจากเสร็จสิ้น - หากสวิตช์จำเป็น ติดตั้งบนฝาของตัวเครื่องแล้วต่อสายไฟเข้ากับขั้วต่อเพื่อให้สามารถถอดฝาออกได้อย่างสมบูรณ์ (ของฉันมีเพียงบานพับ แต่ฉันทำอยู่แล้ว) - ฉันเอียงจอแสดงผล 7 ส่วนโดยขยายหมุดที่ด้านใดด้านหนึ่งด้วยลวดฟิวส์ซึ่งช่วยให้ด้านนั้นนั่งสูงขึ้นจากกระดานบ้านฉันวางแผนที่จะสร้างที่อยู่อาศัยแบบกำหนดเอง แต่ ในท้ายที่สุด ฉันไม่มีเวลาเพียงพอและช่องมองภาพก็ตัดยาก ฉันจึงซื้อกล่องที่มีขนาดใกล้เคียงกับที่ฉันต้องการและดัดแปลงเล็กน้อย ฉันคิดว่ามันดีที่จะมีเคสแบบโปร่งใสเพื่อให้มองเห็นการทำงานได้ แต่ตรวจสอบให้แน่ใจว่าแบตเตอรี่และพอร์ต USB ยังคงมีให้สำหรับการปรับแต่งโปรแกรม แค่นั้นแหละสนุกและโชคดี!

ขั้นตอนที่ 5: ตัวเลือกอื่นๆ…

การปรับปรุงหรือตัวเลือกที่เป็นไปได้: - เล่นบี๊บตามลำดับที่แตกต่างกันขึ้นอยู่กับว่าฝ่ายใดชนะ - เล่นเพลงเมื่อเสร็จสิ้น ฉันเชื่อว่าสิ่งนี้เป็นไปได้ด้วยหมุดอะนาล็อกและออดที่เหมาะสม - รูปแบบการจับเวลาหมากรุกอย่างเป็นทางการที่แตกต่างกัน (เช่น เพิ่มเวลาสำหรับการเคลื่อนไหวแต่ละครั้งที่เล่น) - ใช้ 7 ส่วนเป็น 2 หลักสำหรับนาทีและ 2 สำหรับวินาที

ขั้นตอนที่ 6: อัปเดต 2019

2019 อัพเดท!
2019 อัพเดท!
2019 อัพเดท!
2019 อัพเดท!
2019 อัพเดท!
2019 อัพเดท!

ดังนั้นฉันจึงกลับไปที่ Instructable แรกของฉันและทำนาฬิกาหมากรุกนี้อีกครั้ง!

ฉันทำตามขั้นตอนเดียวกันไม่มากก็น้อย แต่มีการปรับปรุงดังต่อไปนี้:

การสร้างทางกายภาพ

  • โครงสร้างทั้งหมดกะทัดรัดกว่าและบนฐานไม้ (ดูรูป)
  • เปลี่ยนเป็นแบตเตอรี่ 9v ก้อนเดียวที่เชื่อมต่อโดยตรงกับ VIN และ GND โดยสวิตช์
  • สวิตช์โยกเป็นแบบแมคแคนโนที่แต่ละด้านถูกกดไว้เมื่อกดด้วยแม่เหล็กแรงสูง

รหัส

ฉันยังปรับปรุงโค้ดที่แนบมาที่นี่ด้วย การปรับปรุงคือ:

  • เลิกแสดงวินาทีที่ 10 และเลื่อนตัวเลขไปทางขวา
  • ที่เพิ่มเข้ามา เพิ่ม 5 นาทีบวก 5 วินาทีต่อการเคลื่อนไหวและ 10 นาทีบวก 5 วินาทีต่อการเคลื่อนไหวเป็นตัวเลือก

เพิ่มคูเป้ของเส้นเพื่อสลับการแสดงผล (LR) หากคุณพบว่าหลังจากสร้างที่สวิตช์โยกไม่เริ่มนาฬิกาที่ถูกต้อง

วงจร

แนะนำ: