Სარჩევი:
- ნაბიჯი 1: მოტივაცია და პრობლემა
- ნაბიჯი 2: ნედლი ბიტის ინფორმაციის მიღება Basys USB– დან
- ნაბიჯი 3: USB ინფორმაციის გაანალიზება
- ნაბიჯი 4: დახატული სურათის ჩვენება VGA- ზე და რედაქტირება იმისა, რასაც ხატავთ
- ნაბიჯი 5: ისიამოვნეთ თქვენი შემოქმედებით
ვიდეო: VGA ფერწერის პროგრამა: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
პროექტი: ადამ კლეინი, იან სტრაჩანი, ბრენდონ სლეიტერი
პროექტი, რომლის დასრულებაც ჩვენ დავიწყეთ, იყო შენახვა, გაანალიზება და ინფორმაციის ჩვენება USB თაგვიდან ხატვის პროგრამის სახით. პროექტის იდეა იმაში მდგომარეობს, რომ შესაძლებელი იყოს თაგვისა და VGA კაბელების შეყვანა Basys დაფაზე მის ჩაშენებულ პორტებში და თაგვის ჩვენება მონიტორზე მოძრავი ფერწერის კვადრატის სახით, მარცხენა და მარჯვენა დაწკაპუნების დროს სხვადასხვა ფერის შეცვლა. გამოყენებული. არსებითად, ჩვენ შევქმნით დრაივერს მაუსის გამოყენებისათვის დაფის დაფაზე და მონიტორის ფუნქციონირების შემოწმების მიზნით. ის, რაც მართლაც მოხდა, იყო ხატვის პროგრამის შექმნა ბაზის დაფით, როგორც შეყვანის სისტემა და მონაცემების აღების ნახევრად ფუნქციური სისტემა მაუსისათვის.
ამ ინსტრუქციურად, ჩვენ დავამსხვრევთ ნაბიჯებს მაუსის შეყვანიდან vga გამომავალამდე.
ნაბიჯი 1: მოტივაცია და პრობლემა
Მოტივაცია:
ჩვენი პროექტის მთავარი მოტივაცია იყო თაგვის დრაივერის შექმნა Basys3 დაფისთვის, რომლის გამოყენებაც მომავალ CPE 133 სტუდენტს შეეძლო მომავალში მათი საბოლოო პროექტებისთვის. თუმცა, ჩვენ ეს იდეა კიდევ უფრო წინ გადავდგით ფერწერის პროგრამის შექმნით, რომლის შემდგომი განვითარებაც მომავალ სტუდენტებს შეეძლოთ.
პრობლემა:
პრობლემა, რომელიც აღმოვაჩინეთ, იყო ის, რომ არ არსებობს თაგვის მკაფიო მოდული, რომელიც მზად არის გადმოსატვირთად და გამოსაყენებლად Basys3 დაფისთვის. ამ პრობლემის გადასაჭრელად, ჩვენ შევეცადეთ შეგვექმნა საკუთარი თავი. ამით ჩვენ ვცდილობდით შეგვექმნა თაგვის მოდული, რომელიც მომავალ სტუდენტებს საშუალებას მისცემდა უფრო ადვილად განეხორციელებინათ თაგვის შეყვანა თავიანთ პროექტებში.
ნაბიჯი 2: ნედლი ბიტის ინფორმაციის მიღება Basys USB– დან
- ბევრი რამ, რაც ჩვენ გავაკეთეთ თაგვისთვის ამ პროექტში, მოვიდა Basys3 დოკუმენტაციიდან. ამ pdf- ის Basys USB პორტის მცირე სახელმძღვანელოდან ჩვენ აღმოვაჩინეთ, რომ Basys დაფაზე არის ჩაშენებული საათი USB მოწყობილობებიდან სწორი სიჩქარით ბიტების წასაკითხად.
- არსებითად, თაგვი უგზავნის ბიტს usb უსაქმური მდგომარეობიდან, კითხულობს 32 ბიტს, რომელიც წარმოადგენს თაგვის სტატუსს, x პოზიციას და y პოზიციას და ბოლოს მთავრდება სხვა მოჩვენებითი ბიტით. ამისათვის, მაუსის შეყვანის კომპონენტი იყენებს ცვლის რეგისტრს და 32 ბიტიან მრიცხველს, სადაც ცვლის რეგისტრი გამოიყენება თაგვიდან შემომავალი მონაცემების 32 ბიტის შესანახად, ხოლო 32 ბიტიანი მრიცხველი გამოიყენება შენახული ბიტების რაოდენობის დასათვლელად დარეგისტრირდით, რათა გადატვირთოთ და შეინახოთ შემდეგი 32 ბიტიანი ბიტი.
- ცვლის რეგისტრატორის კოდი, 32 ბიტიანი მრიცხველი და მონაცემთა მკითხველი გადმოწერილია ქვემოთ, ასევე შეზღუდვების ფაილი, რომელიც ადაპტირებულია ჩვენი USB პორტის გამოყენებისთვის
ნაბიჯი 3: USB ინფორმაციის გაანალიზება
- Usb კომპონენტში მაუსის შეყვანის შექმნის შემდეგ, შემდეგი ნაბიჯი იყო usb ბიტების შექმნა ვექტორული ინფორმაციის კომპონენტისთვის, რაც თაგვის მიერ მიღებულ მონაცემებს წაკითხავს vga- სთვის.
- ეს კომპონენტი იყენებს სახელმწიფო მანქანას, რომელიც იღებს თაგვის შეყვანის შედეგად გამოშვებული ბიტების ნაკრებებს usb- ში და გადადის მდგომარეობებში იმის საფუძველზე, არის თუ არა შეყვანილი ახალი ბიტები, რომლებიც ცვლის თაგვის მდგომარეობას და პოზიციას.
- პროექტის პირველი ორი საფეხურის ბლოკ -დიაგრამა ნაჩვენებია აქ და ორი vhdl ფაილი არის მაუსის განხორციელების შესამოწმებლად ბაზის LED- ების გამოყენებით (ტესტი, რომელიც სამწუხაროდ არასოდეს ჩაბარებულა) და USB ნაკრებიდან ნაკადის გადასაცემად პორტი სიჩქარისა და პოზიციის ვექტორებისთვის, რომელთა გამოყენებაც VGA– ს შეუძლია.
- ზემოთ მოყვანილი ბლოკ -დიაგრამის გვერდი არის მცირე სურათი (Instructables არ გვაძლევს საშუალებას გამოვავლინოთ სრული ფართო სურათი) იმ მცირე ინფორმაციისა, რომელიც აღმოვაჩინეთ საბაზისო დოკუმენტაციაში ამ ნაბიჯის დასასრულებლად.
ნაბიჯი 4: დახატული სურათის ჩვენება VGA- ზე და რედაქტირება იმისა, რასაც ხატავთ
- VGA კაბელს აქვს 14 ბიტი გამომავალი, 4 ბიტი სამივე ფერისთვის და ცოტა ჰორიზონტალური სინქრონიზაციისთვის და ვერტიკალური სინქრონიზაციისთვის.
-
სხვა VGA არის მოწოდებული VGA მოდული და ის მუშაობს შემდეგნაირად:
- მონიტორი დაყოფილია 40x30 ბლოკად 16x16 პიქსელით 640x480 რეზოლუციის ეკრანზე, როგორც ეს მოცემულია ზემოთ სურათზე. მოდული ირჩევს ბლოკის მისამართს, რომელიც წარმოადგენს ერთ – ერთ 1200 ბლოკს მონიტორზე. ბლოკის მისამართი შეირჩევა შემდეგი განტოლების საშუალებით: მისამართი = 40y + x
- ფერი წარმოდგენილია 12 ბიტიანი სიგნალით, რომელიც შეესაბამება RRRRGGGGBBBB მნიშვნელობას, რომელიც ფერს არჩეულ ბლოკს.
-
ჩვენი საკონტროლო კოდი, VGAtest და VGAtestconst, ფუნქციონირებს შემდეგნაირად:
- ის პირველად აყენებს არჩეულ ბლოკს მონიტორის ცენტრში.
- ბლოკის ფერი განისაზღვრება დაფაზე 12 გადამრთველით, რომელიც ადგენს RRRRGGGGBBBB მნიშვნელობას.
- დაფაზე ოთხი მიმართულების ღილაკი ცვლის არჩეულ მისამართს. მაგალითად, მარჯვენა ღილაკის დაჭერით 1 დაემატება მისამართს, ირჩევს ბლოკს ერთი წინა ბლოკის მარჯვნივ. ქვემოთ ღილაკზე დაჭერით 40 დაემატება მისამართს, ირჩევს ბლოკს ერთი წინა ბლოკის ქვემოთ.
- ცენტრალური ღილაკი გამოიყენება ყველა ფერის მნიშვნელობის 0 -ზე დაყენებისას. ეს უნდა მოიქცეს, როგორც წაშლის ღილაკი, რომლის გამოყენებაც მომხმარებლისთვის ადვილია, ასე რომ მომხმარებელს არ სჭირდება ყველა გადამრთველის გადატანა 0 -ზე, რომ წაშალოს.
- ბოლო სურათი არის კონტროლერის ბლოკის დიაგრამა. ის საკმაოდ ფართოა, რადგან ის შეიცავს მოდულის კომპონენტებს და შეიძლება სრულად არ იყოს ნაჩვენები.
ნაბიჯი 5: ისიამოვნეთ თქვენი შემოქმედებით
აქ არის დაკავშირებული გართობის სწრაფი დრო, რომელიც შეგიძლიათ გაატაროთ საბოლოო პროექტთან ერთად, თუნდაც ბაზის დაფაზე გადამრთველებისა და ღილაკების შეყვანის გამოყენებით.
Მადლობა წაკითხვისთვის!
გირჩევთ:
Raspberry Pi - TMD26721 ინფრაწითელი ციფრული სიახლოვის დეტექტორი Java სამეურვეო პროგრამა: 4 ნაბიჯი
Raspberry Pi-TMD26721 ინფრაწითელი ციფრული სიახლოვის დეტექტორი Java Tutorial: TMD26721 არის ინფრაწითელი ციფრული სიახლოვის დეტექტორი, რომელიც უზრუნველყოფს სიახლოვის გამოვლენის სრულ სისტემას და ციფრულ ინტერფეისის ლოგიკას ერთ 8 პინზე ზედაპირის სამონტაჟო მოდულში. სიახლოვის გამოვლენა მოიცავს სიგნალ-ხმაურის გაუმჯობესებას და სიზუსტე. პრო
აანთეთ Arduino ჩატვირთვის პროგრამა ATMega328: 4 ნაბიჯი
დააწკაპუნეთ Arduino Bootloader– ზე ATMega328– ზე: Questo tutorial ci permette di caricare il Bootloader nel caso in cui l'ATmega, წარმოგიდგენთ უსაზღვროდ ახალ შემოქმედებაში, sia vergine; მოდი ad esempio nel caso in cui si vuole realizzare la Drivemall
მუსიკალური ფერწერის ტილო მაკია მაიკით: 9 ნაბიჯი (სურათებით)
მუსიკალური ფერწერის ტილო მაკია მაიკით: გამარჯობა, ამ ინსტრუქციებში ჩვენ ვისწავლით თუ როგორ უნდა გავაკეთოთ მუსიკალური ფერწერის ტილო, ანუ სხვადასხვა სიმღერა ჟღერს ყოველ ჯერზე, როდესაც თითოეულ ფუნჯს ვღებავთ. ეს არის ძალიან სახალისო და მუშაობს მცირეწლოვან ბავშვებში ხატვის წახალისებისათვის ან ასევე სპეციფიკის მისაცემად
Arduino დაფუძნებული მრავალ ფერადი სინათლის ფერწერის კვერთხი: 13 ნაბიჯი (სურათებით)
Arduino დაფუძნებული მრავალ ფერადი სინათლის მხატვრობის კვერთხი: მსუბუქი ფერწერა არის ტექნიკა, რომელსაც იყენებენ ფოტოგრაფები, სადაც სინათლის წყარო გამოიყენება საინტერესო ნიმუშების დასახატად და კამერა აერთიანებს მათ. შედეგად, ფოტო შეიცავს სინათლის კვალს, რომელიც საბოლოოდ მისცემს სახეს
DIY სპილენძის სტილი LED ფერწერის ილუმინატორი: 9 ნაბიჯი (სურათებით)
ხელნაკეთი სპილენძის სტილი LED ფერწერის ილუმინატორი: გაქვთ თუ არა ნახატი ან ფოტოსურათი, რომლის განათებაც გსურთ? რატომ გამოვიყენოთ ძველი, მოსაწყენი ნათურა, როცა შეგიძლია ბევრად უფრო ენერგოეფექტური ილუმინატორი გააკეთო, ეს თავისთავად ხელოვნების ნიმუშია. სპილენძი მართლაც კარგი მეტალია. იშვიათად ხარ შენ