สารบัญ:
- ขั้นตอนที่ 1: ขั้นตอนที่ 1: รวบรวมเอกสารของคุณ
- ขั้นตอนที่ 2: ขั้นตอนที่ 2: สร้างไฟล์
- ขั้นตอนที่ 3: ขั้นตอนที่ 3: รหัส
- ขั้นตอนที่ 4: ขั้นตอนที่ 4: สร้าง Bistream และ Implement
- ขั้นตอนที่ 5: ปัญหา/การแก้ไขปัญหา
วีดีโอ: ตัวแปลอักษรเป็นรหัสมอร์ส: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
การดูรหัสมอร์สแทนการเรียนรู้ทางออนไลน์นั้นมีประโยชน์ แต่ไม่สามารถเทียบได้กับการได้เห็นตัวจริงด้วยไฟ/เสียงที่กะพริบ นักแปลนี้จะช่วยให้คุณเลือกตัวอักษรที่คุณต้องการเรียนรู้ด้วยรหัสมอร์ส และแปลมันต่อหน้าต่อตาคุณด้วยการกะพริบไฟ LED ในรูปแบบที่แสดงแทนตัวอักษรตัวนั้น! นักแปลนี้ใช้แทนเลขฐานสองของตัวอักษรในตัวอักษร (สามารถเห็นแผนภูมิได้ในภายหลังสำหรับค่าเลขฐานสองของตัวอักษรแต่ละตัว แต่สมมติว่า A - 01, B - 10, C - 11 เป็นต้น) และแปลง ให้เทียบเท่ากับรหัสมอร์สโดยไฟกะพริบสำหรับผู้ใช้ ตัวเลขรุ่นทศนิยมยังแสดงบนจอแสดงผลเจ็ดเซกเมนต์ อย่างไรก็ตาม เพื่อแจ้งให้คุณทราบว่าคุณกำลังสร้างไบนารีที่เทียบเท่าที่ถูกต้อง
เลขฐานสองถูกสร้างขึ้นด้วยสวิตช์ทางด้านขวามือ และขึ้นจากบิตที่มีนัยสำคัญน้อยที่สุด เหมือนกับที่คุณคาดหวังเมื่อสร้างเลขฐานสอง ตัวเลขที่คุณสร้างจะแสดงบนจอแสดงผลทั้งเจ็ดส่วนตามที่ระบุไว้ก่อนหน้านี้และอยู่ทางด้านซ้ายของกระดาน ซึ่งจะบอกคุณได้ง่ายๆ ว่าคุณทำผิดพลาดหรือไม่แสดงแทนเลขฐานสองด้วยสวิตช์ หรือยืนยันว่าคุณทำ หมายเลขที่ถูกต้อง ใช้ตัวอักษรครั้งละ 1 ตัว เก็บไว้ในหน่วยความจำ แล้วพิมพ์รหัสมอร์สเมื่อผู้ใช้พร้อม โดยเปิดใช้งาน "สวิตช์การพิมพ์" ที่ด้านซ้ายสุดของบอร์ด BASYS3 (นี่เป็นเพียงสวิตช์อื่นที่เรา กำหนดให้เป็น "สวิตช์การพิมพ์" หรือสวิตช์อื่นหากใช้บอร์ด FPGA ชนิดอื่นและกำหนดสวิตช์อื่น (ดูขั้นตอนที่ 3) ขอแนะนำให้ใช้บอร์ด BASYS3 เพื่อความง่าย แต่ไม่จำเป็น
ขั้นตอนที่ 1: ขั้นตอนที่ 1: รวบรวมเอกสารของคุณ
สำหรับโครงการนี้ คุณจะต้องมีสิ่งต่อไปนี้เท่านั้น:
ฮาร์ดแวร์ - บอร์ด Basy3 (หรือ FPGA เทียบเท่าที่คุณสามารถต่อสายได้)
- (ตัวเลือก) สายไฟ หากคุณกำลังวางแผนที่จะเชื่อมต่อไฟ LED พิเศษหรือสวิตช์ต่าง ๆ กับ FPGA สำรอง
Software-Vivado Design Suite (เราแนะนำปี 2014+)
ขั้นตอนที่ 2: ขั้นตอนที่ 2: สร้างไฟล์
นี่คือไฟล์ที่เขียนด้วย VHDL เพื่อเรียกใช้โปรแกรมแปล Morse Code 1 Bit ใน Vivado ไฟล์นี้ใช้ได้กับ Vivado ทุกรุ่น หากมีปัญหากับการดาวน์โหลดไฟล์ สามารถพบการแสดงข้อความของรหัสในไฟล์อื่นด้านล่าง และสามารถคัดลอกและวางลงในโฟลเดอร์ไฟล์ที่คุณกำลังสร้างได้อย่างง่ายดาย ตรวจสอบให้แน่ใจว่าทั้งไฟล์ต้นทางหลักและไฟล์ข้อจำกัดมีอยู่และอยู่ในแหล่งที่แยกจากกันก่อนที่จะพยายามสร้างบิตสตรีมหรือสังเคราะห์อะไรก็ตาม สำหรับผู้ที่ต้องการเข้าใจคำอธิบายเชิงลึกของโค้ดและสิ่งที่โค้ดทำจริงๆ ให้ดูที่ขั้นตอนที่ 3 หากคุณต้องการเข้าใจประเด็นและเริ่มแปล ให้ข้ามไปยังส่วนที่ 4
ขั้นตอนที่ 3: ขั้นตอนที่ 3: รหัส
รหัสของเรามี 4 กระบวนการแยกกันซึ่งทั้งหมดทำงานพร้อมกัน แต่ละส่วนย่อยต่อไปนี้ในขั้นตอนนี้จะให้รายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่แต่ละหัวข้อทำ
กระบวนการ 1:
กระบวนการแรกที่เราสร้างขึ้นนั้นใช้ตัวแบ่งนาฬิกาเพื่อทำให้การแสดงเจ็ดส่วนทำงานสำหรับสองส่วน เพื่อแสดงเลขฐานสองที่เทียบเท่ากับตัวอักษรที่บุคคลนั้นสร้างขึ้น เราจำเป็นต้องตรวจสอบให้แน่ใจว่านาฬิกาแสดงตัวเลขอย่างถูกต้องในส่วนเจ็ดส่วนที่เราต้องการ เรากำหนดส่วนต่างๆ ตามลำดับ เพื่อให้แสดงตัวเลขบางตัวเมื่อเราถามพวกเขาด้วย และวนรอบ 2 หลักสุดท้ายเพราะเราต้องการเพียง 2 หลักเพื่อแสดงตัวเลขทั้งหมดในตัวอักษร เราได้แสดงเจ็ดเซกเมนต์ในระบบเลขฐานสิบ เพื่อให้ผู้คนเห็นตัวอักษรที่พวกเขาพยายามจะเป็นตัวแทนได้ง่ายขึ้น เนื่องจากประชากรส่วนใหญ่ใช้ระบบตัวเลขฐาน 10
กระบวนการ 2:
กระบวนการที่สองสร้างนาฬิกาของเราเพื่อให้ LED ทำงาน เพื่อให้เราสามารถเห็นพัลส์ได้ชัดเจนและแยกความแตกต่างระหว่าง Dot และ Dash พร้อมทั้งมีเวลาเพียงพอระหว่างแต่ละส่วนของรหัสมอร์ส เราใช้สัญญาณเพื่อส่งผ่านบัสที่เต็มไปด้วยเอาต์พุต LED ของรหัสมอร์สนอกกระบวนการไปยัง LED บนบอร์ด เพื่อให้เราสามารถจุดไฟได้หลายอันพร้อมกัน แทนที่จะใช้แฟลช LED เพียงอันเดียว
กระบวนการ 3:
กระบวนการที่สามของเราจะพิจารณาสถานะปัจจุบันของสวิตช์และกำหนดตัวอักษรให้กับการแสดงเลขฐานสองในขณะนั้น โดยจะต้องผ่านตัวอักษรแต่ละตัว พร้อมด้วยการเว้นวรรค จุด และลูกน้ำ กระบวนการนี้สิ้นสุดที่นี่ และทุกส่วนจะถูกรวบรวมเป็นกระบวนการที่สี่เพื่อสิ้นสุดการแปล
กระบวนการ 4:
ขั้นตอนที่สี่คือกระบวนการ "ตัวแปล" ซึ่งใช้ข้อมูลทั้งหมดที่เรารวบรวมมาเช่นว่าเปิดใช้งานปุ่มร้านค้าหรือไม่เปิดหรือปิดสวิตช์การพิมพ์หรือไม่และหมายเลขใด แสดงโดยสวิตช์ จากนั้นจะตรวจสอบอาร์เรย์ที่เราทำซึ่งมีการแสดงรหัสมอร์สว่าเอาต์พุตจะเป็นอย่างไรด้วยคำสั่งเปิด/ปิดที่เท่ากับ 1 และ 0 สำหรับ LED แทนที่จะใช้นาฬิการอบการทำงานที่แยกจากกัน เราทำนาฬิการอบการทำงาน 50% ตัวเดียวที่เรารู้สึกว่าเป็นความเร็วที่ดีสำหรับรหัสมอร์ส และให้มันแสดงจุดที่มี "พัลส์" สูง 1 อันและแดช 3 สูง " ชีพจร" เพื่อลดความซับซ้อนของโค้ดและทำให้รันเร็วขึ้น เราเพิ่งสร้าง Dot เท่ากับ "010" และ Dash เท่ากับ "01110"
ขั้นตอนที่ 4: ขั้นตอนที่ 4: สร้าง Bistream และ Implement
โปรเจ็กต์นี้ตั้งค่าได้ง่ายมากหากคุณมีบอร์ด BASYS3 เนื่องจากสวิตช์และปุ่มที่จำเป็นทั้งหมดมีอยู่แล้วบนบอร์ดเพื่อให้คุณใช้งาน พร้อมด้วยข้อจำกัดที่ตั้งไว้ล่วงหน้าสำหรับพินที่คุณต้องการ หากคุณกำลังใช้ FPGA อื่น คุณจะต้องเข้าไปที่โค้ดและค้นหาข้อจำกัดและกำหนดเส้นทางใหม่ไปยังข้อจำกัดที่ถูกต้องสำหรับ FPGA ของคุณ สิ่งนี้ก็เป็นจริงเช่นกัน หากคุณกำลังวางแผนที่จะเชื่อมต่อ LED อื่นๆ และสวิตช์กับบอร์ดของคุณเพื่อใช้งาน เราจะไม่ยกตัวอย่างเรื่องนี้ แต่การใช้คู่มือการใช้งานของ FPGA เฉพาะของคุณจะมีประโยชน์มากในการพิจารณาวิธีการต่อสายและกำหนดเส้นทางทุกอย่างไปยังพินที่ถูกต้อง
ณ จุดนี้ เมื่อคุณดาวน์โหลดโค้ดและเปิดไฟล์แล้ว ให้สร้างบิตสตรีมใน Vivado และตั้งโปรแกรมอุปกรณ์ของคุณ เมื่อคุณมีแล้ว คุณจะสามารถเริ่มป้อนตัวอักษรเพื่อแปลเป็นรหัสมอร์สได้! สนุก!
*หมายเหตุ: "สวิตช์การพิมพ์" อยู่ที่ด้านซ้ายสุดของบอร์ด (สวิตช์ R2 สำหรับบอร์ด BASYS3) และ "ปุ่มจัดเก็บ" คือปุ่ม U18 (ปุ่มตรงกลางในบอร์ด BASYS3) หากนำข้อจำกัดมาจาก โค้ดตัวอย่างของเรา
ขั้นตอนที่ 5: ปัญหา/การแก้ไขปัญหา
หากคุณประสบปัญหาในการดาวน์โหลดไฟล์ คุณสามารถคัดลอกและวางโค้ดด้วยตนเองจากไฟล์คำนี้ นอกจากนี้ยังมีไฟล์แนบให้คุณตรวจสอบการแปลงง่าย ๆ ระหว่างเลขฐานสองเป็นตัวอักษร และตัวอักษรควรแสดงถึงอะไร ดังนั้นเราขอแนะนำให้คุณลองดู! หากคุณกำลังใช้บอร์ด BASYS3 คุณควรปฏิบัติตามคำแนะนำเหล่านี้และดาวน์โหลดโค้ดโดยไม่มีปัญหาใดๆ และใช้งานได้โดยไม่มีปัญหาเมื่อคุณเชื่อมต่อบอร์ดและตั้งโปรแกรมแล้ว
*หมายเหตุ: หากคุณพบว่านักแปลของคุณทำงานช้า นี่ถือเป็นเรื่องปกติ! มีการหน่วงเวลาเล็กน้อยระหว่างเมื่อคุณกดพิมพ์ และเมื่อคุณเห็นการแสดงรหัสมอร์ส หากคุณหยุดรอบการทำงานชั่วคราวโดยปิดสวิตช์การพิมพ์ โค้ดจะต้องทำงานให้เสร็จสิ้นก่อนที่จะพิมพ์ตัวอักษรใหม่ ปล่อยให้คุณรอให้วงจรสิ้นสุดลงและตัวอักษรตัวต่อไปจะเริ่มขึ้น
แนะนำ:
การออกแบบเกมในการสะบัดใน 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 ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง