Სარჩევი:

Raspberry Pi Zero Garage Door Opener აპარატურა: 10 ნაბიჯი
Raspberry Pi Zero Garage Door Opener აპარატურა: 10 ნაბიჯი

ვიდეო: Raspberry Pi Zero Garage Door Opener აპარატურა: 10 ნაბიჯი

ვიდეო: Raspberry Pi Zero Garage Door Opener აპარატურა: 10 ნაბიჯი
ვიდეო: შემოტანა. ოდესა დედა. თებერვალი 18. ლარდის რეცეპტი. დანები მიმოხილვა 2024, ივლისი
Anonim
Raspberry Pi Zero Garage კარის გამხსნელი ტექნიკა
Raspberry Pi Zero Garage კარის გამხსნელი ტექნიკა

ამ პროექტის ერთ -ერთი შთაგონება იყო მშვენიერი ინსტრუქცია Raspberry Pi 3 Garage Door Opener– ში, ინტერნეტში ნაპოვნი რამდენიმე სხვასთან ერთად. მე არ ვარ გამოცდილი ელექტრონიკის პერსონალი, მე ჩავატარე ბევრი დამატებითი კვლევა Raspberry Pi– სთან ურთიერთობის გზებზე და ბევრი ვისწავლე რეზისტორების მნიშვნელობის შესახებ LED ნათურებით და ყველა GPIO გაყვანილობით. მე ასევე ვისწავლე ათვისების და ჩამონგრევის აპარატურის სქემების უპირატესობა ჩამონტაჟებული Pi ფუნქციონირების წინააღმდეგ.

იმის გამო, რომ ეს ავტოფარეხის კარის პროექტი მართლაც მრავალპროფილიანი პროცესია, რომელიც მოიცავს Pi აპარატურას, პროგრამულ უზრუნველყოფას და ინსტალაციას თქვენი ავტოფარეხის კარების გამხსნელი (ებით), ვიფიქრე, რომ პირველ რიგში გავამახვილებ ყურადღებას Pi აპარატურაზე, რადგან ეს საჭიროა ყოველი მეორე ნაბიჯისათვის.

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

გარდა ამისა, სხვა პროექტებისგან განსხვავებით, მე გადავწყვიტე გამოვიყენო Raspberry Pi Zero W, რომელიც გაყიდვაში გავიდა რამდენიმე ხნის წინ, მაგრამ მაინც გამოუყენებელი ვიჯექი ჩემს მაგიდასთან. მთავარი ის არის, რომ პროტოტიპის შექმნისას, თუ მე დავაზიანებ GPIO– ს რომელიმე სქემას, ეს იყო იაფი და მარტივი პროტოტიპის შეცვლა და შენარჩუნება. მინუსი ის არის, რომ მას აქვს მხოლოდ ARMv6 პროცესორი, ამიტომ ზოგიერთი რამ, როგორიცაა Java, არ იქნება გამოსაყენებელი.

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

ჩემი ვარაუდებია:

  • თქვენ კომფორტულად ჯავშნით
  • თქვენ უკვე იცით როგორ გამოიყენოთ ძირითადი ტერმინალური ბრძანებები Raspberry Pi– ზე
  • თქვენ იყენებთ Raspbian Buster- ს ან უფრო ახალს.
  • თქვენ გაქვთ ინტერფეისი Pi ბრძანების ხაზთან; ან გამოყოფილი მონიტორით, კლავიატურით და ა.შ. და/ან SSH გამოყენებით.
  • თქვენ იცნობთ ელექტრული წრედის დიზაინის ძირითად კონცეფციას; მაგალითად, თქვენ იცით განსხვავება ძალასა და მიწას შორის და გესმით მოკლე ჩართვის კონცეფცია. თუ თქვენ შეგიძლიათ განათავსოთ ახალი განყოფილება თქვენს სახლში, თქვენ უნდა შეგეძლოთ მიჰყევით მას.

მარაგები

