สารบัญ:

เกมถอดรหัส, กล่องปริศนาจาก Arduino: 4 ขั้นตอน (พร้อมรูปภาพ)
เกมถอดรหัส, กล่องปริศนาจาก Arduino: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เกมถอดรหัส, กล่องปริศนาจาก Arduino: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เกมถอดรหัส, กล่องปริศนาจาก Arduino: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ถอดรหัสด้วยคณิตศาสตร์...โคตรรหัสผ่าน 4 (END) 2024, กรกฎาคม
Anonim
Image
Image
เกมถอดรหัส, กล่องปริศนาจาก Arduino
เกมถอดรหัส, กล่องปริศนาจาก Arduino
เกมถอดรหัส, กล่องปริศนาจาก Arduino
เกมถอดรหัส, กล่องปริศนาจาก Arduino

โครงการทิงเกอร์แคด »

ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้างเกมถอดรหัสของคุณเองโดยใช้ปุ่มหมุนเข้ารหัสแบบหมุนเพื่อเดารหัสที่สร้างแบบสุ่มไปยังตู้นิรภัย มีไฟ LED 8 ดวงที่ด้านหน้าของตู้นิรภัยเพื่อบอกคุณว่าตัวเลขที่คุณเดาได้ถูกต้องกี่ตัวและจำนวนตำแหน่งที่ถูกต้องเช่นกัน

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

ไฟ LED สีแดงแสดงตัวเลขที่ถูกต้อง และ LED สีเขียวแสดงว่าอยู่ในตำแหน่งที่ถูกต้องด้วย ดังนั้นคุณต้องเปิดไฟ LED สีแดงและสีเขียวทั้งสี่ดวงเพื่อถอดรหัสและเปิดตู้นิรภัย

ตู้เซฟจะติดตามจำนวนการเดาที่คุณทำเพื่อถอดรหัสรหัส และสิ่งนี้จะปรากฏขึ้นเมื่อคุณจัดการถอดรหัสได้แล้ว อาจฟังดูซับซ้อนในตอนแรก แต่จริงๆ แล้วมันก็ไม่ได้ยากขนาดนั้น คุณเพียงแค่ต้องจำและสร้างจากการคาดเดาครั้งก่อนของคุณ โดยส่วนใหญ่แล้ว คุณควรจะสามารถถอดรหัสรหัสได้จากการเดา 5 ถึง 10 ครั้ง ขึ้นอยู่กับว่าการเดาครั้งแรกของคุณนั้นโชคดีแค่ไหน

หากคุณชอบคำแนะนำนี้ โปรดพิจารณาลงคะแนนในการประกวด Arduino

เสบียง

ในการสร้างตู้เซฟ Crack The Code คุณจะต้อง:

  • Arduino Uno - ซื้อที่นี่
  • จอแสดงผล I2C OLED – ซื้อที่นี่
  • ตัวเข้ารหัสปุ่มกด – ซื้อที่นี่
  • ไฟ LED สีแดงขนาด 4 x 5 มม. – ซื้อที่นี่
  • ไฟ LED สีเขียว 4 x 5 มม. – ซื้อที่นี่
  • ตัวต้านทาน 8 x 220Ω – ซื้อที่นี่
  • ไมโครเซอร์โว – ซื้อที่นี่
  • สายริบบิ้น - ซื้อที่นี่
  • แถบส่วนหัว - ซื้อที่นี่
  • สวิตช์ไฟ - ซื้อที่นี่
  • แผ่น MDF 3 มม. - ซื้อที่นี่

คุณจะต้องใช้เครื่องมือพื้นฐาน กาวไม้ ปืนกาว และหัวแร้ง

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

นี่คือเครื่องตัดเลเซอร์ที่ฉันใช้ใน Instructable - K40 Laser Cutter

ขั้นตอนที่ 1: ประกอบกล่อง

ประกอบกล่อง
ประกอบกล่อง
ประกอบกล่อง
ประกอบกล่อง
ประกอบกล่อง
ประกอบกล่อง
ประกอบกล่อง
ประกอบกล่อง

ฉันออกแบบตู้เซฟใน Inkscape ให้ตัดจาก MDF 3 มม. คุณสามารถตัดชิ้นส่วนจากอะครีลิกหรือไม้อัด 3 มม. ได้หากต้องการ หากคุณใช้วัสดุที่มีความหนาต่างกัน คุณจะต้องปรับช่องในส่วนประกอบกล่องให้พอดีกันอย่างถูกต้อง

คุณสามารถดาวน์โหลดไฟล์ตัดเลเซอร์ได้ที่นี่

ด้านนอกกล่องมี 6 แผง ด้านหลังและด้านหน้ามีช่องเจาะสำหรับประตูหน้าและหลัง แผงต่างๆ จะติดป้ายกำกับไว้ในไฟล์พิมพ์เพื่อให้คุณสามารถติดตามได้

หน้าปัดยังทำขึ้นโดยใช้ชิ้นส่วนที่ตัดด้วยเลเซอร์ซึ่งติดกาวเข้าด้วยกัน

มีแผงตกแต่งสามแผ่นติดอยู่ที่ด้านบนและด้านข้างของกล่องเพื่อให้ดูเหมือนตู้เซฟมากขึ้น นอกจากนี้ยังมีแผงสองแผงที่ประกอบเป็นประตูและแผงกั้นที่อยู่ตรงกลางกล่องเพื่อแยกส่วนตู้นิรภัยออกจากช่องอิเล็กทรอนิกส์

ชิ้นงานพอดีกับแผ่น MDF 400 x 500 มม. ชิ้นเดียวและสามารถแบ่งออกเป็นชิ้นเล็ก ๆ ได้หากเครื่องตัดเลเซอร์ของคุณไม่ใหญ่พอที่จะตัดชิ้นส่วนทั้งหมดในคราวเดียว

ฉันเริ่มติดแผ่นตกแต่งด้านบนและด้านข้างก่อน ตรวจสอบให้แน่ใจว่าคุณได้ชิ้นส่วนในลำดับที่ถูกต้อง เพื่อให้คุณรู้ว่าชิ้นไหนเป็นชิ้นไหน มีสามชิ้นที่แตกต่างกัน ด้านบนและด้านล่างเหมือนกัน ด้านข้างเหมือนกัน และด้านหน้าและด้านหลังเหมือนกัน

เมื่อแผงแห้งแล้ว คุณสามารถประกอบกล่องได้

ตรวจสอบให้แน่ใจว่าช่องเจาะสำหรับตัวแบ่งตรงกลางอยู่ด้านข้าง สิ่งเหล่านี้คือการเดินสายไฟจากด้านหน้าของกล่องไปยังด้านหลังของกล่องที่ Arduino และแบตเตอรี่ตั้งอยู่

บานพับยังตัดด้วยเลเซอร์และติดกาวให้เข้าที่เมื่อคุณเข้าแถวประตูแล้ว ตรวจสอบให้แน่ใจว่าขนานกับประตู มิฉะนั้นคุณจะมีปัญหาในการเปิด คุณอาจจำเป็นต้องขัดขอบบานพับด้านในของประตูเล็กน้อยเพื่อไม่ให้มันเสียดสีกับขอบกล่องขณะที่มันเคลื่อนผ่าน

กาวสี่เหลี่ยมทั้งสี่ที่มุมด้านหลังแผงด้านหลังเพื่อเจาะรูสกรูสำหรับปกหลัง

จากนั้นคุณสามารถเจาะรูสำหรับสกรูและเริ่มติดตั้งหน้าจอ, Arduino, ฝาหลัง และสุดท้ายคือตัวเข้ารหัส

ขั้นตอนที่ 2: เชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์

เชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์
เชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์
เชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์
เชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์
เชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์
เชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์

ฉันออกแบบวงจรบนเขียงหั่นขนมใน Tinkercad Circuits และเพิ่มในจอแสดงผล OLED ในภายหลัง

เรามี LED 8 ดวงที่เชื่อมต่อกับหมุด IO แบบดิจิตอล 6 ถึง 13 เซอร์โวล็อคเชื่อมต่อกับพิน 5 ตัวเข้ารหัสที่เชื่อมต่อกับพิน 2, 3 และ 4 และจอแสดงผล OLED เชื่อมต่อกับอินเทอร์เฟซ I2C ของ Arduino

ฉันใช้ตัวต้านทาน 220 โอห์มสำหรับ LED แต่ละตัว บัดกรีโดยตรงบนไฟ LED เชิงลบ และฉันเชื่อมต่อส่วนประกอบต่างๆ เข้าด้วยกันโดยใช้สายริบบิ้นสีเพื่อให้การเดินสายเป็นระเบียบเรียบร้อย และเพื่อช่วยติดตามว่าต้องใช้สายใดกับขา Arduino แต่ละอัน

ฉันดันสายริบบิ้นผ่านไปยังช่องด้านหลังและบัดกรีแถบส่วนหัวของพินบนสายริบบิ้นเพื่อเสียบเข้ากับ Arduino

ฉันยังติดตั้งสวิตช์เปิดปิดที่ฝาหลังและเชื่อมต่อกับปลั๊กแบตเตอรี่เพื่อเชื่อมต่อกับแบตเตอรี่แบบชาร์จไฟได้เพื่อจ่ายไฟให้กับเกม คุณสามารถใช้แบตเตอรี่ 9V ได้หากต้องการ

สุดท้าย คุณจะต้องจัดตำแหน่งเซอร์โวล็อคไว้ที่ขอบประตูเพื่อให้ผ่านริมฝีปากในกล่อง และแขนสามารถดันขึ้นไปกับด้านในของริมฝีปากเพื่อล็อคกล่องได้ นี่ไม่ใช่กลไกการล็อคที่แข็งแกร่งที่สุด แต่มันง่ายมากและทำงานได้ดีสำหรับจุดประสงค์ของเกม

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

การเขียนโปรแกรม Arduino
การเขียนโปรแกรม Arduino
การเขียนโปรแกรม Arduino
การเขียนโปรแกรม Arduino

ฉันจะไม่อ่านโค้ดอย่างละเอียดเหมือนปกติเพราะมันมีอีกมาก ฉันได้เขียนรายละเอียดอธิบายแต่ละส่วนแล้ว ซึ่งคุณสามารถหาได้พร้อมกับการดาวน์โหลดโค้ดผ่านลิงก์นี้ - แคร็กโค้ดเกม

สรุป; เราเริ่มต้นด้วยการนำเข้าไลบรารีเพื่อควบคุมจอแสดงผล OLED และเซอร์โว

จากนั้นเราตั้งค่าพารามิเตอร์สำหรับการแสดงผลและสร้างตัวแปรทั้งหมดของเรา มีตัวแปรค่อนข้างน้อยสำหรับการติดตามการเปลี่ยนตัวเข้ารหัส เนื่องจากสิ่งเหล่านี้ทำผ่านการขัดจังหวะขอบที่เพิ่มขึ้นบนพิน 2 และ 3

มีการสร้างอาร์เรย์รหัสสองชุดเพื่อจัดเก็บรหัสที่สร้างแบบสุ่มและอีกชุดหนึ่งสำหรับจัดเก็บการคาดเดาของผู้ใช้ในปัจจุบัน

ในฟังก์ชันการตั้งค่า เราเริ่มการแสดงผล แนบเซอร์โว ตั้งค่าโหมดพิน IO จากนั้นแสดงแอนิเมชั่นข้อความ Crack The Code บนจอแสดงผล

ฟังก์ชันวนรอบจะกะพริบไฟ LED และแสดงข้อความกดเพื่อล็อคตู้นิรภัย จากนั้นรอจนกว่าผู้ใช้จะกดแป้นหมุนเพื่อเริ่มเกม รหัสเดียวกันจะรันเมื่อสิ้นสุดเกม ซึ่งจะแสดงจำนวนครั้งของการพยายามและรอการกดแป้นเพื่อเริ่มเกมใหม่

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

มีฟังก์ชันสำหรับอัปเดตโค้ดที่แสดงอยู่ ซึ่งจะเรียกทุกครั้งที่เปลี่ยนตัวเข้ารหัสและจำเป็นต้องเปลี่ยนโค้ดที่แสดง

ฟังก์ชันในการสร้างรหัสใหม่เพียงแค่กำหนดตัวเลขสุ่มให้กับองค์ประกอบทั้งสี่ในอาร์เรย์ของโค้ด

ฟังก์ชันป้อนรหัสเดาทำให้ผู้ใช้สามารถเลือกตัวเลขโดยใช้ตัวเข้ารหัส จากนั้นยืนยันการป้อนแต่ละหลักโดยการกดตัวเข้ารหัสลง

ฟังก์ชันเดารหัสตรวจสอบจะตรวจสอบรหัสที่เดาและตัดสินว่าตัวเลขถูกต้องกี่หลักและจำนวนตำแหน่งที่ถูกต้อง

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

ฟังก์ชัน ani เริ่มต้นจะแสดงแอนิเมชั่น Crack The Code เมื่อเริ่มต้น

สุดท้าย ฟังก์ชันขัดจังหวะสองฟังก์ชันจะจัดการอินพุตจากตัวเข้ารหัส โดยฟังก์ชันหนึ่งจะเพิ่มตัวเลขขึ้นด้านบนเมื่อหมุนตามเข็มนาฬิกา และอีกฟังก์ชันหนึ่งลงเมื่อหมุนทวนเข็มนาฬิกา

ขั้นตอนที่ 4: เล่นเกมแคร็กรหัส

เล่นเกมแคร็กเดอะโค้ด
เล่นเกมแคร็กเดอะโค้ด
เล่นเกมแคร็กเดอะโค้ด
เล่นเกมแคร็กเดอะโค้ด
เล่นเกมแคร็กเดอะโค้ด
เล่นเกมแคร็กเดอะโค้ด
เล่นเกมแคร็กเดอะโค้ด
เล่นเกมแคร็กเดอะโค้ด

วิธีที่ดีที่สุดในการเรียนรู้วิธีเล่นเกมคือการดูวิดีโอในตอนเริ่มต้น มีตัวอย่างเกมที่กำลังเล่นอยู่สองตัวอย่างในตอนท้าย

ตู้เซฟถูกปลดล็อคในขั้นต้น ให้คุณใส่ของบางอย่างข้างในได้

จากนั้นคุณกดแป้นหมุนเพื่อล็อคตู้นิรภัยและสร้างรหัสใหม่

รหัสที่เดาจะถูกป้อนโดยใช้แป้นหมุนเพื่อเพิ่มตัวเลข และกดที่แป้นหมุนเพื่อไปยังหลักถัดไป หรือเพื่อยืนยันรหัสเมื่อเลือกตัวเลขทั้งสี่หลักแล้ว

จากนั้นไฟ LED ที่ด้านหน้าจะสว่างขึ้นเพื่อบอกเราว่าสิ่งใดถูกต้องในการเดาของเรา

จากนั้นคุณใช้ข้อเสนอแนะนี้เพื่อคาดเดาครั้งต่อไปจนกว่าคุณจะสามารถเดารหัสที่ถูกต้องและเปิดตู้เซฟได้อีกครั้ง เมื่อคุณใส่รหัสที่ถูกต้องแล้ว ตู้เซฟจะปลดล็อคและจำนวนครั้งที่คุณใช้ในการถอดรหัสนั้นจะแสดงขึ้น

สนุกกับการสร้างตู้เซฟถอดรหัสของคุณเอง หากคุณชอบคำแนะนำนี้ โปรดพิจารณาลงคะแนนในการประกวด Arduino

Arduino Contest 2020
Arduino Contest 2020
Arduino Contest 2020
Arduino Contest 2020

รางวัลที่สองในการประกวด Arduino 2020

แนะนำ: