Სარჩევი:
- ნაბიჯი 1: საჭირო აღჭურვილობა
- ნაბიჯი 2: Blackbox დიაგრამა/სასრული მდგომარეობის მანქანა
- ნაბიჯი 3: ციფრული საათი BlackBox
- ნაბიჯი 4: კომპონენტები ერთად და აღწერა
- ნაბიჯი 5: კოდი
- ნაბიჯი 6: მომავალი ცვლილებები
- ნაბიჯი 7: დასკვნა
- ნაბიჯი 8: ციტირება
ვიდეო: Motion Sensor Lights Basys3: 8 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ციფრული დიზაინის ჩვენი საბოლოო პროექტისთვის ჩვენ გადავწყვიტეთ მოძრაობის სენსორების შუქების სიმულაცია. ისინი ააქტიურებენ არა მხოლოდ მაშინ, როდესაც ობიექტი ახლოს არის, არამედ აქტიურდება მხოლოდ დღის გარკვეულ მონაკვეთში. ჩვენ შეგვიძლია ამის მოდელირება FPGA (Basys3 დაფის) გამოყენებით. FPGA– ს გამოყენებისას ჩვენ მივცემთ უფლებას მომხმარებელს შეიყვანოს დრო, როდესაც მოძრაობის სენსორებს შეუძლიათ გააქტიურება და შემდეგ სენსორები გააგზავნიან სიგნალს იმის მიხედვით, თუ რომელი სენსორია იგი არის ამ ოთახში ან არეში ამ კონკრეტული შუქის ჩართვა. ჩვენ მოვახდინეთ ამის მოდელირება, რომელიც საშუალებას გვაძლევს მხოლოდ ერთი მოძრაობის სენსორი გააქტიურდეს მოცემულ დროს და შესაბამისად ჩავრთოთ მოცემული ნათურები. დროის შეზღუდვის გამო ჩვენ ვერ ვახერხებთ მომხმარებლის მიერ შეტანილი დროის გავლენას მოძრაობის სენსორის გააქტიურებაზე. თუმცა, ჩვენი ლოგიკის საფუძველი უნდა მისცეს ვინმეს ადვილად გაიმეოროს და გააუმჯობესოს იგი.
### ქვემოთ მოცემული ბმული გვიჩვენებს პროექტის ვიდეოს
drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing
ნაბიჯი 1: საჭირო აღჭურვილობა
ამ პროექტისთვის დაგჭირდებათ შემდეგი:
-Basys3 დაფა
-USB to microusb კაბელი
-8 breadboard jumper მავთულები
-პურის დაფა
-2 დიფუზური LED
ნაბიჯი 2: Blackbox დიაგრამა/სასრული მდგომარეობის მანქანა
ეს შავი ყუთის დიაგრამა გვიჩვენებს საჭირო შეყვანას, რომელიც საჭიროა led ნათურების ჩართვისთვის. Hour input და Min input არის დრო, რომელიც მომხმარებელმა შეიტანა basys3 დაფაზე (კონცენტრატორების გამოყენებით). რაც შეეხება sw შეყვანას წარმოადგენს ოთახის რომელ ნაწილში არის მომხმარებელი (ისევ გადამრთველების გამოყენებით მდებარეობის ობიექტის გამოსახატავად).
FSM გვიჩვენებს გადასვლას ერთი ადგილიდან მეორე ოთახში, სადაც ობიექტი მდებარეობს მოცემულ დროს. სხვადასხვა ოთახში არის 4 განსხვავებული სენსორი, რომლებიც წარმოდგენილია როგორც (s1, s2, s3, s4). რომლებიც აკონტროლებენ გამოსავალს, ან შუქებს სხვადასხვა ოთახებში, მაგალითად შუქს (L1, L2, L3). სენსორების საწყისი მდგომარეობა არავის აღმოაჩენს, ამიტომ ყველა შუქი გამორთულია. შემდეგ მდგომარეობაზე გადასასვლელად (მდგომარეობა 1), s1- მ უნდა გამოავლინოს ვინმე, s2, s3 და s4 გამორთული იქნება. ეს გამოიტანს L1 (ჩართეთ ნათურა 1), L2 და L3 გამორთული იქნება. 2 მდგომარეობაზე გადასასვლელად 1 მდგომარეობიდან, s1, s3 და s4 უნდა იყოს გამორთული, s2 უნდა იყოს ჩართული. ეს ჩართავს L1 და L2. ამ მდგომარეობიდან შემდეგ მდგომარეობაზე გადასასვლელად s3 უნდა იყოს ჩართული და ყველა სხვა სენსორი გამორთული. ეს ჩართავს L2 და L3, L1 გამორთულია. საბოლოო მდგომარეობაზე გადასასვლელად S4 უნდა იყოს ჩართული და ყველა სხვა სენსორი გამორთული. ეს ჩართავს მხოლოდ L3- ს, ყველა სხვა შუქი გამორთული იქნება. თუ ადამიანი შემოდის ოთახში s4– დან და გამოდის s1– დან, ყველა ნაბიჯი იქნება საპირისპირო მიზნით.
ნაბიჯი 3: ციფრული საათი BlackBox
ჩვენ მიერ შექმნილი ციფრული საათის დანიშნულებაა, რომ სენსორების განათება არ გააქტიურდეს დღის განმავლობაში და იმუშაოს მხოლოდ იმ დროს, როდესაც მომხმარებელი შეიყვანს. ციფრული საათი იღებს საათს შეყვანისას და mins_in basys3 დაფაზე გადამრთველების გამოყენებით და იმისათვის, რომ შეძლოთ მისი დაფაზე დატვირთვა, თქვენ უნდა დააჭიროთ ღილაკს (led_btn), რათა ის აჩვენოს მას ბორტზე. ჩვენ ასევე დავამატეთ გადატვირთვის ღილაკი (rst_b), ასე რომ თქვენ შეგიძლიათ ხელახლა ატვირთოთ სხვა დრო. რადგან basys3– ს აქვს საკმარისი სივრცე ინფორმაციის 3 განსხვავებული შემთხვევის ჩვენების მიზნით, ჩვენ წამები განვახორციელეთ ფონზე. ამ მიზნით, ჩვენ განვახორციელეთ წამების გადამრთველი, ასე რომ ის მხოლოდ დროთა განმავლობაში გაიზრდება, როდესაც მომხმარებელი გადაწყვეტს (e_sec) შეყვანის ჩართვას basys3 დაფაზე. ციფრული საათის შიგნით შიდა ჩარჩო შედგება ფლიპ-ფლოპებისგან, რომლებიც ინახავს შეყვანის დროს და მრიცხველებს, რომლებიც ზრდის მომხმარებლის მიერ შეყვანის დროს მხოლოდ მაშინ, როდესაც (e_sec) ჩართულია. ჩვენ დავამატებთ კოდს, ასე რომ თქვენ შეგიძლიათ ნახოთ როგორ განხორციელდა ზუსტად.
ნაბიჯი 4: კომპონენტები ერთად და აღწერა
ზემოთ მოყვანილი სურათები აჩვენებს, თუ როგორ არის დაკავშირებული კომპონენტები ერთმანეთთან. იგი იწყება შეყვანის საათების და წუთების პირველი მიღებით. სიგნალები იმ შეყვანისგან იგზავნება მრიცხველ საათსა და მრიცხველზე, სადაც ის ამატებს ბიტებს ერთად, და გამოთვლითი სიგნალის მრიცხველებს ეგზავნება SSEG კომპონენტი, სადაც ის გარდაქმნის ბიტებს კონკრეტულ სიმბოლოებზე, რომლებიც ნაჩვენები იქნება basys3 დაფაზე. თუმცა, მრიცხველებიდან სიგნალი არ გაიგზავნება SSEG კომპონენტამდე, სანამ მომხმარებელი არ დააჭერს შეყვანის (led_btn) ეს გაკეთდა იმიტომ, რომ ჩვენ არ შევქმენით FSM ციფრული საათისათვის. ასევე, შეყვანილი დრო არ გაიზრდება სანამ შეყვანის გადამრთველი (e_sec) არ არის ჩართული, რადგან სხვაგვარად წამების მრიცხველი ყოველთვის გაუშვებდა ფონზე. მას შემდეგ, რაც მრიცხველის წამი მიაღწევს "59" -ს, ის სიგნალს გაუგზავნის წუთებს ისე, რომ იგი იზრდება წუთში, იგივე ხდება წუთიდან საათამდე. ასევე, არის მოძრაობის სენსორის შესასვლელი და სიგნალები იგზავნება FSM კომპონენტში, სადაც ის განსაზღვრავს რა მდგომარეობისკენ უნდა გადავიდეს სენსორის მიხედვით. მისი საწყისი მდგომარეობაა, როდესაც ყველა სენსორი გამორთულია. FSM– ის ყველა აღწერილობა აღწერილია მე –2 ნაბიჯში.
ნაბიჯი 5: კოდი
ნაბიჯი 6: მომავალი ცვლილებები
მომავალში, პროექტში LED– ების კომბინაციით ფაქტობრივი მოძრაობის სენსორების დამატება იქნება გაუმჯობესება. ასე რომ ჩვენ შეგვიძლია გავზარდოთ პროექტის სირთულე და ვნახოთ შევძლებთ თუ არა თანამედროვე მოძრაობის სინათლის სენსორის შექმნას. ეს უფრო მეტ პრობლემას შექმნის, რადგან თქვენ უნდა იფიქროთ ობიექტის სიახლოვეზეც ისე, რომ განათებაც შესაბამისად აინთოს. გარდა ამისა, ყველა სხვა ფუნქცია წინ არის. ასევე, ციფრული საათის ფუნქციონირების გაუმჯობესება FSM– ის გამოყენებით, ნაცვლად იმისა, რომ დაელოდოთ მომხმარებლის ჩართვას წამებში (e_sec). FSM ციფრული საათისათვის მოძრაობის სენსორის მსგავსი იქნება.
ნაბიჯი 7: დასკვნა
საერთო ჯამში, ეს პროექტი დაგვეხმარა უკეთ გაგებულიყო როგორ მუშაობს სასრული მდგომარეობის მანქანები. გარდა ამისა, FSM– ით თქვენ ყოველთვის უნდა გახსოვდეთ, რომ თქვენ უნდა იცოდეთ რა მდგომარეობაში ხართ და როდის გსურთ სხვა მდგომარეობის შეცვლა. სხვა სიტყვებით რომ ვთქვათ, თქვენ უნდა იცოდეთ სად ხართ მოცემულ დროს და სად იქნებით მოგვიანებით. იმის გათვალისწინებით, თუ რა ფაქტორები მოგცემთ საშუალებას (საშუალებები) გადავიდეთ სხვა მდგომარეობაში და რას აპირებს იქ მოხვედრისას (გამომავალი). ჩვენ ასევე ვისწავლეთ როგორ შეინახოთ ინფორმაცია basys3 დაფაზე, ფლიპ ფლოპების გამოყენებით, რომლებიც რეგისტრია და როგორ გავზარდოთ დრო მრიცხველების გამოყენებით, რომელიც ამატებს ორობითი რიცხვებს ერთად.
ნაბიჯი 8: ციტირება
Two_sseg.vhdl = universal_sseg_dec.vhd
რატნერი, ჯეიმსი და ჩენგ სამუელი…
გირჩევთ:
Raspberry Pi Motion Sensor IFTTT: 4 ნაბიჯი
ჟოლო Pi მოძრაობის სენსორი IFTTT: გამარჯობა. მე ვარ მე –4 კლასელი და დღეს ჩვენ ვაპირებთ IFTTT მოძრაობის სენსორის გაკეთებას
DIY VR სარბენი ბილიკი- Basys3 FPGA-Digilent კონკურსი: 3 ნაბიჯი
DIY VR სარბენი ბილიკი- Basys3 FPGA-Digilent კონკურსი: გნებავთ ააშენოთ VR სარბენი ბილიკი, რომელზედაც შეგიძლიათ აწარმოოთ თქვენი დესკტოპის პროგრამები და თამაშები? შემდეგ თქვენ მიხვედით სწორ ადგილას! ჩვეულებრივ თამაშებში თქვენ იყენებთ მაუსს და კლავიატურას გარემოსთან ურთიერთობისათვის. ამიტომ, ჩვენ უნდა გავაგზავნოთ
VHDL Basys3: Connect 4 თამაში: 5 ნაბიჯი
VHDL Basys3: Connect 4 თამაში: შესავალი: ეს არის Connect 4 ციფრული ლოგიკური თამაში, რომელიც შექმნილია VHDL– ში Vivado პროგრამის გამოყენებით და დაპროგრამებულია Basys3 დაფაზე. ამ პროექტის კონსტრუქცია და დიზაინი შუალედურია, მაგრამ ახალბედებს შეუძლიათ დააკოპირონ ნაბიჯები და შექმნან ციფრული გაზი
ძირითადი წამზომი VHDL და Basys3 დაფის გამოყენებით: 9 ნაბიჯი
ძირითადი წამზომი VHDL და Basys3 დაფის გამოყენებით: კეთილი იყოს თქვენი მობრძანება ინსტრუქციის შესახებ, თუ როგორ უნდა ავაშენოთ წამზომი ძირითადი VHDL და Basys 3 დაფის გამოყენებით. ჩვენ მოხარული ვართ გაგიზიაროთ ჩვენი პროექტი! ეს იყო საბოლოო პროექტი კურსის CPE 133 (ციფრული დიზაინი) Cal Poly- ში, SLO 2016 წლის შემოდგომაზე. პროექტი ჩვენ ვაშენებთ
Basys3 FPGA ციფრული აუდიო სინთეზატორი: 5 ნაბიჯი
Basys3 FPGA ციფრული აუდიო სინთეზატორი: ეს ციფრული სინუსური ტალღის კლავიატურის სინთეზატორი მიიღებს მომხმარებლის მონაცემებს კლავიატურის მსგავსად განლაგებული მომენტალური გადამრთველების მეშვეობით და გამოსცემს აუდიო ტალღას სპიკერის საშუალებით. მომხმარებლის შეყვანის საფუძველზე, მოწყობილობა გამოიმუშავებს სხვადასხვა სიხშირის სინუს ტალღებს