Სარჩევი:
- ნაბიჯი 1: საჭირო ნივთები
- ნაბიჯი 2: კოდის ლოგიკა და ჩვენება
- ნაბიჯი 3: მართვის ჩვენება მიკროკონტროლით
- ნაბიჯი 4: რატომ მულტიპლექსირება?
- ნაბიჯი 5: როგორ მივაღწიოთ ამას?
- ნაბიჯი 6: მულტიპლექსირების ალგორითმი
ვიდეო: წამზომი Pic18f4520 პროტეუსში 7 სეგმენტით: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
მე ახლახან დავიწყე მუშაობა სურათის კონტროლერთან, ერთმა ჩემმა მეგობარმა მთხოვა მისგან წამზომის შექმნა. ასე რომ, მე არ მაქვს აპარატურის სურათი გასაზიარებლად, მე დავწერე კოდი და იმიტირებული ვარ Proteus პროგრამულ უზრუნველყოფაზე.
აქ მე გაზიარებული სქემა იგივე.
სამი ცვლადი მილიწამი, წამი, წუთი განისაზღვრება
აქ ჩვენ გამოვიყენეთ ტაიმერის შეწყვეტა 10 ms, ყოველ 1000 მილიწამზე, წამში ცვლადი გაიზრდება, ყოველ 60 წამში წუთში ცვლადი გაიზრდება.
ნაბიჯი 1: საჭირო ნივთები
1 pic18f4520 კონტროლერი
2 შვიდი სეგმენტის ჩვენება
3 bc547 ტრანზისტორი
4 გადამრთველი დაწყების/გაჩერების/გადატვირთვისთვის
5 რეზისტორი 330E, 10K, 1K
6 ჩამოტვირთეთ mikroC სურათისთვის
7 ჩამოტვირთეთ პროტეუსი
ნაბიჯი 2: კოდის ლოგიკა და ჩვენება
რა არის შვიდი სეგმენტის ჩვენება? შვიდი სეგმენტის ჩვენება (SSD) არის ერთ -ერთი ყველაზე გავრცელებული, იაფი და მარტივი გამოსაყენებელი ჩვენება. როგორც ჩანს ზემოთ.
აქ ჩვენ უნდა გამოვიყენოთ საერთო კათოდური ტიპი 7 სეგმენტის დისპლეით - საერთო კათოდური ტიპის SSD- ში, ყველა LED- ის ბოლო ტერმინალი ჩვეულებრივ დაკავშირებულია "COM" პინთან. სეგმენტის განათება შესაძლებელია, როდესაც "1" მიეცემა შესაბამის LED სეგმენტს და მიწა დაკავშირებულია საერთოთან. შიდა ნაწილები მოცემულია ფიგურაში 2.
ნაბიჯი 3: მართვის ჩვენება მიკროკონტროლით
ჩემს წრეში მე გამოვიყენე NPN BC547 ტრანზისტორი.
BJT- ის გადამრთველის მარტივი გამოყენებისათვის, გამცემი-შემგროვებელი კვანძები იკლებს, როდესაც ბაზის ტერმინალში არის სიგნალი, წინააღმდეგ შემთხვევაში ის რჩება გათიშული. შეყვანა უნდა მოხდეს შესაბამისი რეზისტორის საშუალებით.
ნაბიჯი 4: რატომ მულტიპლექსირება?
ხშირად ჩვენ უნდა გამოვიყენოთ ორი, სამი ან მეტი SSD და ისიც მხოლოდ ერთი MCU, მაგრამ ერთი პრობლემა, რომლის წინაშეც ვდგავართ არის MCU– ში I/O ქინძისთავების ნაკლებობა, რადგან ერთი SSD მიიღებს 8 ქინძისთავს და ასე სამი SSD მიიღებდა 24 ქინძისთავს. 18 -ში ჩვენ გვაქვს მხოლოდ 48 I/O ქინძისთავები. რა არის გამოსავალი?
ერთი შესაძლებლობა ის არის, რომ ჩვენ ვიყენებთ უფრო დიდ MCU- ს მეტი I/O ქინძისთავებით. მაგრამ შემდეგ ჩვენ კვლავ შემოვიფარგლებით მხოლოდ 3 SSD დისკით, რომელთა გამოყენებაც შესაძლებელია. ამ პრობლემის კიდევ ერთი ბევრად უკეთესი და რეკომენდებული გადაწყვეტაა შვიდი სეგმენტის დისპლეის მულტიპლექსირება.
ვიკიპედიაში ნათქვამია:”ტელეკომუნიკაციებსა და კომპიუტერულ ქსელებში, მულტიპლექსირება (ასევე ცნობილია როგორც მუქსი) არის მეთოდი, რომლის საშუალებითაც მრავალი ანალოგური შეტყობინების სიგნალი ან ციფრული მონაცემთა ნაკადი გაერთიანებულია ერთ სიგნალად საერთო მედიაზე. მიზანი არის ძვირადღირებული რესურსის გაზიარება.”რას ვგულისხმობთ შვიდ სეგმენტიანი ეკრანის მულტიპლექსირებაში არის ის, რომ ჩვენ გამოვიყენებთ მხოლოდ 7 გამომავალ პორტს, რათა ჩვენება მივიღოთ ყველა SSD დისკზე.
ნაბიჯი 5: როგორ მივაღწიოთ ამას?
აქ ჩვენ გამოვიყენებთ "ხედვის გამძლეობას". ახლა თქვენ უნდა გქონდეთ ეს ტერმინი უკვე ადრე. დიახ, ეს არის იგივე ტექნიკა, რომელიც გამოიყენება კინემატოგრაფიაში (აჩვენეთ სურათები ისე სწრაფად, რომ ჩვენი ტვინი ვერ განასხვავებს რაიმე შუალედს ორ თანმიმდევრულ სურათს შორის). ანალოგიურად, როდესაც ჩვენ ვათავსებთ ერთზე მეტ SSD- ს, ჩვენ ვაჩვენებთ მხოლოდ ერთ SSD- ს ერთდროულად და ვცვლით მათ შორის ისე სწრაფად, რომ ჩვენი ტვინი ვერ განასხვავებს მათ შორის.
ვთქვათ, თითოეული ეკრანი ერთდროულად აქტიურია მხოლოდ 5 მილიწამი, ანუ ანათებს 1/0.0045 -ჯერ წამში, რაც უდრის 222 -ჯერ წამში. ჩვენი თვალები ვერ იგრძნობენ ცვლილებას ასე სწრაფად და, შესაბამისად, ჩვენ ვხედავთ, რომ ყველა ეკრანი მუშაობს ერთდროულად. რა ხდება რეალურად აპარატურაში არის ის, რომ MCU აძლევს '1' პინს (გახსოვდეთ, '1' მიანიჭეთ BJT შორტების ფუძეს კოლექტორი და გამცემი კავშირი?), რომელიც დაკავშირებულია ტრანზისტორის ბაზასთან შესაბამისი ეკრანი, ინარჩუნებს პორტს "ON" 5 მილიწამში და შემდეგ ისევ გამორთავს. ეს პროცედურა უსასრულო მარყუჟშია ჩადებული, ასე რომ ჩვენ მუდმივად ვხედავთ ჩვენებას.
ნაბიჯი 6: მულტიპლექსირების ალგორითმი
განსაზღვრეთ ორი პორტი კოდში, ერთი სეგმენტის მონაცემთა პორტისთვის და სეგმენტის საკონტროლო პორტი.
ხრიკი აქ არის მონაცემების ჩვენება შვიდივე სეგმენტზე. და გაააქტიურეთ ერთი საკონტროლო პინი, რომელზეც თქვენ უნდა აჩვენოთ ეს მონაცემები. შეცვალეთ მონაცემები და გადაიტანეთ საკონტროლო პინი.
აქ ამ ინსტრუქციაში ჩვენ გამოვიყენეთ 6 ციფრიანი მულტიპლექსირება, უბრალოდ გაიარეთ თანდართული c ფაილი და თქვენ გაასუფთავებთ მას.
გირჩევთ:
Arduino Leonardo წამზომი: 3 ნაბიჯი
Arduino Leonardo წამზომი: კრედიტი: https://www.instructables.com/id/Arduino-Stopwatch..ეს წამზომის დიზაინი წარმოიშვა ზემოთ მოცემული ბმულიდან, რომელიც არის წამზომი, რომელიც ითვლის 1-დან, ხოლო ეს ერთი ითვლის 60 წამიდან რა კოდის უმეტესობა, რომელიც მე გამოვიყენე, მიჰყვება ორიგინალს
მარტივი CloudX M633 ციფრული წამზომი: 4 ნაბიჯი
მარტივი CloudX M633 ციფრული წამზომი: ამ პროექტში ჩვენ ვაპირებთ გავაკეთოთ ციფრული საათის ვერსია, რომელსაც შეუძლია შეინახოს საათები, წუთები და წამები, ისევე როგორც წამზომი თქვენს მობილურ ტელეფონში! ჩვენ ვაპირებთ გამოვიყენოთ LCD დროის ჩვენების მიზნით
Arduino წამზომი I2C LCD გამოყენებით: 5 ნაბიჯი
Arduino წამზომი I2C LCD– ის გამოყენებით: ამ პროექტში მე გასწავლით გამოიყენოთ LCD ეკრანი და Arduino, როგორც ინტერაქტიული წამზომი. როდესაც თქვენი პროექტი დასრულებულია მოწოდებული კოდით, ის უნდა გამოიყურებოდეს ზემოთ მოცემულ ფოტოზე. გადადით შემდეგ საფეხურზე, რომ გაიგოთ სად უნდა დაიწყოს
კლავიატურა 7 სეგმენტით CLOUDX მიკროკონტროლერის გამოყენებით: 4 ნაბიჯი
კლავიატურა 7 სეგმენტით CLOUDX მიკროკონტროლერის გამოყენებით: ამ პროექტისთვის ჩვენ ვიღებთ რიცხვით შეყვანას მატრიქსის კლავიატურისგან და შემდეგ ვაჩვენებთ მას შვიდ სეგმენტიანი ჩვენების მოდულში. ვინაიდან 8 LED- ები არის წარწერით A to G და DP (ათწილადისათვის), თუ გსურთ რიცხვის 6 ჩვენება, მაშინ მიმართავთ
ციფრული და ორობითი საათი 8 ციფრიანი X 7 სეგმენტით LED ჩვენება: 4 ნაბიჯი (სურათებით)
ციფრული და ორობითი საათი 8 ციფრით X 7 სეგმენტით LED ეკრანი: ეს არის ციფრული ციფრული & ორობითი საათი 8 ციფრის x 7 სეგმენტის LED ჩვენების გამოყენებით. მე მომწონს ახალი მახასიათებლების მიცემა ჩვეულებრივი მოწყობილობებისთვის, განსაკუთრებით საათებისთვის და ამ შემთხვევაში ორობითი საათის 7 Seg ჩვენების გამოყენება არატრადიციულია და ის