
Სარჩევი:
2025 ავტორი: John Day | day@howwhatproduce.com. ბოლოს შეცვლილი: 2025-01-23 14:50

მიმოხილვა
Გამარჯობა! მე ვარ შივანში, IIIT-Hyderabad– ის სტუდენტი. მე აქ ვარ ჩემი პირველი სასწავლო ინსტრუქციით, რომელიც არის თამაში, რომელიც შთაგონებულია Google Chrome– ის Dinosaur Jump თამაშიდან. თამაში მარტივია: გადადით შემომავალ დაბრკოლებებზე, რათა მიიღოთ ქულა. თუ თქვენ შეეჯახებით, თქვენ წააგებთ და ანგარიში გადატვირთულია.
ამ პროექტის მთავარი მახასიათებელია ის, რომ არ გამოიყენება Arduino ან სხვა მიკროკონტროლერი. ის წმინდად წარმოიქმნება ძირითადი ელექტრო კომპონენტებისგან და მოიცავს სასრული მდგომარეობის მანქანების (FSM) განხორციელებას ლოგიკური დიაგრამების დახმარებით და ა.
გაინტერესებთ? Დავიწყოთ.
წინაპირობები:
- ძირითადი ცოდნა ელექტრული კომპონენტების შესახებ, როგორიცაა რეზისტორები, კონდენსატორები, ინტეგრირებული სქემები (IC).
- ლოგიკური კარიბჭეების ძირითადი ცოდნა (AND, OR, NOT და ა.შ.)
- ფლიპ ფლოპის, მრიცხველის, მულტიპლექსერის და ა.შ მუშაობის შესახებ ცოდნა.
შენიშვნა: ზემოთ ჩამოთვლილი წინაპირობები არის პროექტის მთელი მუშაობის გაგებისათვის. მას, ვინც არ იცის ამის შესახებ სიღრმისეული ცოდნა, ასევე შეუძლია შეადგინოს პროექტი ინსტრუქციის ინსტრუქციის შესაბამისად.
ნაბიჯი 1: სამუშაო მოდელის შემუშავება


