Სარჩევი:

L I G H T S: 5 ნაბიჯი
L I G H T S: 5 ნაბიჯი

ვიდეო: L I G H T S: 5 ნაბიჯი

ვიდეო: L I G H T S: 5 ნაბიჯი
ვიდეო: ნაბიჯი წინ 2024, ნოემბერი
Anonim
L I G H T S
L I G H T S

ამ საბოლოო პროექტის მიზანი იყო ისეთი რამის შექმნა, რომელიც ორიენტირებული იქნებოდა მდგრადობაზე და განახორციელებდა ციფრული დიზაინის კონცეფციებს და ამისათვის გადავწყვიტე შემუშავებულიყო ენერგიის დაზოგვის მასშტაბური სისტემა vhdl გამოყენებით და დამზადებული Basys 3 დაფისთვის (Artix-7 35T სერია). მასშტაბური, რადგან ნებისმიერი რაოდენობის სენსორი შეიძლება განთავსდეს ოთახში და ამ სისტემების ნებისმიერი რაოდენობა შეიძლება განთავსდეს შენობის ან სახლის გარშემო. რას გააკეთებდა ეს სისტემა, თეორიულად დაზოგავდა ათასობით დოლარს კომერციულ შენობებში და ამცირებდა ენერგიის მოხმარების დიდ პროცენტს მცირე საცხოვრებელ თემებში, აქტიურად და პასიურად კონტროლირებადი განათების დაკავშირებული სისტემის დანერგვით, მოძრაობის დეტექტორებით, შვიდ სეგმენტის ეკრანზე გამოსახული ქრონომეტრებით და კონტროლის კონცენტრატორები. ეს მაგალითი ეხება ერთ სისტემას სამი მოძრაობის დეტექტორებით, სამაგისტრო გადამრთველით, მექანიკური/ნორმალური გადამრთველით, ოთხი შვიდ სეგმენტიანი დისპლეით და ერთი შუქით, რომელსაც სისტემა აკონტროლებს.

მაგალითად, არჩეულ ოთახში, რამდენიმე მოძრაობის დეტექტორი განთავსდება ირგვლივ (ამ მაგალითს აქვს სამი) და თითოეული აგზავნის სიგნალს (1) თუ ის აღმოაჩენს მოძრაობას და (0) თუ არა. თუ მოძრაობის ერთ -ერთი დეტექტორი ამოიცნობს მოძრაობას, განათება ირთვება, თუ ის უკვე არ არის ჩართული და რჩება თუ არა უკვე ჩართული. ნებისმიერ დროს ყველა მოძრაობის დეტექტორი ვერაფერს აღმოაჩენს, ტაიმერი იწყებს ათვლას განსაზღვრული დროის განმავლობაში (კორექტირებადი კოდით) და შუქები ინთება სანამ ტაიმერი ითვლის. მას შემდეგ, რაც ტაიმერი ათვლის დასრულებას, ტაიმერი ჩერდება და შუქი ჩაქრება. თუ ერთი მოძრაობის დეტექტორი მაინც ამოიცნობს მოძრაობას ტაიმერის დათვლისას, ტაიმერი ჩერდება და გადატვირთულია. და თუ მინიმუმ ერთი მოძრაობის დეტექტორი ამოიცნობს მოძრაობას შუქის ჩაქრობისას, ნათურები მაშინვე ირთვება.

ამ სისტემას აქვს ორი რეჟიმი, ერთი ტაიმერით, როგორც ზემოთ იყო ნათქვამი, და მეორე, სადაც არის გადამრთველი, რომელიც მართავს შუქებს ხელით (იგნორირებას უკეთებს სენსორებს). არსებობს სამაგისტრო გადამრთველი, რომელიც საშუალებას აძლევს მომხმარებელს აირჩიოს რომელი რეჟიმი სურს გამოიყენოს იმისდა მიხედვით, თუ რომელი მათგანი იგრძნობს დაზოგავს მეტ ენერგიას საერთო ჯამში. მაგ. ოთახს, როგორიცაა დერეფანი, შეიძლება ისარგებლოს ქრონომეტრის პასიური რეჟიმით- მომხმარებლები არ არიან დარწმუნებული როდის გაივლიან ადამიანები, მაგრამ შუქების ჩართვა და გამორთვა ყოველ ჯერზე შესვლისას და გასვლისას უხერხულობა იქნებოდა, მაშინ როცა ასეთი ოთახი როგორც საძინებელი ერთი მომხმარებლისთვის უკეთესი იქნება ხელით მართვა. სამაგისტრო გადამრთველი გამოსადეგი იქნება ისეთ შემთხვევებში, როგორიცაა საძინებელში მცხოვრები პირის წასვლა დიდი ხნის განმავლობაში, მაშინ ძირითადი გადამრთველი შეიძლება გამორთული იყოს, ხოლო ტაიმერის რეჟიმი ენერგიის დაზოგვის უფრო ეფექტური გახდის.

ამ სისტემაში არის ორი სახელმწიფო მანქანა, ერთი არის მთავარი სახელმწიფო მანქანა, ხოლო მეორე არის ათვლის ქრონომეტრი. მთავარ სახელმწიფო მანქანას აქვს ხუთი მდგომარეობა განსაზღვრული, როგორც ასეთი: 1. "განათება ჩართულია, მოძრაობა გამოვლენილია" (id = 000), 2. "შუქები ჩართულია, მოძრაობა არ არის გამოვლენილი" (id = 001), 3. "შუქები გამორთულია, არანაირი მოძრაობა აღმოჩენილია "(id = 010), 4." ხელით ჩართულია "(id = 011) და 5." ხელით გამორთულია "(id = 100). ამ ძირითად მდგომარეობის მანქანას აქვს ოთხი შეყვანა: სამაგისტრო გადამრთველი (ms), მექანიკური/ნორმალური გადამრთველი (ns), სიგნალი, რომელიც მაღალია, როდესაც ერთი გადამრთველი მაინც ამოიცნობს მოძრაობას და სხვაგვარად დაბალია (ორქსი) და სიგნალი, რომელიც არის მაღალია ტაიმერის დასრულების შემდეგ და სხვაგვარად დაბალია (td). მთავარ სახელმწიფო მანქანას აქვს ორი გამოსავალი: ნათურები (შუქები) და სიგნალი, რომელიც მიუთითებს როდის უნდა ჩართოთ ათვლის ტაიმერი (ტაიმერი) ან (t) (ორივე გამოიყენება ურთიერთშემცვლელობით).

მეორე სახელმწიფო მანქანას, ათვლის ქრონომეტრს აქვს 12 მდგომარეობა: 10 მათგანს აქვს ID, რომელიც დაკავშირებულია იმ რიცხვთან, რომელსაც აჩვენებს შვიდი სეგმენტი- „seg 10“(id = 1010), „seg 9“(id = 1001), […], "Seg 2" (id = 0010), "seg 1" (id = 0001) და დანარჩენი ორი მდგომარეობა ორივე აჩვენებს ნულს, წარმოადგენს ტაიმერს გამორთულს- ასე რომ არის პირველი ცარიელი "ცარიელი 1" (id = 1111) და მეორე ცარიელი "ცარიელი 2" (id = 0000). ათვლის ქრონომეტრს აქვს ერთი შეყვანა: ტაიმერი (t) და სამი გამოსავალი: რიცხვი ნაჩვენებია ორობითი ოთხი ბიტით (ბინ) და სიგნალი, რომელიც მიუთითებს ტაიმერის შესრულებაზე (td).

ნაბიჯი 1: შავი ყუთის დიაგრამა

შავი ყუთის დიაგრამა
შავი ყუთის დიაგრამა

ეს არის მიმოხილვა იმისა, თუ როგორ უნდა მუშაობდეს მთელი სისტემა და აღწერილია შავი ყუთის დიაგრამით.

  • საათი გამოიყენება ძირითადი სახელმწიფო აპარატის და შვიდი სეგმენტის დეკოდერის დასაზუსტებლად; ქვედა მრიცხველისთვის საჭიროა უფრო ნელი საათი, ამიტომ არის საათის გამყოფი მოდული, რომელიც იღებს საათის შეყვანას და გამოაქვს ნელი საათი ქვემოთ მრიცხველისთვის.
  • შეფუთვაში შუალედური ცვლადი (ორქსი) მიბმულია მოძრაობის სენსორებთან და მაღალი იქნება, თუ ერთ – ერთი სენსორი მაინც აღმოაჩენს რაღაცას, ხოლო დაბალი სხვაგვარად; ბულის განტოლება არის orx = s (2) ან s (1) ან s (0).
  • მთავარი fsm აკონტროლებს, თუ რა მდგომარეობაშია სისტემა, დამოკიდებულია შესასვლელებზე (orx, ms, ns, td) და გამოაქვს მიმდინარე მდგომარეობა (სმ) ნაჩვენები გამარტივებული ორი სიგნალით, რომლისთვისაც გამოიყენება (ტაიმერი და ნათურები).

    • (ტაიმერი) არის შეფუთვის სიგნალი, რომელიც იგზავნება ქვემოთ მრიცხველში fsm როგორც მისი შეყვანა და კონტროლდება ძირითადი fsm– ის ამჟამინდელი მდგომარეობით. ის მიუთითებს როდის უნდა ჩართოთ ტაიმერი.
    • (განათება) არის შეფუთვის სიგნალი, რომელიც გამოიყენება led– ის გასაკონტროლებლად და კონტროლდება ძირითადი fsm– ის ამჟამინდელი მდგომარეობით.
  • ქვემოთ მრიცხველი fsm აკონტროლებს რას აჩვენებს შვიდი სეგმენტი შეყვანის მიხედვით (ტაიმერი) და გამოაქვს მიმდინარე მდგომარეობა (sd) ნაჩვენები გამარტივებული ორი სიგნალით, რომლისთვისაც გამოიყენება (td და bin).

    • (td) არის შეფუთვის სიგნალი, რომელიც იგზავნება მთავარ fsm– ში, როგორც მისი შეყვანა და კონტროლდება ქვემოთ მრიცხველის fsm– ის ამჟამინდელი მდგომარეობით. ის ფუნქციონირებს როგორც უკუკავშირის სიგნალი, რომელიც მიუთითებს ტაიმერის დასრულების დროზე.
    • (bin) არის ოთხი ბიტიანი შეფუთვის სიგნალი, რომელიც გაერთიანებულია ნულის ოთხ ბიტთან („0000“& bin) და კომბინირებული რვა ბიტი იგზავნება (q) - ზე, რვა ბიტიანი შეფუთვის სიგნალზე, რომელიც თავის მხრივ იგზავნება შვიდზე სეგმენტის დეკოდირება ქვეშ (ALU_VAL).
  • შვიდი სეგმენტის მოდული იგივეა, რაც პოლილეარნზე; მის ძირითად შეყვანას აქვს 8 ბიტიანი ნომერი (bin) to (ALU_VAL), რათა აჩვენოს ოთხ სხვადასხვა შვიდ სეგმენტურ დისპლეიზე გამომავალი მონაცემების გამოყენებით (SEGMENTS) სიგნალის შესაფუთად (seg) და (DISP_EN) შესაფუთად (disp_en).

    • ვინაიდან ორი ან მეტი შვიდი სეგმენტის ეკრანი ვერ აჩვენებს სხვადასხვა ციფრებს ერთდროულად, ოთხი საათი სჭირდება ციკლის გავლას, თითოეული ციფრისათვის შესაბამისი ციფრის ჩვენება ერთდროულად, ხოლო ველოსიპედის მოძრაობა საკმაოდ სწრაფად როგორც ჩანს, ssegs ერთდროულად არის.
    • (ნიშანი და მოქმედი) მუდმივია ამ პროგრამის განმავლობაში, ასე რომ (ნიშანი) არის მუდმივად დაბალი და (მოქმედი) მუდმივად მაღალი.
    • (ALU_VAL) იღებს შეფუთვის სიგნალს (q) შეყვანის სახით, რომელიც წარმოადგენს რიცხვს, რომელიც გამოჩნდება შვიდი სეგმენტის ჩვენებაზე ორობითი სახით.
    • გამომავალი (SEGMENTS) იგზავნება რვა ბიტიანი შეფუთვის სიგნალზე (seg) და (DISP_EN) ოთხ ბიტიანი შეფუთვის სიგნალზე (disp_en).
  • ასევე არსებობს D ფლიპ ფლოპის მოდული, რომელიც აშკარად არ არის ნაჩვენები დიაგრამაში, მაგრამ საჭიროა ორი სახელმწიფო მანქანებისთვის, როგორც სუბმოდულები და ეხმარება მდგომარეობების ტრანზიციას სინქრონულად.

    • აქედან (3) საჭიროა ძირითადი fsm– ისთვის, რადგან 2^(3) = 8> 5 მდგომარეობა კოდირებისთვის
    • (4) აქედან საჭიროა ქვემოთ მრიცხველი fsm რადგან 2^4 = 16> 12 მდგომარეობა კოდირებისთვის

ნაბიჯი 2: სახელმწიფო მანქანები

სახელმწიფო მანქანები
სახელმწიფო მანქანები

ორი სახელმწიფო მანქანების სათანადოდ შემუშავებისთვის, ცალკეული სახელმწიფოები მკაფიოდ უნდა განისაზღვროს, მისი გამოსავლით და მდგომარეობით, რომელზედაც იგი გადადის სხვადასხვა შესაძლო შეყვანის საფუძველზე.

ძირითადი fsm აცხადებს:

"განათება ჩართულია, მოძრაობა აღმოჩენილია" (id = 000)

შუქები ანთებულია, მოძრაობის დეტექტორიდან ერთი მაინც ამოიცნობს მოძრაობას, ამიტომ ორქსი მაღალი უნდა იყოს და ms ჩართულია.

  • შედეგები: განათება = 1 და ტაიმერი = 0
  • რჩება ამ მდგომარეობაში, როდესაც ms = 1 და orx = 1.
  • გადადის მდგომარეობაზე "შუქები ჩართულია, მოძრაობა არ გამოვლენილა" თუ ms = 1 და orx = 0.
  • გადადის მდგომარეობაში "ხელით ჩართულია" თუ ms = 0 და ns = 1.
  • გადადის მდგომარეობაში "ხელით გამორთულია" თუ ms = 0 და ns = 0.

"განათება ჩართულია, მოძრაობა არ გამოვლენილა" (id = 001)

შუქები ჩართულია, მოძრაობა არ არის გამოვლენილი მოძრაობის დეტექტორისგან, ამიტომ ორქსი უნდა იყოს დაბალი და ms ჩართულია. ასევე ამ მდგომარეობის დასაწყისში ტაიმერი, რომელიც მაღლაა დაყენებული, ითვლის countdown fsm– ს დაიწყოს ათვლა, აგრძელებს ათვლას და აჩერებს ათვლას მას შემდეგ, რაც counts fsm ეუბნება ამ fsm– ს, რომ დათვლა დასრულებულია.

  • შედეგები: განათება = 1 და ტაიმერი = 1.
  • რჩება ამ მდგომარეობაში, როდესაც ms = 1 და orx = 0 და td (ტაიმერი შესრულებულია) = 0.
  • გადადის მდგომარეობაზე "განათება ჩართულია, მოძრაობა აღმოჩენილია", თუ ms = 1 და orx = 1.
  • გადადის მდგომარეობაზე "შუქები გამორთულია, მოძრაობა არ არის გამოვლენილი", თუ ms = 1 და orx = 0 და td = 1.
  • გადადის მდგომარეობაში "ხელით ჩართულია" თუ ms = 0 და ns = 1.
  • გადადის მდგომარეობაში "ხელით გამორთულია" თუ ms = 0 და ns = 0.

"შუქები გამორთულია, მოძრაობა არ გამოვლენილა" (id = 010)

შუქები გამორთულია, მოძრაობის სენსორიდან მოძრაობა არ გამოვლენილა და ტაიმერმა ათვლა დაასრულა, ამიტომ ორქსი უნდა იყოს დაბალი, ms ჩართულია და td გამორთულია.

  • შედეგები: განათება = 0 და ტაიმერი = 0.
  • რჩება ამ მდგომარეობაში, როდესაც ms = 1 და orx = 0.
  • გადადის მდგომარეობაზე "განათება ჩართულია, მოძრაობა აღმოჩენილია", თუ ms = 1 და orx = 1.
  • გადადის მდგომარეობაში "ხელით ჩართულია" თუ ms = 0 და ns = 1.
  • გადადის მდგომარეობაში "ხელით გამორთულია" თუ ms = 0 და ns = 0.

"ხელით ჩართულია" (id = 011)

შუქები ჩართულია, მოძრაობის დეტექტორები შეუსაბამოა, ამიტომ ms გამორთულია და ns ჩართულია.

  • შედეგები: განათება = 1 და ტაიმერი = 0.
  • რჩება ამ მდგომარეობაში, როდესაც ms = 0 და ns = 1.
  • გადადის მდგომარეობაში "ხელით გამორთულია" თუ ms = 0 და ns = 0.
  • გადადის მდგომარეობაზე „შუქები გამორთულია, მოძრაობა არ გამოვლენილა, თუ ms = 1.

"ხელით გამორთულია" (id = 100)

შუქები გამორთულია, მოძრაობის დეტექტორები შეუსაბამოა, ამიტომ ms გამორთულია და ns გამორთულია.

  • შედეგები: განათება = 0 და ტაიმერი = 0.
  • რჩება ამ მდგომარეობაში, როდესაც ms = 0 და ns = 0.
  • გადადის მდგომარეობაში "ხელით ჩართულია" თუ ms = 0 და ns = 1.
  • გადადის მდგომარეობაზე „შუქები გამორთულია, მოძრაობა არ გამოვლენილა, თუ ms = 1.

ქვემოთ მრიცხველი აცხადებს:

"Seg 10" (id = 1010)

შვიდი სეგმენტის ჩვენება აჩვენებს 10 -ს.

  • შედეგები: bin = "1010" და td = 0.
  • გადადის მდგომარეობაზე "seg 9" თუ ტაიმერი = 1.
  • გადადის "ცარიელი 2" მდგომარეობაში, თუ ტაიმერი = 0.

"Seg 9" (id = 1001)

შვიდი სეგმენტის ჩვენება აჩვენებს 9 -ს.

  • შედეგები: bin = "1001" და td = 0.
  • გადადის მდგომარეობაზე "seg 8" თუ ტაიმერი = 1.
  • გადადის "ცარიელი 2" მდგომარეობაში, თუ ტაიმერი = 0.

(სახელმწიფოები "Seg 8" - დან "Seg 2" - მდე გამოტოვებულია, რადგან ისინი იცავენ იმავე ნიმუშს, როგორც "Seg 10" და "Seg 9" და არ არის საჭირო ახსნისთვის)

"Seg 1" (id = 0001)

შვიდი სეგმენტის ჩვენება აჩვენებს 1 -ს.

  • შედეგები: bin = "0001" და td = 0.
  • გადადის საათის "ცარიელი 2" საათის მომდევნო მზარდ ზღვარზე (შეყვანა არ არის საჭირო).

"ცარიელი 2" (id = 1111)

შვიდი სეგმენტის ჩვენება გვიჩვენებს 0. მეორე ცარიელი მდგომარეობის მიზანია, რომ იყოს ცალკე მდგომარეობა უსაფრთხოებისათვის td = 1.

  • შედეგები: bin = "1111" და td = 1.
  • გადადის საათის "ცარიელი 1" საათის მომდევნო მზარდ ზღვარზე (შეყვანა არ არის საჭირო).

"ცარიელი 1" (id = 0000)

შვიდი სეგმენტის ჩვენება გვიჩვენებს 0. ეს არის მდგომარეობა, რომელშიც სისტემა რჩება, როდესაც მთავარი სახელმწიფო მანქანა არის მდგომარეობაში "შუქები გამორთულია, მოძრაობა არ არის გამოვლენილი".

  • შედეგები: bin = "0000" და td = 0.
  • გადადის მდგომარეობაზე "seg 10" თუ ტაიმერი = 1.

ნაბიჯი 3: მექანიკური სიმართლის ცხრილები, აღგზნების განტოლებები და გამომავალი განტოლებები

სახელმწიფო მანქანა სიმართლის ცხრილები, აღგზნების განტოლებები და გამომავალი განტოლებები
სახელმწიფო მანქანა სიმართლის ცხრილები, აღგზნების განტოლებები და გამომავალი განტოლებები
სახელმწიფო მანქანა სიმართლის ცხრილები, აღგზნების განტოლებები და გამომავალი განტოლებები
სახელმწიფო მანქანა სიმართლის ცხრილები, აღგზნების განტოლებები და გამომავალი განტოლებები
სახელმწიფო მანქანა სიმართლის ცხრილები, აღგზნების განტოლებები და გამომავალი განტოლებები
სახელმწიფო მანქანა სიმართლის ცხრილები, აღგზნების განტოლებები და გამომავალი განტოლებები
სახელმწიფო მანქანა სიმართლის ცხრილები, აღგზნების განტოლებები და გამომავალი განტოლებები
სახელმწიფო მანქანა სიმართლის ცხრილები, აღგზნების განტოლებები და გამომავალი განტოლებები

შემდეგი ნაბიჯი არის სიმართლის ცხრილების შექმნა ორი სახელმწიფო მანქანებისთვის და აღგზნების განტოლებები და გამომავალი განტოლებები თითოეული fsm- ისთვის. თითოეული fsm აღგზნების განტოლებისთვის, უნდა არსებობდეს განტოლებები თითოეული მომდევნო მდგომარეობისათვის დაშიფრული ბიტი მიმდინარე მდგომარეობისა და მისი შეყვანის სიგნალების თვალსაზრისით. თითოეული fsm გამომავალი განტოლებისთვის, უნდა არსებობდეს განტოლებები თითოეული გამომავალი სიგნალისათვის არსებული მდგომარეობის მიხედვით. განტოლების ოთხივე კომპლექტი შეიძლება ამოღებულ იქნას სიმართლის ცხრილებიდან. (qn არის თითოეული სახელმწიფო აპარატისთვის დაშიფრული შემდეგი ბიტი და q არის ამჟამინდელი მდგომარეობა)

(000) ექვივალენტი q (2) 'q (1)' q (0) ', და (0000) ექვივალენტი q (3)' q (2) 'q (1)' q (0) '

(მაგ. (0101) არის q (3) 'q (2) q (1)' q (0) და (110) არის q (2) q (1) q (0) ')

აღგზნების განტოლებები ძირითადი fsm- ისთვის:

  • qn (2) = (ms) '(ns)
  • qn (1) = (ms) '(ns)' + (ms) (orx) '[(td) (001) + (010)] + (ms) [(011) + (100)]
  • qn (0) = (ms) '(ns)' + (ms) (orx) '[(000) + (td)' (001)]

ძირითადი fsm- ის გამომავალი განტოლებები:

  • განათება = (000) + (001) + (100)
  • ტაიმერი = (001)

აღგზნების განტოლებები ქვემოთ მრიცხველის fsm- ისთვის:

  • qn (3) = t [(0000) + (1010) + (1001) + (0001)]
  • qn (2) = t [(1000) + (0111) + (0110) + (0101) + (0001)]
  • qn (1) = t [(0000) + (1000) + (0111) + (0100) + (0011) + (0001)]
  • qn (0) = t [(1010) + (1000) + (0110) + (0100) + (0010) + (0001)]

გამომავალი განტოლებები ქვემოთ მრიცხველის fsm- ისთვის:

  • td = (1111)
  • ბინ (3) = (1010) + (1001) + (1000) + (1111) + (0000)
  • ბინ (2) = (0111) + (0110) + (0101) + (0100) + (1111) + (0000)
  • ბინ (1) = (1010) + (0111) + (0110) + (0011) + (0010) + (1111) + (0000)
  • ბინ (0) = (1001) + (0111) + (0101) + (0011) + (0001) + (1111) + (0000)

ნაბიჯი 4: შეფუთვა, ქვემოდულები და შეზღუდვა

როგორც უკვე ავხსენი ნაბიჯი 1 -ში, ეს მოდულები საჭიროა ამ პროექტისთვის და ყველა ერთმანეთთან არის დაკავშირებული შესაფუთი მოდულის სახელწოდებით "final_proj.vhd". შეზღუდვის ფაილი სახელწოდებით "Basys3_Master.xdc" გამოიყენება ყველა შესაფუთი შეყვანისა და ამოსასვლელის გადამრთველებთან, შვიდი სეგმენტის და I/O პორტების დასაკავშირებლად Basys 3 დაფაზე. სამაგისტრო გადამრთველი უნდა იყოს გადამრთველი, რომელიც ყველაზე ახლოს არის მავთულხლართებთან, ნორმალური/მექანიკური გადამრთველი არის მეორე უახლოესი და სამი გადამრთველი, რომელიც წარმოადგენს მოძრაობის სამ სენსორს, არის სამი კონცენტრატორი ნორმალური/მექანიკური გადამრთველის გვერდით. რა ყველა კოდი (ლოგიკური განტოლებები, მოდულის დეკლარაციები და ა.

ნაბიჯი 5: I/O პორტები LED- ისთვის

I/O პორტები LED- ისთვის
I/O პორტები LED- ისთვის
I/O პორტები LED- ისთვის
I/O პორტები LED- ისთვის

ამ პროექტის ბოლო ნაბიჯი არის led– ის გამოყენება, რომ ნახოთ ნამდვილად ჩართულია და გამორთულია თუ არა (შუქები). გაყვანილობა ნაჩვენებია ორ სურათზე. დარწმუნდით, რომ არის რეზისტორი სერიაში led- ით (მინიმუმ 330 ohms) ისე, რომ არ დაწვა led და დარწმუნდით, რომ led- ის გრძელი პინი უკავშირდება იმავე ქალურ სათაურს ბაზის დაფაზე, როგორც ნაჩვენებია წითელი მავთული (ზედა ყველაზე მარჯვნივ) და უფრო მოკლე პინი უკავშირდება მიწას, იგივე ქალი სათაური, როგორც ნაჩვენებია შავი მავთული (ზედა, მეორე მარცხნიდან).

გირჩევთ: