สารบัญ:
- ขั้นตอนที่ 1: การพัฒนารูปแบบการทำงาน
- ขั้นตอนที่ 2: รวบรวมส่วนประกอบ
- ขั้นตอนที่ 3: การสร้างอุปสรรค: Part-A
- ขั้นตอนที่ 4: การสร้างอุปสรรค: Part-B
- ขั้นตอนที่ 5: กระโดดและผลลัพธ์
- ขั้นตอนที่ 6: เล่นอย่างมีความสุข
วีดีโอ: เกม Dot Jump (โดยไม่ต้องใช้ Arduino): 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
ภาพรวม
สวัสดี! ฉันชื่อ Shivansh นักเรียนที่ IIIT-Hyderabad ฉันมาที่นี่พร้อมคำแนะนำแรกของฉันซึ่งเป็นเกมที่ได้รับแรงบันดาลใจจากเกม Dinosaur Jump ของ Google Chrome เกมนี้เรียบง่าย: กระโดดข้ามสิ่งกีดขวางที่เข้ามาเพื่อทำคะแนน หากคุณชนกัน ถือว่าคุณแพ้และคะแนนจะรีเซ็ต
คุณลักษณะเด่นของโครงการนี้คือไม่มีการใช้ Arduino หรือไมโครคอนโทรลเลอร์อื่นใด ได้มาจากส่วนประกอบทางไฟฟ้าพื้นฐานล้วนๆ และเกี่ยวข้องกับการใช้งาน Finite State Machines (FSM) ด้วยความช่วยเหลือของไดอะแกรมลอจิก ฯลฯ
สนใจ? มาเริ่มกันเลย.
ข้อกำหนดเบื้องต้น:
- ความรู้พื้นฐานเกี่ยวกับส่วนประกอบทางไฟฟ้า เช่น ตัวต้านทาน ตัวเก็บประจุ วงจรรวม (ICs)
- ความรู้พื้นฐานเกี่ยวกับลอจิกเกตส์ (AND, OR, NOT, ฯลฯ)
- ความรู้เกี่ยวกับการทำงานของ Flip-Flop, Counter, Multiplexer เป็นต้น
หมายเหตุ: ข้อกำหนดเบื้องต้นที่ระบุไว้ข้างต้นมีไว้สำหรับการทำความเข้าใจการทำงานทั้งหมดของโครงการ ผู้ที่ไม่มีความรู้เชิงลึกในเรื่องเดียวกันก็สามารถสร้างโครงการตามขั้นตอนในคำแนะนำได้
ขั้นตอนที่ 1: การพัฒนารูปแบบการทำงาน
งานแรกคือการสร้างแบบจำลองการทำงานสำหรับโครงการ เมื่อนั้นเราสามารถตัดสินใจเลือกวัสดุที่จำเป็นสำหรับโครงการได้ โครงการทั้งหมดสามารถแบ่งออกเป็นสามส่วน
Part-1: การสร้างอุปสรรค
ประการแรก เราต้องสร้างสิ่งกีดขวางแบบสุ่มเพื่อให้ Dot กระโดดข้ามไปได้ อุปสรรคจะอยู่ในรูปแบบของดอตพัลส์ซึ่งย้ายจากปลายด้านหนึ่งของอาร์เรย์ LED ไปอีกด้านหนึ่ง
ในการสร้างสิ่งกีดขวาง เราใช้วงจรจับเวลาสองวงจร (แนบแผนภาพวงจร) วงจรหนึ่งมีความถี่สูง (ตัวตั้งเวลา HF) และอีกวงจรหนึ่งมีความถี่ต่ำ (ตัวตั้งเวลา LF) ส่วน 'การสุ่ม' ถูกจัดการโดย HF Timer ซึ่งจะเห็นเอาต์พุตในทุกขอบที่เพิ่มขึ้นของตัวจับเวลา LF (ซึ่งใช้เป็นอินพุต CLK) คำแนะนำการสร้างอุปสรรคคือสถานะของตัวจับเวลา HF ในทุกขอบที่เพิ่มขึ้นของตัวจับเวลา LF (1 -> สร้างอุปสรรค | 0 -> อย่าสร้างอุปสรรค) HF Timer จะถูกรีเซ็ตในทุก 'JUMP' เพื่อให้แน่ใจว่ามีการสร้างสิ่งกีดขวางแบบสุ่ม เอาต์พุตของ HF Timer ถูกกำหนดเป็นอินพุต D ไปยัง D Flip Flop (สำหรับการจัดเก็บคำสั่งสำหรับรอบถัดไป) โดยมีอินพุต CLK เป็นเอาต์พุต LF Timer
เมื่อคำสั่งไบนารีสำหรับการสร้างสิ่งกีดขวางหมดลง เราจำเป็นต้องสร้าง 'พัลส์อุปสรรค' บน LED Array เราทำเช่นนั้นด้วยความช่วยเหลือของตัวนับ 4 บิตที่มีเอาต์พุตให้กับเครื่องแยกสัญญาณ 4x16 (DeMUX) เอาต์พุตของ DeMUX จะทำให้ LED 16 ดวงสว่างขึ้นตามลำดับ
Part-2: กระโดด
สำหรับ JUMP Action เราจะใช้ Push Button Input เป็นคำสั่ง เมื่อได้รับคำสั่งแล้ว ไฟ LED ของวัตถุในบรรทัดจะหยุดเรืองแสงและไฟ LED อีกดวงที่อยู่ด้านบนจะสว่าง ซึ่งหมายถึงการกระโดด
Part-3: ผลลัพธ์
ผลลัพธ์จะเป็นดังนี้: หากวัตถุขัดข้อง ให้รีเซ็ตเกม อย่างอื่นเพิ่มคะแนน
การชนกันสามารถแสดงเป็น ANDing ของทั้งสอง สัญญาณสิ่งกีดขวางและสัญญาณวัตถุสำหรับตำแหน่งพื้นของสิ่งกีดขวาง หากไม่มีการชนกัน ตัวนับจุดจะเพิ่มขึ้นซึ่งจะแสดงบนจอแสดงผล 7 ส่วนคู่
ขั้นตอนที่ 2: รวบรวมส่วนประกอบ
ส่วนประกอบที่จำเป็นมีดังนี้:
- PCB x 1, เขียงหั่นขนม x 3
- ไฟ LED: เขียว(31), แดง(1), สองสี:แดง+เขียว (1)
- ปุ่มกด x 2
- จอแสดงผล 7 ส่วน x 2
- IC 555 x 3 [สำหรับวงจรจับเวลา]
- IC 7474 x 1 (ดี FlipFlop)
- IC 7490 x 2 (ตัวนับทศวรรษ) [สำหรับแสดงคะแนน]
- IC 7447 x 2 (ตัวถอดรหัส BCD ถึง 7 ส่วน) [สำหรับแสดงคะแนน]
- IC 4029 x 1 (ตัวนับ 4 บิต) [สำหรับการแสดงสิ่งกีดขวาง]
- IC 74154 x 1 (DeMUX) [สำหรับการแสดงสิ่งกีดขวาง]
- IC 7400 x 3 (ไม่ใช่เกท)
- IC 7404 x 1 (เกท NAND)
- IC 7408 x 1 (และเกท)
- ซ็อกเก็ตไอซี
- แหล่งจ่ายแรงดัน (5V)
เครื่องมือที่จำเป็น:
- หัวแร้ง
- เครื่องตัดลวด
ขั้นตอนที่ 3: การสร้างอุปสรรค: Part-A
อันดับแรก เราต้องตั้งค่าวงจรจับเวลาเพื่อสร้างสัญญาณสร้างอุปสรรค (สูง/ต่ำ)
วงจรจะถูกตั้งค่าตามทฤษฎีที่กล่าวถึงก่อนหน้านี้ แผนภาพวงจรสำหรับสิ่งเดียวกันนั้นแนบมาด้านบน วงจรถูกนำไปใช้บนเขียงหั่นขนม (แม้ว่าจะสามารถนำไปใช้กับ PCB ได้) ดังนี้:
- วาง 555 ICs และ D Flip Flop (IC 7474) สองตัวบนตัวแบ่งของเขียงหั่นขนมโดยมีที่ว่างบางส่วน (4-5 คอลัมน์) อยู่ระหว่างนั้น
- เชื่อมต่อแถวบนสุดของเขียงหั่นขนมกับขั้วบวกของแหล่งจ่ายแรงดันและแถวล่างกับขั้วลบ
- ทำการเชื่อมต่อเพิ่มเติมตามแผนภาพวงจร หลังจากเชื่อมต่อที่จำเป็นแล้ว วงจรจะมีลักษณะคล้ายกับภาพที่แนบด้านบน
หมายเหตุ: ค่าความต้านทาน R1 & R2 และความจุ C คำนวณโดยใช้สมการต่อไปนี้:
T = 0.694 x (R1 + 2*R2) * C
โดยที่ T คือช่วงเวลาที่ต้องการ
D = 0.694 x [(R1 + R2)/T] *100
โดยที่ D คือ Duty Cycle คืออัตราส่วนของ ON Time ต่อ Total Time
ในโครงการนี้ สำหรับตัวจับเวลาความถี่สูง T = 0.5 วินาที และสำหรับตัวจับเวลาความถี่ต่ำ T = 2 วินาที
ขั้นตอนที่ 4: การสร้างอุปสรรค: Part-B
ตอนนี้เรารู้แล้วว่าเมื่อใดควรสร้างสิ่งกีดขวาง ตอนนี้เราต้องแสดงมัน เราจะใช้ตัวนับ 4 บิต Demultiplexer ตัวจับเวลาและอาร์เรย์ LED 16 ดวง ทำไมต้อง 16? นั่นเป็นเพราะเราจะจับคู่เอาต์พุต 4 บิตของตัวนับกับ LED 16 ดวงโดยใช้เครื่องแยกสัญญาณ หมายความว่าตัวนับจะนับ 0 ถึง 15 และตัวแยกสัญญาณจะเปิดไฟ LED ด้วยดัชนีนั้น
บทบาทของตัวจับเวลาคือการควบคุมความเร็วในการนับ เช่น ความเร็วของการเคลื่อนที่ของสิ่งกีดขวาง สิ่งกีดขวางจะเปลี่ยนหนึ่งตำแหน่งในช่วงเวลาเดียวของตัวจับเวลา คุณสามารถลองเล่นกับค่า R1, R2 และ C ที่แตกต่างกันโดยใช้สมการในขั้นตอนก่อนหน้าเพื่อให้ได้ความเร็วที่แตกต่างกัน
สำหรับเมทริกซ์ LED ให้บัดกรี LED 16 ดวงในลักษณะเชิงเส้นพร้อมกราวด์ทั่วไป ขั้วบวกของ LED แต่ละตัวจะเชื่อมต่อกับ DeMUX (หลังจากกลับด้านโดยใช้เกท NOT เนื่องจาก DeMUX ให้เอาต์พุตต่ำ)
แผนภาพวงจรสำหรับสิ่งเดียวกันนั้นแนบมาด้านบน
ขั้นตอนที่ 5: กระโดดและผลลัพธ์
สิ่งต่อไปคือการดำเนินการกระโดด สำหรับการแสดงการกระโดด เพียงวาง LED ที่มีสีต่างกันเหนือเมทริกซ์ ต่อสายดินและต่อขั้ว +ve เข้ากับปุ่ม แนบปลายอีกด้านของปุ่มกดเข้ากับแหล่งจ่ายแรงดันไฟ
นอกจากนี้ ให้กดอีกปุ่มหนึ่งซึ่งอยู่ติดกับปุ่มก่อนหน้าแล้วต่อขั้วใดขั้วหนึ่งเข้ากับ +5V เทอร์มินัลอื่นไปที่เกต NAND (IC 7404) โดยมีอินพุตอื่นของ NAND Gate เป็นอินพุตไปยัง LED ด้านล่าง JUMP LED (เช่น LED วัตถุ) เอาต์พุตของประตู NAND ไปที่ RESET (PIN 2 และ 3 ของตัวนับ BCD ทั้งคู่) ของตัวนับคะแนน สิ่งที่เราทำคือรีเซ็ตคะแนนหากทั้งสัญญาณ LED วัตถุ (ในตำแหน่งฐาน) และสัญญาณอุปสรรคได้รับพร้อมกัน กล่าวคือ วัตถุและสิ่งกีดขวางชนกัน
จัดการบางอย่างเพื่อให้แน่ใจว่ากดปุ่มทั้งสองพร้อมกัน คุณสามารถใช้เหรียญและติดปุ่มทั้งสองไว้
สำหรับการตั้งค่าตัวนับคะแนน ให้ทำตามแผนภาพวงจรที่แนบมาด้านบน (ที่มาของภาพ: www.iamtechnical.com)
หมายเหตุ: เชื่อมต่อพิน 2 และ 3 กับเอาต์พุตของ NAND Gate เพื่อให้รีเซ็ตคะแนนในกรณีที่ชนกับสิ่งกีดขวาง
ขั้นตอนที่ 6: เล่นอย่างมีความสุข
แค่นั้นแหละ. คุณทำกับโครงการของคุณเสร็จแล้ว คุณสามารถเพิ่มการตกแต่งเพื่อให้ดูดี พักผ่อนก็ดี
เพลิดเพลิน..!!
แนะนำ:
ความรู้เกี่ยวกับวงจรแอนะล็อก - DIY a Ticking Clock Sound Effect Circuit โดยไม่ต้องใช้ IC: 7 ขั้นตอน (พร้อมรูปภาพ)
ความรู้เกี่ยวกับวงจรแอนะล็อก - DIY วงจรเอฟเฟกต์เสียงนาฬิกาติ๊กโดยไม่ใช้ไอซี: วงจรเอฟเฟกต์เสียงนาฬิกาแบบติ๊กๆ นี้สร้างขึ้นด้วยทรานซิสเตอร์ ตัวต้านทาน และตัวเก็บประจุที่ไม่มีส่วนประกอบไอซีใดๆ เหมาะอย่างยิ่งสำหรับคุณในการเรียนรู้ความรู้เกี่ยวกับวงจรพื้นฐานด้วยวงจรง่ายๆ ที่ใช้งานได้จริง เสื่อที่จำเป็น
วิธีทำหุ่นยนต์ Line Follower โดยไม่ต้องใช้ Arduino (ไมโครคอนโทรลเลอร์): 5 ขั้นตอน
วิธีสร้างหุ่นยนต์ Line Follower โดยไม่ใช้ Arduino (ไมโครคอนโทรลเลอร์): ในคำแนะนำนี้ ฉันจะสอนวิธีสร้างหุ่นยนต์ตามสายโดยไม่ต้องใช้ Arduino ฉันจะใช้ขั้นตอนง่าย ๆ ในการอธิบาย หุ่นยนต์ตัวนี้จะใช้ IR Proximity Sensor เพื่อ ทำตามบรรทัด คุณไม่จำเป็นต้องมีประสบการณ์การเขียนโปรแกรมใดๆ เพื่อ
IR Obstacle Sensor โดยไม่ต้องใช้ Arduino หรือไมโครคอนโทรลเลอร์ใดๆ: 6 ขั้นตอน
IR Obstacle Sensor โดยไม่ต้องใช้ Arduino หรือไมโครคอนโทรลเลอร์ใดๆ: ในโครงการนี้ เราจะสร้างเซ็นเซอร์สิ่งกีดขวางอย่างง่ายโดยไม่ต้องใช้ไมโครคอนโทรลเลอร์
การควบคุมพัดลมดูดอากาศ DC แบบใช้ Motion Sensor โดยไม่ต้องใช้ Arduino: 4 ขั้นตอน
การควบคุมพัดลมดูดอากาศ DC แบบใช้ Motion Sensor โดยไม่ต้องใช้ Arduino: สวัสดีพี่น้องทั้งหลาย ฉันได้จัดทำโครงการเล็กๆ สำหรับควบคุมพัดลมดูดอากาศ DC ของคุณ (หากคุณเพิ่มรีเลย์หนึ่งตัว คุณสามารถควบคุมพัดลมดูดอากาศ AC ได้ด้วย) สิ่งนี้สามารถใช้ในการพักผ่อนได้ ห้องสำหรับเช็ดมือที่เปียกให้แห้ง และยังใช้ทาอื่นๆ
HC - 06 (Slave Module) การเปลี่ยน " NAME " โดยไม่ต้องใช้ " Monitor Serial Arduino " ที่ " ใช้งานได้ง่าย ": Faultless Way !: 3 ขั้นตอน
HC - 06 (Slave Module) การเปลี่ยน " NAME " โดยไม่ต้องใช้ " Monitor Serial Arduino "… ที่ " ใช้งานได้ง่าย ": Faultless Way !: After " นาน " ลองเปลี่ยนชื่อเป็น HC - 06 (โมดูลทาส) โดยใช้ " จอภาพอนุกรมของ Arduino โดยไม่มี " สำเร็จ " ฉันพบวิธีง่ายๆ อีกวิธีหนึ่งแล้ว ฉันกำลังแบ่งปันตอนนี้ ! ขอให้สนุกนะเพื่อน