პირველი ამოცანაა პროექტისთვის სამუშაო მოდელის შექმნა. მხოლოდ ამის შემდეგ შეგვიძლია გადავწყვიტოთ მასალები, რომლებიც საჭიროა პროექტისათვის. მთელი პროექტი შეიძლება დაიყოს სამ ნაწილად.
ნაწილი -1: დაბრკოლების წარმოქმნა
უპირველეს ყოვლისა, ჩვენ უნდა შევქმნათ შემთხვევითი დაბრკოლებები წერტილის გადასალახად. დაბრკოლებები ასევე იქნება წერტილოვანი პულსის სახით, რომელიც გადადის LED მასივის ერთი ბოლოდან მეორეზე.
დაბრკოლებების შესაქმნელად ჩვენ ვიყენებთ ორ ტაიმერის სქემას (მიმაგრებულია სქემის დიაგრამები), ერთი მაღალი სიხშირით (HF ტაიმერი) და მეორე დაბალი სიხშირით (LF ქრონომეტრი). "შემთხვევითობის" ნაწილს ამუშავებს HF ტაიმერი, რომლის გამომუშავება ჩანს LF ქრონომეტრის ყველა მზარდ ზღვარზე (რომელიც აღებულია CLK შეყვანის სახით). დაბრკოლების გენერირების ინსტრუქცია არის HF ტაიმერის მდგომარეობა LF ტაიმერის ყოველ ამოსვლაზე (1 -> შექმენით დაბრკოლება | 0 -> ნუ წარმოქმნით დაბრკოლებას). HF ტაიმერი ხელახლა იხსნება ყოველ „გადასვლაზე“, რათა უზრუნველყოს დაბრკოლებების შემთხვევითი წარმოქმნა. HF ტაიმერის გამომუშავება მოცემულია D- შეყვანის სახით D Flip Flop– ში (მომდევნო ციკლის ინსტრუქციის შესანახად) CLK შეყვანის სახით, როგორც LF ტაიმერის გამომავალი.
მას შემდეგ, რაც დაბრკოლების წარმოების ორობითი ინსტრუქცია ამოიწურება, ჩვენ უნდა შევქმნათ "დაბრკოლების პულსი" LED მასივზე. ჩვენ ამას ვაკეთებთ 4-ბიტიანი მრიცხველის დახმარებით, რომლის გამომუშავება ეძლევა 4x16 დემულტიპლექსერს (DeMUX). DeMUX– ის გამომუშავება გახდის 16 შესაბამის LED– ს ბრწყინავს.
ნაწილი -2: JUMP
JUMP აქციისთვის ჩვენ ვიღებთ ღილაკზე შეყვანის ინსტრუქციას. მას შემდეგ რაც ინსტრუქცია მიეცემა, ხაზოვანი ობიექტის LED შეწყვეტს ბრწყინავს და მის ზემოთ სხვა LED ანათებს, რაც ნიშნავს ნახტომს.
ნაწილი -3: შედეგი
შედეგი იქნება ასეთი: თუ ობიექტი ჩამოვარდება, განაახლეთ თამაში; სხვაგვარად, გაზარდე ქულა.
შეჯახება შეიძლება გამოხატავდეს როგორც AND- ს ორივე დაბრკოლების სიგნალს და ობიექტის სიგნალს დაბრკოლების მიწის პოზიციისთვის. თუ შეჯახება არ მოხდა, წერტილის მრიცხველი იზრდება, რომელიც ნაჩვენებია 7 სეგმენტიანი ეკრანის წყვილზე.
ნაბიჯი 2: კომპონენტების შეგროვება
საჭირო კომპონენტები შემდეგია:
- PCB x 1, Breadboard x 3
- LED- ები: მწვანე (31), წითელი (1), ბი -ფერი: წითელი+მწვანე (1)
- დააჭირეთ ღილაკს x 2
- 7 სეგმენტიანი ჩვენება x 2
- IC 555 x 3 [ტაიმერის სქემებისთვის]
- IC 7474 x 1 (D 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 (და კარიბჭე)
- IC სოკეტები
- ძაბვის წყარო (5V)
საჭირო ინსტრუმენტები:
- გასაყიდი რკინა
- მავთულის საჭრელი
ნაბიჯი 3: დაბრკოლების წარმოქმნა: ნაწილი A


პირველ რიგში, ჩვენ უნდა შევქმნათ ქრონომეტრის სქემები დაბრკოლების გენერაციის სიგნალის შესაქმნელად (მაღალი/დაბალი).
წრე შეიქმნება ადრე განხილული თეორიის შესაბამისად. სქემის დიაგრამა ამისთვის არის მიმაგრებული ზემოთ. ჩართვა ხორციელდება პურის დაფაზე (თუმცა ის ასევე შეიძლება განხორციელდეს PCB– ზე) შემდეგნაირად:
- მოათავსეთ ორი 555 IC და 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 დროის თანაფარდობა საერთო დროზე.
ამ პროექტში, მაღალი სიხშირის ქრონომეტრისთვის, T = 0.5 წმ და დაბალი სიხშირის ქრონომეტრისთვის, T = 2 წმ.
ნაბიჯი 4: დაბრკოლების წარმოქმნა: ნაწილი B



ახლა, როდესაც ჩვენ ვიცით, როდის შევქმნათ დაბრკოლება, ჩვენ ახლა გვჭირდება მისი ჩვენება. ჩვენ გამოვიყენებთ 4 ბიტიან მრიცხველს, დემულტიპლექსერს, ტაიმერს და მასივის 16 LED- ებს. რატომ 16? ეს იმიტომ ხდება, რომ ჩვენ მრიცხველის 4 ბიტიან გამომავალს შევათვალიერებთ 16 LED- ზე დემულტიპლექსერის გამოყენებით. ეს ნიშნავს, რომ მრიცხველი იქნება 0 -დან 15 -მდე და დემულტიპლექსერი ამ ინდექსით ჩართავს LED- ს.
ტაიმერის როლი არის დათვლის სიჩქარის რეგულირება, ანუ დაბრკოლების მოძრაობის სიჩქარე. დაბრკოლება გადაინაცვლებს ერთ პოზიციას ტაიმერის ერთჯერად პერიოდში. თქვენ შეგიძლიათ ითამაშოთ სხვადასხვა მნიშვნელობებით R1, R2 და C, წინა საფეხურის განტოლების გამოყენებით სხვადასხვა სიჩქარის მისაღებად.
LED მატრიცისთვის, შეაერთეთ 16 LED ნათურა ხაზოვანი გზით, საერთო საფუძვლით. თითოეული LED- ის დადებითი ტერმინალი იქნება დაკავშირებული DeMUX- თან (NOT კარიბჭის ინვერტირების შემდეგ, ვინაიდან DeMUX იძლევა LOW გამომავალს).
სქემის დიაგრამა ამისთვის არის მიმაგრებული ზემოთ.
ნაბიჯი 5: გადახტომა და შედეგი



შემდეგი არის ნახტომის მოქმედება. ნახტომის ჩვენების მიზნით, უბრალოდ განათავსეთ სხვადასხვა ფერის LED მატრიცის ზემოთ, დამიწიეთ და მიამაგრეთ მისი +ve ტერმინალი ღილაკზე. მიამაგრეთ ღილაკის მეორე ბოლო ძაბვის წყაროსთან.
ასევე, აიღეთ კიდევ ერთი ღილაკი, რომელიც მოთავსებულია წინა ღილაკთან და მიამაგრეთ მისი ერთ -ერთი ტერმინალი +5V- ზე. მეორე ტერმინალი მიდის NAND Gate– ზე (IC 7404) NAND Gate– ის სხვა შეყვანით, როგორც LED– ის შეყვანა JUMP LED– ის ქვემოთ (ანუ ობიექტის LED). NAND Gate– ის გამომუშავება გადადის ანგარიშის მრიცხველის RESET– ზე (BCD– ის ორივე მრიცხველის PIN 2 და 3). ამით ჩვენ ვაკეთებთ იმას, რომ ჩვენ აღვადგენთ ქულას, თუ OBJECT LED (საბაზისო პოზიციაში) სიგნალი და OBSTACLE სიგნალი ერთდროულად არის მოცემული, ანუ ობიექტი და დაბრკოლება შეეჯახა.
გააკეთეთ გარკვეული ღონისძიება იმის უზრუნველსაყოფად, რომ ორივე ღილაკი ერთმანეთზეა დაჭერილი. თქვენ შეგიძლიათ გამოიყენოთ მონეტა და მიამაგრეთ ორივე ღილაკი მასზე.
ქულების მრიცხველის დასაყენებლად მიჰყევით ზემოთ მიმაგრებულ სქემის დიაგრამას (სურათის წყარო: www.iamtechnical.com).
შენიშვნა: დააკავშირეთ პინ 2 და 3 NAND Gate– ის გამოსასვლელთან, რათა მან აღადგინოს ანგარიში დაბრკოლებასთან შეჯახების შემთხვევაში
ნაბიჯი 6: ბედნიერი თამაში



Ის არის. თქვენ დაასრულეთ თქვენი პროექტი. თქვენ შეგიძლიათ დაამატოთ რამდენიმე დასრულება ისე, რომ კარგად გამოიყურებოდეს. დასვენება კარგია.
ისიამოვნე.. !!
გირჩევთ:
როგორ გადაამუშაოთ Android ტელეფონები BOINC ან დასაკეცი მოწყობილობისთვის ბატარეების გამოყენების გარეშე: 8 ნაბიჯი

როგორ გადაამუშაოთ Android ტელეფონები BOINC– ისთვის ან დასაკეცი მოწყობილობისთვის ბატარეების გამოყენების გარეშე: გაფრთხილება: მე არ ვარ პასუხისმგებელი თქვენს მოწყობილობაზე ამ სახელმძღვანელოს მიყენებული ნებისმიერი ზიანისათვის. ეს სახელმძღვანელო უფრო ეფექტურია BOINC მომხმარებლებისთვის (პირადი არჩევანი / მიზეზები), ის ასევე შეიძლება გამოყენებულ იქნას დასაკეციდ ვინაიდან მე არ მაქვს ძალიან ბევრი დრო, მინდა
წვრილმანი წვდომის გარეშე კარის ზარი არდუინოს გარეშე!: 7 ნაბიჯი

წვრილმანი წვდომის გარეშე კარის ზარი არდუინოს გარეშე !: კარის ზარის ჩამრთველები ერთ-ერთია, რაც ყველაზე მეტად ეხებიან უცნობებს. და როდესაც კოვიდ 19 პანდემია სერიოზულ პრობლემად იქცა, კარგი ჰიგიენის დაცვა გახდა ამ დღეებში მთავარი პრიორიტეტი. ამ სასწავლო ინსტრუქციაში მე გაჩვენებ მარტივ გზას
სახლის ავტომატიზაცია ESP8266 WiFi ბლინკის გამოყენების გარეშე!: 24 ნაბიჯი (სურათებით)

სახლის ავტომატიზაცია ESP8266 WiFi– ით Blynk– ის გამოყენების გარეშე!: პირველ რიგში, მინდა ყველას მადლობა გადავუხადო იმისთვის, რომ გამარჯვებული გავხდი ავტომატიზაციის კონკურსში 2016 ამ ინსტრუქციისთვის. ასე რომ, როგორც დაგპირდით, აქ არის ინსტრუქცია საყოფაცხოვრებო ტექნიკის კონტროლისთვის ESP8266 WiFi მოდულით
როგორ გავაკეთოთ ხაზის მიმდევარი რობოტი არდუინოს (მიკროკონტროლერი) გამოყენების გარეშე: 5 ნაბიჯი

როგორ გავაკეთოთ ხაზის მიმდევარი რობოტი Arduino- ს (მიკროკონტროლერის) გამოყენების გარეშე: ამ სასწავლო ინსტრუქციაში მე გასწავლით თუ როგორ უნდა გააკეთოთ რობოტი Arduino– ს გამოყენების გარეშე. მე გამოვიყენებ ძალიან მარტივ ნაბიჯებს. ეს რობოტი გამოიყენებს IR სიახლოვის სენსორს მიჰყევით ხაზს. თქვენ არ დაგჭირდებათ რაიმე სახის პროგრამირების გამოცდილება
IR დაბრკოლების სენსორი არდუინოს ან ნებისმიერი მიკროკონტროლის გამოყენების გარეშე: 6 ნაბიჯი

IR დაბრკოლების სენსორი არდუინოს ან ნებისმიერი მიკროკონტროლის გამოყენების გარეშე: ამ პროექტში ჩვენ ვაპირებთ გავაკეთოთ მარტივი დაბრკოლების სენსორი მიკროკონტროლერის გამოყენების გარეშე