იმისდა მიხედვით, თუ რამდენად ეძღვნებით ამ პროექტს, შეგიძლიათ დაიწყოთ მხოლოდ ის, რაც საჭიროა ყოველ ნაბიჯზე და წახვიდეთ იქიდან. ამ ნაწილების ბევრი ნაწილი ხელმისაწვდომია თქვენს ადგილობრივ ელექტრონიკის ან DIY/Maker მაღაზიაში, მაგრამ აღწერილობის გასაუმჯობესებლად მე შევიტანე ამაზონის ბმულები.

  • MakerSpot RPi Raspberry Pi Zero W Protoboard (Pi- სთვის საბოლოო ქუდის გაკეთება)
  • 2 არხი DC 5V სარელეო მოდული (მიიღეთ 1 არხი თუ გაქვთ ერთი კარი, 2 2 კარზე და ა. შ.)
  • ოვერჰედის კარის ჩამრთველი, ჩვეულებრივ ღია (არა) (თუ ამ დროს თქვენ უბრალოდ აკეთებთ პროტოტიპს და გსურთ გამოიყენოთ იაფი ლერწმის გადამრთველები დასაწყებად, კარგია)
  • ელექტრონული გართობის ნაკრები (მასში შედიოდა ყველა საჭირო რეზისტორი, პლუს პურის დაფა და დენის ერთეული პროტოტიპის დასახმარებლად და შესამოწმებლად და სწავლისთვის, სანამ მუდმივ დაფას გავაკეთებდი). თუ ეს ყველაფერი უკვე გაქვთ, დარწმუნდით, რომ გაქვთ რამდენიმე 10K, 1K და 330 ohm რეზისტორი მოსახერხებელი.
  • Breadboard Jumper Wires (ნებისმიერი გააკეთებს)
  • Soldering რკინის პატარა წვერი
  • Rosin-core solder
  • შედუღების რკინის წვერი გამწმენდი
  • სათადარიგო 9V კვების ბლოკი (პურის დაფის გასაძლიერებლად)
  • იაფი პროტოტიპის დაფები შედუღების პრაქტიკისათვის (სურვილისამებრ)
  • ფუნქციონირებს ჟოლო Pi Zero ან Pi თქვენი არჩევანით
  • სათაურის ქინძისთავები Raspberry Pi- სთვის (თუ თქვენ უკვე არ გაქვთ სათაური)
  • თავების დასტა protoboard HAT– ზე გამოსაყენებლად.
  • მცირე ზომის ნემსის ცხვირი
  • საიუველირო ხრახნიანი ნაკრები
  • მცირე გვერდითი საჭრელები (შედუღების შემდეგ მავთულის დასაჭრელად)
  • პინცეტი
  • მცირე ზომის ლიანდაგიანი მავთული (მირჩევნია მყარი ბირთვიანი) პროტობორდზე გამოსაყენებლად
  • ცოტა სილიკონი (თუ თქვენ აირჩევთ გამოიყენოთ 1.8 მმ ზედაპირზე დამონტაჟებული LED- ები ნაცვლად ნაკრებში მოწოდებული ნაკრებში)
  • აღმოვაჩინე, რომ გამადიდებელი ნათურა უაღრესად დამხმარე იყო მცირე ზომის შედუღების სამუშაოს სანახავად

ნაბიჯი 1: გაცნობა Raspberry Pi GPIO– ში

მთავარი ინტერფეისი, რომელსაც Raspberry Pi– ს გამოვიყენებთ, არის GPIO (ზოგადი დანიშნულების შეყვანა/გამოსავალი).

იპოვეთ თქვენი Pi- ის შესაბამისი დიაგრამა აქ. ეს ინსტრუქცია ორიენტირებული იქნება Pi Zero W v1.1.

ჩვენ ვიყენებთ მხოლოდ მწვანე GPIO ქინძისთავებს, თავიდან ავიცილებთ SDA, SCL, MOSI, MISO და ა.შ. (აღმოვაჩინე, რომ GPIO– ს ზოგიერთ ქინძისთავს აქვს სპეციალური დანიშნულება, პურის დაფაზე პროტოტიპირების ერთ – ერთი უპირატესობა, ამიტომ დავრჩი GPIO ქინძისთავებით 17 (პინი #11), 27 (პინ #13) და 12 (#32), როგორც იყო კარგ პოზიციებზე ჩემი breadboard.

GPIO ქინძისთავები შექმნილია ციფრული (ორობითი) კონცენტრატორების მუშაობისთვის; ისინი ლოგიკურად არსებობენ როგორც ორი მდგომარეობიდან ერთი: 1 ან ნული. ეს მდგომარეობა დამოკიდებულია იმაზე, ამარაგებს თუ იღებს ძაბვა კონკრეტულ ზღურბლზე (1), თუ უზრუნველყოფს ან იღებს ძაბვას კონკრეტულ ზღურბლზე ქვემოთ. (ბარიერებზე მოგვიანებით ვისაუბრებთ.)

მნიშვნელოვანია აღინიშნოს, რომ მიუხედავად იმისა, რომ Raspberry Pi– ს შეუძლია უზრუნველყოს როგორც 5V, ასევე 3.3V (3V3), GPIO ქინძისთავები მუშაობენ 3.3V– მდე. უფრო მეტიც, თქვენ აზიანებთ GPIO- ს და შესაძლოა მთელ კონტროლერს. (ამიტომაც ჩვენ ვაკეთებთ პროტოტიპს პურის დაფაზე და ვიყენებთ რაც შეიძლება იაფფასიან Pi- ს!)

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

მოდით შევხედოთ ამას ძირითადი SYSFS ბრძანებების გამოყენებით. დარწმუნებული არ ვარ, ამას მოითხოვს WiringPi, მაგრამ თუ რაიმე პრობლემა შეგექმნათ, შეიძლება დაგჭირდეთ მისი დაყენება, თუ თქვენ იყენებთ Raspbian მინიმალურ სურათს.

პირველ რიგში, მოდით მივცეთ წვდომა GPIO 17 -ზე:

sudo echo "17">/sys/class/gpio/export

ახლა მოდით შევამოწმოთ GPIO- ს მნიშვნელობა:

sudo cat/sys/class/gpio/gpio17/მნიშვნელობა

მნიშვნელობა უნდა იყოს ნული.

ამ ეტაპზე, GPIO– მ არ იცის, არის თუ არა შეყვანილი თუ გამომავალი. როგორც ასეთი, თუ თქვენ ცდილობთ მანიპულირებას GPIO მნიშვნელობით, თქვენ მიიღებთ "ჩაწერის შეცდომა: ოპერაცია დაუშვებელია". მოდით, უბრალოდ ვუთხრათ პინს, რომ გამოდის:

sudo echo "out">/sys/class/gpio/gpio17/მიმართულება

ახლა დააყენეთ მნიშვნელობა 1:

sudo echo "1">/sys/class/gpio/gpio17/მნიშვნელობა

კვლავ შეამოწმეთ მნიშვნელობა რომ ნახოთ… და მნიშვნელობა უნდა იყოს 1.

გილოცავთ, თქვენ უბრალოდ შექმენით გამომავალი GPIO და შეცვალეთ მდგომარეობა!

ახლა, მას ცოტა მეტი აქვს, მაგრამ მოდით, ჯერ კიდევ რამდენიმე რამ ვისწავლოთ.

ნაბიჯი 2: რეზისტორების გაგება

ასე რომ, თქვენ შეგიძლიათ მოძებნოთ რეზისტორები ვიკიპედიაში, მაგრამ რას ნიშნავს ისინი ჩვენთვის? პირველ რიგში ისინი იცავენ ჩვენს კომპონენტებს.

გახსოვთ, როდესაც ვსაუბრობდით GPIO– ზე, რომ ისინი მუშაობენ 3.3 ვ -მდე? ეს იმას ნიშნავს, რომ თუ თქვენ მისცემთ GPIO- ს პინზე მეტს, შეგიძლიათ გაწუროთ. რატომ არის ეს მნიშვნელოვანი? ხანდახან მცირედი მომატება ხდება ნებისმიერ წრეში და თუ მაქსიმალურია 3.3V, ნებისმიერმა მცირე ჩხუბმა შეიძლება გამოიწვიოს პრობლემები. მაქსიმალური ძაბვაზე მუშაობა სარისკო წინადადებაა.

ეს განსაკუთრებით ეხება LED- ებს. LED მიაწვდის იმდენ ძალას, რამდენიც მას შეუძლია. საბოლოო ჯამში, LED დაიწვის, მაგრამ მნიშვნელოვან დონეს შეუძლია გამოიყენოს ყველა არსებული ენერგია წრეში, რამაც გამოიწვია მისი გაუმართაობა.

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

ასე რომ, როგორ შევინარჩუნოთ ეს არ მოხდეს LED- ზე? დენის ოდენობის შეზღუდვით, რომელიც გამოიყენება LED- ის მართვისთვის რეზისტორის გამოყენებით.

მაგრამ რა ზომის რეზისტორი? დიახ, მე წავიკითხე რამდენიმე ვებ სტატია და საბოლოოდ დავადგინე 330Ω რეზისტორი 3.3 ვ -ზე LED- ით. თქვენ შეგიძლიათ წაიკითხოთ მათი გამოთვლები და თავად გაარკვიოთ, მაგრამ მე რამდენიმე გამოვცადე პურის დაფაზე და 330 მშვენივრად მუშაობდა. ერთი მითითება, რომელიც მე შევამოწმე, იყო Raspberry Pi ფორუმებზე, მაგრამ Google- ის ძებნა ბევრ სხვას აღმოაჩენს.

ანალოგიურად, Pi GPIO ქინძისთავებს სჭირდებათ დაცვა ზედმეტი ძაბვისგან. გახსოვთ, როგორ ვთქვი, რომ ისინი იყენებენ 3.3 ვ -მდე? ისე, ცოტა ნაკლები არ დააზარალებს. პროექტების უმეტესობა იყენებს 1KΩ რეზისტორებს და მეც იგივე გავაკეთე. კიდევ ერთხელ, თქვენ შეგიძლიათ გამოთვალოთ ეს საკუთარ თავს, მაგრამ ეს არის ძალიან პოპულარული არჩევანი. ისევ და ისევ, Raspberry Pi ფორუმები იძლევა გარკვეულ ინფორმაციას.

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

ბევრი რეზისტორი შეფუთულია ეტიკეტით, მაგრამ მათი ამოღებისთანავე როგორ განასხვავებთ მათ? პატარა ფერის ზოლები რეზისტორზე გეტყვით.

შემდეგი, ჩვენ დავაკავშირებთ უბრალო LED- ს პურის დაფაზე, რომლითაც ყველაფერი უნდა დაიწყოს.

ნაბიჯი 3: LED- ის გაყვანილობა

LED- ის გაყვანილობა
LED- ის გაყვანილობა

პირველი ნაბიჯი არის პურის დაფაზე LED- ის მიმაგრება. მას შემდეგ რაც უსაფრთხოდ ვიმუშავებთ, ჩვენ მას დავაკავშირებთ Raspberry Pi- თან და ვაკონტროლებთ მას GPIO პინიდან.

ვიმედოვნებთ, რომ თქვენი დაფა მოყვება ენერგიის წყაროს 3.3 ვ. თუ არა, შეგიძლიათ ყველაფერი მიაბა და პირდაპირ დაუკავშიროთ Pi- ს.

იპოვეთ LED და მიამაგრეთ იგი პურის დაფაზე, როგორც ეს ნაჩვენებია 330Ω რეზისტორის გამოყენებით. LED- ის უფრო გრძელი ფეხი არის ანოდი, უფრო მოკლე ფეხი არის კათოდი. ანოდი უკავშირდება 3.3 ვ სიმძლავრეს, ხოლო კათოდი ისევ მიწას უკავშირდება. რეზისტორი შეიძლება იყოს LED- მდე; არა აქვს მნიშვნელობა. სტანდარტული მავთულის ფერებია:

  • წითელი = 5V
  • ნარინჯისფერი = 3.3V
  • შავი = მიწა

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

ნაბიჯი 4: LED- ის დაკავშირება GPIO- სთან

LED- ის დაკავშირება GPIO– სთან
LED- ის დაკავშირება GPIO– სთან

ახლა ჩვენ გვაქვს სამუშაო LED რეზისტორით. ახლა დროა დაუკავშიროთ ეს LED Raspberry Pi- ს. ჩვენი მიზანია შევქმნათ გამომავალი GPIO და დავუკავშიროთ ის GPIO- ს LED- ს ისე, რომ როდესაც ჩვენ გავააქტიურებთ GPIO- ს, LED განათდება. პირიქით, როდესაც ჩვენ გამორთავს GPIO- ს, LED გამორთულია. (ეს მოგვიანებით იქნება გამოყენებული როგორც წრე, რომელიც "დააჭერს" ღილაკს ავტოფარეხის კარის გასახსნელად.)

ამოიღეთ ძალა პურის დაფაზე და დააკავშირეთ Pi როგორც ნაჩვენებია. (უმჯობესია ამის გაკეთება, სანამ Pi ასევე გამორთულია.) ჩვენ GPIO 17 -დან 3.3V მიწოდებას და მიწას დავუკავშირდით ერთ -ერთ გრუნტის ქინძისთავთან.

ახლა ჩატვირთეთ Pi და LED უნდა იყოს გამორთული. შეასრულეთ იგივე ბრძანებები, რაც ადრე გავაკეთეთ GPIO პინის დასაყენებლად და მნიშვნელობის დასადგენად:

sudo echo "17">/sys/class/gpio/export

sudo echo "out">/sys/class/gpio/gpio17/მიმართულება sudo cat/sys/class/gpio/gpio17/მნიშვნელობა

მნიშვნელობა უნდა იყოს ნული.

ახლა მოდით გავააქტიუროთ GPIO:

sudo echo "1">/sys/class/gpio/gpio17/მნიშვნელობა

ამან უნდა ჩართოს LED. LED- ის გამორთვისთვის, უბრალოდ გამორთეთ GPIO შემდეგნაირად:

sudo echo "0">/sys/class/gpio/gpio17/მნიშვნელობა

ერთი რამ, რაც შეიძლება მოხდეს არის ის, რომ საკმარისი ჩარევით ან ჩართვის/გამორთვის ციკლით, თქვენ შეიძლება შეამჩნიოთ, რომ LED რჩება ოდნავ განათებული. ამას აქვს მიზეზი და ამაზე ვისაუბრებთ მომავალში.

ნაბიჯი 5: რელეს გამოყენება LED- ის მართვისთვის

რელეს გამოყენება LED- ის მართვისთვის
რელეს გამოყენება LED- ის მართვისთვის

როგორც წინა საფეხურზეა ნათქვამი, LED არის ავტოფარეხის კარის "ღილაკი". თუმცა, სანამ GPIO- ს შეუძლია ჩართოს ჩვენი LED, მას არ შეუძლია "დააჭიროს" ჩვენი ავტოფარეხის კარის ღილაკს. ღილაკის დაჭერა არსებითად მხოლოდ აკავშირებს ღილაკის ორ ტერმინალს, ფაქტობრივად ასრულებს ღილაკის დაჭერას. რაც თქვენ გჭირდებათ ამ "პრესის" შესასრულებლად არის სარელეო.

სარელეო სხვა არაფერია თუ არა გადამრთველი, რომელიც იკვებება რაღაცით. ამ შემთხვევაში, ჩვენს Raspberry Pi- ს შეუძლია უთხრას სარელეო, რომ "დააჭიროს" ავტოფარეხის კარის ღილაკს. ჩვენი პროტოტიპისთვის, Raspberry Pi გეტყვით სარელეო ჩართოს LED… მხოლოდ ასე რომ ჩვენ შეგვიძლია შეამოწმოთ ჩვენი ჩართვა.

რა უნდა ვიცოდეთ ჩვენი რელეს შესახებ:

  • რელე მუშაობს 5 ვ -ზე. ეს არის ძალა მხოლოდ სარელეო მუშაობისთვის და არ გამოიყენება სქემის სხვა ნაწილში.
  • ჩვენ გვინდა, რომ ჩვენი სარელეო იყოს "ჩვეულებრივ გახსნილი". ეს ნიშნავს, რომ სარელეო რჩება ღია (არ აკავშირებს ორ მავთულს, ან "დააჭირეთ ღილაკს", სანამ არ გააქტიურდება.
  • ეს კონკრეტული სარელეო გააქტიურებულია, როდესაც GPIO ამარაგებს ნულოვან ენერგიას რელეს 3.3V კონექტორთან. მართლაც, ეს ჩამორჩენილი ჩანს. როდესაც 3.3V მიეწოდება, რელე იხსნება. იყავით ჩვენთან ერთად ამ პროექტზე და ნახავთ როგორ მუშაობს ეს.
  • ორი სარელეო ტერმინალური კავშირი სრულიად განცალკევებულია Raspberry Pi– სგან. ეს ნიშნავს იმას, რომ თქვენ შეგიძლიათ შეცვალოთ მავთული ნებისმიერი ნომინალური დენით, რადგან ის იღებს მის დენს სხვა ენერგიის წყაროდან. უბრალო პაწაწინა Raspberry Pi- ს 3.3V და 5V– ით მართლაც შეეძლო ემუშავა სარელეო, რომელიც აკონტროლებს გაცილებით დიდ ძაბვას. ეს არის ის, თუ როგორ შეიძლება თქვენს პატარა დაფაზე განთავსებულმა პატარა ღილაკმა გაუშვას თქვენი დიდი ამპერიანი გათბობის ადგილები.

მოდით დავიწყოთ.

პირველი, ხელახლა მიამაგრეთ (მაგრამ გამორთეთ) გარე კვების ბლოკი თქვენი პურის დაფისთვის. ეს სიმძლავრე აწარმოებს LED წრეს, ხოლო Raspberry Pi აკონტროლებს სარელეოს.

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

შეაერთეთ Raspberry Pi როგორც ნაჩვენებია 5V რელეზე, 3.3V მოქმედებს როგორც გადამრთველი და მიწა დაუბრუნდება Raspberry Pi- ს. ამ მაგალითში მე 3.3V შევაერთე GPIO 17. მე გირჩევთ 1KΩ რეზისტორი დაუკავშიროთ GPIO მავთულს, როგორც ნაჩვენებია, რათა დავიცვათ GPIO პრობლემებისგან. (ეს აღინიშნა რეზისტორების ნაბიჯში.)

ჩართეთ პურის დაფა და ახლა ჩართეთ თქვენი Pi. LED უნდა იყოს განათებული.

ახლა გაუშვით შემდეგი ბრძანებები Pi- ზე:

sudo echo "17">/sys/class/gpio/export

sudo echo "out">/sys/class/gpio/gpio17/მიმართულება sudo cat/sys/class/gpio/gpio17/მნიშვნელობა

მნიშვნელობა უნდა იყოს ნული.

ახლა მოდით გავააქტიუროთ GPIO:

sudo echo "1">/sys/class/gpio/gpio17/მნიშვნელობა

ამან უნდა გამორთოს LED.

ნაბიჯი 6: გაყვანის რეზისტორის დამატება

დასამაგრებელი რეზისტორის დამატება
დასამაგრებელი რეზისტორის დამატება

ამ ეტაპზე, თქვენი ყველა ნივთი უნდა მუშაობდეს. მაგრამ არის ერთი რამ, რაც ჩვენ არ განვიხილავთ GPIO– ებთან დაკავშირებით და ეს არის „მცურავი“ძაბვა, რომელიც შესაძლებელია იმ ბარიერის საფუძველზე, რომელიც ჩვენ ზემოთ აღვნიშნეთ.

მიუხედავად იმისა, რომ GPIO– ს ზოგადად აქვს ორი ლოგიკური მდგომარეობა (1 და ნულოვანი), ის განსაზღვრავს ამ მდგომარეობას იმის საფუძველზე, აქვს თუ არა ძაბვა ძაბვის ზღვარს ზემოთ ან ქვემოთ, როგორც ჩვენ აღვნიშნეთ GPIO განყოფილებაში. მაგრამ GPIO– ების უმეტესობის პრობლემა არის „მცურავი“ძაბვის შესაძლებლობა; Raspberry Pi- ის შემთხვევაში, სადღაც ნულამდე და 3.3V- ს შორის. ეს შეიძლება მოხდეს ჩარევის შედეგად ან წრეზე ძაბვის აწევა/ვარდნის შედეგად.

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

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

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

რაც უფრო მნიშვნელოვანია, ეს ქმნის დაჭიმვას და ამატებს საკმარის ძაბვას, რომ GPIO pin მდგომარეობა ნაგულისხმევია 1-მდე სანამ Pi ინიციალიზდება. გახსოვთ, როგორ გააქტიურდა ჩვენი სარელეო, რომ LED აინთო, როდესაც ჩვენ პირველად დავიწყეთ Pi სანამ არ გამოვრთოდით? გაყვანის გამოყენება ხელს უშლის რელეს გააქტიურებას გაშვებისას, რადგან სარელეო 3.3V შეყვანა იღებს ძაბვას, ამავე დროს 5V შეყვანა იღებს ძაბვას. ჩვენ ასევე შეგვიძლია ამის გაკეთება Pi კონფიგურაციაში, თუ გვსურს, მაგრამ ისევ და ისევ, ვინაიდან ჩვენ მაინც ვაკავშირებთ რეზისტორებს, როგორც ჩანს, ის ნაკლებად დაუცველია ოპერაციული სისტემის განახლებებისა და განაწილების მიმართ.

სხვადასხვა კონფიგურაციას შეიძლება დასჭირდეს განსხვავებული რეზისტორი, მაგრამ 10kΩ რეზისტორი მუშაობდა რელესთან ერთად. ჩათვლისას ჩემს სარელეოზე LED იყო ძალიან ჩამქრალი, მაგრამ ამწევი უზრუნველყოფდა საკმარის ძაბვას რელეს გააქტიურების თავიდან ასაცილებლად.

მოდით დავამატოთ გამყვანი რეზისტორი ჩვენს წრეს. პურის დაფის დიაგრამაში მე დავამატე 10kΩ რეზისტორი სარელეოზე 3.3V შეყვანასა და 3.3V წყაროს შორის.

ახლა ჩვენ გვაქვს წრე, რომელიც შესაფერისია ავტოფარეხის კარის ღილაკზე "დაჭერისთვის"; LED და 330Ω რეზისტორის შეცვლა ღილაკის მავთულხლართებით ადვილი უნდა იყოს.

ნაბიჯი 7: ლერწმის გადართვის სენსორი

ლერწმის გადართვის სენსორი
ლერწმის გადართვის სენსორი

ძალიან კარგი, ჩვენ ვიცით, როგორ გამოიყურება ჩვენი წრე ავტოფარეხის კარის გამხსნელის გასააქტიურებლად. თუმცა, კარგი არ იქნება იცოდეთ დახურულია თუ არა ავტოფარეხის კარი? ამისათვის თქვენ გჭირდებათ მინიმუმ ერთი ლერწმის გადამრთველი. ზოგიერთი პროექტი გირჩევთ ორს, მაგრამ ორივე გამოიყენებს ერთსა და იმავე სქემის დიზაინს.

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

ძირითადი განსხვავებები სენსორის დაყენებასა და სარელეო დაყენებას შორის არის:

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

სარელეო მიკროსქემის მსგავსად, ჩვენ ვაპირებთ ნივთების შეკვრას პურის დაფაზე, სანამ მას Pi- ზე შევუერთებთ.

მოდით გამოვიყენოთ ჩვენი იკვებება breadboard და მავთულის LED, 330Ω resistor, და ადგილზე მავთული. შემდეგ შეაერთეთ 3.3V ლერწმის გადამრთველის ერთ მხარეს და ჯემპრი ლერწმის გადამრთველის მეორე მხრიდან LED- ზე. (თუ თქვენ გაქვთ ლერწმის გადამრთველი, რომელიც მხარს უჭერს NO და NC, გამოიყენეთ NO პოზიცია.) გადააადგილეთ მაგნიტი ლერწმის გადამრთველიდან და ჩართეთ პურის დაფის ძალა. LED უნდა დარჩეს გამორთული. გადაიტანეთ მაგნიტი ლერწმის შეცვლისკენ და LED უნდა ანათებდეს. თუ ის პირიქით ხდება, თქვენ გაქვთ სადენიანი NC (ჩვეულებრივ დახურულია)

ნაბიჯი 8: Reed Switch– ის დაკავშირება Pi– სთან

Reed Switch– ის დაკავშირება Pi– სთან
Reed Switch– ის დაკავშირება Pi– სთან

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

ჩვენ კვლავ გამოვიყენებთ GPIO17- ს, რადგან ჩვენ უკვე ვიცით სად არის.

სარელეო სქემის მსგავსად, ჩვენ ვაპირებთ დავიცვათ GPIO პინი 1KΩ რეზისტორით; თუმცა, ჩვენ ვიყენებთ 10kΩ რეზისტორს მიწაზე დასაშლელად შესაქმნელად.

მას შემდეგ, რაც ჩვენ ყველაფერს გავამყარებთ ხაზს, მოდით გადავიტანოთ მაგნიტი ლერწმის გადამრთველიდან, ჩავტვირთოთ P, i და მივიდეთ ბრძანების ხაზთან და დავიწყოთ GPIO, აღვნიშნოთ, რომ ამჯერად ჩვენ ვქმნით შეყვანის GPIO- ს:

sudo echo "17">/sys/class/gpio/export

sudo echo "in">/sys/class/gpio/gpio17/მიმართულება sudo cat/sys/class/gpio/gpio17/მნიშვნელობა

მნიშვნელობა უნდა იყოს ნული. გადაიტანეთ მაგნიტი ლერწმის გადამრთველზე. LED ნათურა უნდა ანათებდეს და მნიშვნელობა არის 1.

ვოილა! ჩვენ შევიერთეთ ჩვენი ლერწმის გადართვა Pi- ზე!

ნაბიჯი 9: პერმანენტული გადაწყვეტის გაკეთება პროტოტიპის დაფაზე

პერმანენტული გადაწყვეტის გაკეთება პროტოტიპის დაფაზე
პერმანენტული გადაწყვეტის გაკეთება პროტოტიპის დაფაზე
პერმანენტული გადაწყვეტის გაკეთება პროტოტიპის დაფაზე
პერმანენტული გადაწყვეტის გაკეთება პროტოტიპის დაფაზე
პერმანენტული გადაწყვეტის გაკეთება პროტოტიპის დაფაზე
პერმანენტული გადაწყვეტის გაკეთება პროტოტიპის დაფაზე
პერმანენტული გადაწყვეტის გაკეთება პროტოტიპის დაფაზე
პერმანენტული გადაწყვეტის გაკეთება პროტოტიპის დაფაზე

ახლა, როდესაც ჩვენ ვიცით, როგორ უნდა გამოიყურებოდეს ჩვენი სქემები, დროა შევაერთოთ მუდმივი ვერსია პროტოტიპების დაფაზე. ვინაიდან მე ვიყენებ Pi Zero W- ს, მე მივიღე პატარა პროტო დაფები.

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

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

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

პროტო დაფაზე აღმოვაჩინე, რომ საკმარისი ადგილი იყო სამი სქემის შესაქმნელად:

  1. სარელეო წრე
  2. სენსორული წრე
  3. მეორე სენსორული წრე

ეს საკმაოდ კარგია ნებისმიერი ავტოფარეხის კარის პროექტისთვის.

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

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

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

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

მიმაგრებულია Fritzing ფაილი, მაგრამ რადგან Instructables– ს აქვს ფაილების ატვირთვასთან დაკავშირებული პრობლემები, მე მომიწია მას მივაწოდო "txt" - ის ყალბი გაფართოება, რომ ჩამონტაჟებულიყო.

ნაბიჯი 10: მითითებები

Raspberry Pi Garage Door Opener Project (შთაგონება)

იდიოტის გზამკვლევი ჟოლოს გარაჟის კარის გასახსნელად

iPhone ან Android ავტოფარეხის კარის გამხსნელი

უნდა გამოვიყენო რეზისტორი თუ არა?

Pullup და Pulldown რეზისტორების გამოყენება Raspberry Pi– ზე

SSH- ის დაყენება

Raspberry Pi Pin დიაგრამები.

SYSFS ბრძანებები

გაყვანილობა პი

რეზისტორები და LED- ები

დაცვის (sic) GPIO ქინძისთავები

რეზისტორის ფერის კოდის გამომთვლელი და სქემა

გაიყვანეთ ზემოთ და ჩამოწიეთ რეზისტორები

GPIO ძაბვის ზღურბლები

GPIO შეყვანის ძაბვის დონე

GPIO კონტროლი config.txt– ში

GPIO Pull Up Resisance (sic)

რატომ გვჭირდება გარე გამწევ რეზისტორები, როდესაც მიკროკონტროლებს აქვთ შიდა გამწევ რეზისტორები?

რა არის Raspberry Pi HAT?

როგორ შევაერთოთ Raspberry Pi Zero W GPIO კონექტორი

გირჩევთ: