Raspberry Pi тэг гаражийн хаалга онгойлгогч төхөөрөмж: 10 алхам
Raspberry Pi тэг гаражийн хаалга онгойлгогч төхөөрөмж: 10 алхам
Anonim
Raspberry Pi тэг гаражийн хаалга онгойлгогч тоног төхөөрөмж
Raspberry Pi тэг гаражийн хаалга онгойлгогч тоног төхөөрөмж

Энэхүү төслийн урам зориг өгсөн нэг зүйл бол Raspberry Pi 3 Garage Door Opener, Интернет дээрээс олж авсан бусад хүмүүсийн хамт зааж өгсөн нарийн зүйл байв. Би электроникийн туршлагатай хүн биш байсан тул Raspberry Pi -тэй харилцах аргуудын талаар нэмэлт судалгаа хийж, LED чийдэн, GPIO -ийн бүх утастай резисторуудын ач холбогдлын талаар маш их зүйлийг олж мэдсэн. Татаж авах ба доош татах тоног төхөөрөмжийн хэлхээний суурилуулсан Pi функцтэй харьцуулахад ашиг тусын талаар би бас мэдэж авсан.

Энэхүү гаражийн хаалганы төсөл нь Pi тоног төхөөрөмж, програм хангамж, гаражийн хаалга онгойлгогч төхөөрөмжүүдээс бүрдэх олон хэсгээс бүрдэх процесс учраас бусад алхам бүрт шаардлагатай байдаг тул би эхлээд Pi техник хангамжид анхаарлаа хандуулах болно гэж бодлоо.

Миний хандлага бол техник хангамжийг дуусгахын тулд хийсэн сургалтынхаа хураангуй болоход маш энгийн байх явдал юм. Энэ нь зарим мэдээллээр эхэлж, дараа нь бид талхны самбар дээр хэлхээ бий болгоно. Алхам бүр нь бидний дизайн, мэдлэгийг боловсронгуй болгож, Pi -ийг реле, зэгс мэдрэгчээр холбох байнгын тоног төхөөрөмжийн шийдлийг бий болгоно.

Нэмж дурдахад бусад төслүүдээс ялгаатай нь би хэсэг хугацааны өмнө худалдаанд гарсан Raspberry Pi Zero W ашиглахаар шийдсэн боловч ширээн дээрээ ашиглагдаагүй хэвээр байв. Үүний давуу тал нь прототип хийх явцад хэрэв би GPIO хэлхээний аль нэгийг гэмтээсэн бол хямдхан бөгөөд загварыг солих, хадгалахад хялбар байсан. Сул тал нь зөвхөн ARMv6 процессортой тул Java гэх мэт зарим зүйлийг ашиглах боломжгүй юм.

Миний хийхээр шийдсэн өөр нэг зүйл бол хэлхээнд зориулж өөрийн гараар нэмэлт самбар бий болгох явдал байсан тул би Пи-ээ солих эсвэл солих шаардлагатай болно.. Энэ нь хулганы үүрний холболтыг багасгах болно гэж найдаж байна.

Миний таамаглал бол:

  • Та ая тухтай гагнах боломжтой
  • Та 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 ом эсэргүүцэлтэй байгаа эсэхийг шалгаарай.
  • Breadboard холбогч утас (үүнийг хийх боломжтой)
  • Жижиг үзүүртэй гагнуурын төмөр
  • Розин цөмт гагнуур
  • Гагнуурын төмрийн үзүүр цэвэрлэгч
  • Сэлбэг 9V цахилгаан хангамж (талхны самбарыг тэжээх)
  • Гагнуурын практикт хямд загвар зохион бүтээх самбар (заавал биш)
  • Таны сонгосон Raspberry Pi Zero эсвэл Pi
  • Raspberry Pi -ийн толгойн зүү (хэрэв таны толгой дээр толгой байхгүй бол)
  • HAT protoboard дээр ашиглах толгойн овоолго.
  • Жижиг зүү хамар бахө
  • Үнэт эдлэлийн халив хэрэгсэл
  • Жижиг хажуу таслагч (гагнуурын дараа утас огтлох зориулалттай)
  • Хясаа
  • Зарим жижиг царигтай утас (би хатуу цөмийг илүүд үздэг)
  • Бага зэрэг силикон (хэрэв та иж бүрдэлд байгаа гэрлийн оронд 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) зүүг хуучин шигээ наасан. миний талхны тавцангийн хувьд сайн албан тушаалд байна.

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: Резисторыг ойлгох

Тиймээс, та резисторуудыг Википедиа дээрээс хайж болно, гэхдээ тэдгээр нь бидэнд ямар утгатай вэ? Юуны өмнө тэд бидний бүрэлдэхүүн хэсгүүдийг хамгаалдаг.

Бид 3.3V хүртэл ажилладаг GPIO -ийн талаар ярьж байсныг санаж байна уу? Энэ нь юу гэсэн үг вэ гэвэл хэрэв та үүнээс илүү GPIO зүү өгвөл шарж болно. Энэ яагаад чухал вэ? Заримдаа аль ч хэлхээнд бага зэрэг гүйдэл гардаг бөгөөд хамгийн дээд хэмжээ нь 3.3В байвал аливаа жижиг гацалт нь асуудал үүсгэж болзошгүй юм. Хамгийн их хүчдэл дээр ажиллах нь эрсдэлтэй санал юм.

Энэ нь ялангуяа LED -ийн хувьд үнэн юм. LED нь аль болох их хүч авах болно. Эцэст нь LED нь шатах болно, гэхдээ мэдэгдэхүйц гүйдэл нь хэлхээнд байгаа бүх хүчийг ашиглаж, улмаар эвдрэлд хүргэж болзошгүй юм.

Жишээлбэл: хэрэв та цахилгаан залгуурын хоёр салаа хэсэгт сэрээ хийвэл юу болох вэ? Бага зэрэг эсэргүүцэл байхгүй тул та таслуураа үлээх болно. (Мөн энэ явцад өөрийгөө гэмтээж магадгүй.) Талх шарагч яагаад үүнийг хийдэггүй вэ? Учир нь түүний халаалтын элементүүд нь эсэргүүцэл өгдөг бөгөөд энэ нь хэлхээний бүх ачааллыг зурдаггүй.

Тэгэхээр бид үүнийг LED -тэй болохоос хэрхэн сэргийлэх вэ? LED -ийг эсэргүүцэгч ашиглан жолоодох гүйдлийн хэмжээг хязгаарласнаар.

Гэхдээ ямар хэмжээтэй резистор вэ? Тийм ээ, би хэдэн вэб нийтлэл уншиж, эцэст нь LED -тэй 3.3V хүчдэл бүхий 330Ω эсэргүүцэл дээр суурилсан. Та тэдний бүх тооцооллыг уншиж, өөрөө олж мэдэж болно, гэхдээ би талхны самбар дээр цөөн хэдэн зүйлийг туршиж үзсэн бөгөөд 330 нь сайн ажилласан. Миний шалгасан нэг лавлагаа нь Raspberry Pi форум дээр байсан боловч Google хайлтаас илүү олон зүйлийг олж мэдэх болно.

Үүний нэгэн адил Pi GPIO тээглүүр нь хэт хүчдэлээс хамгаалах шаардлагатай болдог. Тэд 3.3V хүртэл UP ашигладаг гэж би яаж хэлснийг санаж байна уу? За, арай бага нь гэмтэхгүй. Ихэнх төслүүд 1KΩ эсэргүүцэл ашигладаг бөгөөд би ч мөн адил хийсэн. Дахин хэлэхэд та үүнийг өөрөө тооцоолж болно, гэхдээ энэ бол маш түгээмэл сонголт юм. Дахин хэлэхэд Raspberry Pi форумууд зарим мэдээллийг өгдөг.

Хэрэв та үүнийг бүрэн ойлгоогүй бол дахин уншаарай. Эсвэл зүгээр л зааврыг дагана уу. Аль нь таны төлөө ажилладаг.

Олон резисторыг сав баглаа боодол дээр тэмдэглэсэн байдаг, гэхдээ тэдгээрийг салгасны дараа яаж ялгах вэ? Резистор дээрх жижиг өнгийн судлууд танд хэлж чадна.

Дараа нь бид ажлыг эхлүүлэхийн тулд талхны самбар дээр энгийн LED холбоно.

Алхам 3: LED холбох

LED холболт хийх
LED холболт хийх

Эхний алхам бол талхны самбар дээр LED холбох явдал юм. Үүнийг аюулгүй ажиллуулсны дараа бид үүнийг Raspberry Pi -тэй холбож, GPIO зүүгээр удирдах болно.

Таны талх хавтан 3.3V хүчдэлийн эх үүсвэртэй ирсэн гэж найдаж байна. Үгүй бол та бүх зүйлийг утсаар холбож, шууд Pi -тэй холбож болно.

330 Ω эсэргүүцэл ашиглан LED -ийг олж талхны самбар руу холбоно уу. LED -ийн урт хөл нь анод, богино хөл нь катод юм. Анод нь 3.3V хүчдэлд холбогддог бол катод нь газар руу буцаж холбогддог. Эсэргүүцэл нь 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 -ийн хангалттай хөндлөнгийн оролцоо эсвэл асаах/унтраах үед LED бага зэрэг ассан хэвээр байгааг анзаарч магадгүй юм. Үүний шалтгаан бий, бид энэ талаар ирээдүйн алхам дээр ярих болно.

Алхам 5: LED жолоодохын тулд реле ашиглана уу

LED жолоодохын тулд реле ашиглах
LED жолоодохын тулд реле ашиглах

Өмнөх алхамд дурьдсанчлан, LED нь гаражийн хаалганы "товчлуур" -ын зогсоол юм. Гэсэн хэдий ч GPIO нь манай LED -ийг асааж чаддаг ч манай гаражийн хаалганы товчлуурыг дарж чадахгүй. Товчлуур дарах нь үндсэндээ хоёр товчлуурын терминалыг холбодог бөгөөд энэ нь товчлуур дарах үйлдлийг гүйцэтгэдэг. Энэхүү "хэвлэлийн" ажлыг гүйцэтгэхэд танд хэрэгтэй зүйл бол буухиа юм.

Реле бол ямар нэгэн зүйлээр тэжээгддэг унтраалгаас өөр зүйл биш юм. Энэ тохиолдолд манай Raspberry Pi релейг гаражийн хаалганы товчлуурыг "дарах" гэж хэлж чадна. Бидний прототипийн хувьд Raspberry Pi нь релеийг LED -ийг асаахыг хэлэх болно, ингэснээр бид хэлхээгээ туршиж үзээрэй.

Манай релений талаар юу мэдэх хэрэгтэй вэ:

  • Реле нь 5 В хүчдэлд ажилладаг. Энэ бол зөвхөн реле ажиллуулах хүч бөгөөд хэлхээний бусад хэсэгт ашиглагддаггүй.
  • Бид буухиагаа "ихэвчлэн нээлттэй" утсаар холбохыг хүсч байна. Энэ нь реле нээлттэй хэвээр байх болно гэсэн үг юм (хоёр утсыг холбохгүй, эсвэл "товчлуурыг дарах" хүртэл).
  • Энэхүү реле нь GPIO релений 3.3V холбогчийг тэг хүчээр хангах үед идэвхждэг. Үнэндээ энэ нь хоцрогдсон мэт санагдаж байна. 3.3V -ийг нийлүүлэх үед реле суллагдана. Энэ төсөл дээр бидэнтэй хамт байгаарай, энэ нь хэрхэн хэрэгжиж байгааг харах болно.
  • Хоёр буухиа терминалын холболт нь Raspberry Pi -ээс огт тусдаа юм. Энэ нь утсыг өөр тэжээлийн эх үүсвэрээс хүлээн авдаг тул нэрлэсэн гүйдэлтэй утсыг сольж болно гэсэн үг юм. 3.3V ба 5V бүхий энгийн жижигхэн Raspberry Pi нь илүү том хүчдэлийг хянадаг реле ажиллуулж чаддаг. Хяналтын самбар дээрх жижигхэн товчлуур нь таны том гүйдлийн хүчийг халаах суудлыг хэрхэн яаж ажиллуулах вэ.

Тиймээс эхэлцгээе.

Нэгдүгээрт, талхны тавцангийнхаа гадаад тэжээлийн хэсгийг дахин залгаарай (гэхдээ унтраасан). Энэ хүч нь LED хэлхээг ажиллуулах болно, харин Raspberry Pi релеийг хянадаг.

Дараа нь LED -ийг тэжээж буй 3.3V шугамын завсарлага аваарай. (Шилжүүлэгч ба релейн тусламжтайгаар бид үргэлж "халуун" -ыг солихыг хүсдэг. Газар биш) Эдгээрийг диаграммд улбар шар, цэнхэр өнгөөр тусгасан болно.

Raspberry Pi -ийг 5В хүчдэлийн реле, 3.3V унтраалгын үүрэг гүйцэтгэж, газар Raspberry Pi руу буцаж ирсний дагуу холбоно уу. Энэ жишээнд би 3.3V -ийг GPIO 17 -т холбосон. GPIO -г асуудлаас хамгаалахын тулд 1КО эсэргүүцэл үзүүлэлтийг 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.3В хүртэл. Энэ нь хөндлөнгийн оролцоо эсвэл хэлхээний хүчдэлийн өсөлт/бууралтаас үүдэлтэй байж болно.

Манай гаражийн хаалганы товчлуурын реле хөвөгч хүчдэлээс идэвхжих нөхцөлийг бид хүсэхгүй байна. Үнэн хэрэгтээ бид үүнийг хэлэх үед л үүнийг идэвхжүүлэхийг хүсч байна.

Ийм нөхцөл байдлыг тодорхой хүчдэлийг өдөөж, хөвөх хүчдэлээс зайлсхийхийн тулд татах ба татах резистор ашиглан шийддэг. Манай тохиолдолд реле идэвхжихээс урьдчилан сэргийлэхийн тулд хүчдэлийг хангахыг хүсч байна. Тиймээс хүчдэлийг босгоноос дээш гаргахын тулд бидэнд татах эсэргүүцэл хэрэгтэй болно. (Босго бол инээдтэй зүйл юм … Би тэдний талаар уншиж, сайн тодорхойлсон эсэхийг, бас толгой дээгүүр минь маш их мэдээлэл авсан эсэхийг, зарим нь хэтэрхий энгийн мэт санагдсан эсэхийг шалгахыг хичээсэн. Мультиметрээр би үүнийг харж чаддаг байсан гэж хэлэхэд хангалттай. хүчдэл 3.3В -аас бага байсан, гэхдээ бүх зүйл миний загварыг хийсний дагуу ажилласан тул би зүгээр л хөдөлсөн. Таны миль өөр байж магадгүй, тиймээс бид эцсийн бүтээгдэхүүнээ гагнахаасаа өмнө үүнийг талхаар хийсэн болно.)

Мэдээжийн хэрэг, Raspberry Pi нь татаж авах эсвэл татах резистортой бөгөөд үүнийг код эсвэл ачаалах үед тохируулж болно. Гэсэн хэдий ч энэ нь хөндлөнгийн оролцоонд маш мэдрэмтгий байдаг. Тэдгээрийг ашиглах боломжтой боловч бид аль хэдийн хэлхээнд резистортой ажиллаж байгаа тул гаднах байдлыг ашиглах нь тогтвортой байх нь зүйтэй болов уу.

Илүү чухал зүйл бол энэ нь таталтыг бий болгож, Пи-г эхлүүлэхээс өмнө GPIO зүү төлөвт тохируулагдсан хангалттай хүчдэлийг нэмдэг. Бидний унтраах хүртэл Pi -г анх эхлүүлэх үед бидний реле хэрхэн идэвхжсэнийг санаж байна уу? Татах төхөөрөмжийг ашиглах нь реле эхлэх үед идэвхжихээс сэргийлдэг, учир нь реле 3.3V оролт нь хүчдэлийг нэгэн зэрэг хүлээн авдаг, 5V оролт нь хүчдэл хүлээн авдаг. Хэрэв бид хүсвэл үүнийг Pi тохиргоонд хийж болно, гэхдээ дахиад л бид резистортой холбогдож байгаа тул үйлдлийн системийн шинэчлэлт, түгээлтийн хувьд тийм ч эмзэг биш юм шиг байна.

Янз бүрийн тохиргоонд өөр өөр резистор хэрэгтэй байж болох ч 10 кОм эсэргүүцэл нь надад байсан релетэй ажилладаг. Миний реле дээрх LED ачаалах үед маш бүдэг байсан боловч татах нь реле идэвхжихээс урьдчилан сэргийлэх хангалттай хүчдэлийг өгсөн.

Татах эсэргүүцэлийг хэлхээндээ нэмье. Талхны самбарын диаграмд би реле дээрх 3.3V оролт ба 3.3V эх үүсвэрийн хооронд 10 кОм эсэргүүцэл нэмсэн.

Одоо бид гаражийн хаалганы товчлуурыг "дарахад" тохиромжтой хэлхээтэй болсон; LED ба 330Ω эсэргүүцэлийг товчлуурын утсаар солих нь хялбар байх ёстой.

Алхам 7: Зэгс солих мэдрэгч

Рийд шилжүүлэгч мэдрэгч
Рийд шилжүүлэгч мэдрэгч

Гайхалтай нь бид гаражийн хаалгыг онгойлгохын тулд манай тойрог ямар байдгийг мэддэг. Гэсэн хэдий ч, гаражийн хаалга хаагдсан, эсвэл нээлттэй байгаа эсэхийг мэдэх нь сайхан биш гэж үү? Үүнийг хийхийн тулд танд дор хаяж нэг зэгс унтраалга хэрэгтэй болно. Зарим төслүүд хоёрыг санал болгодог боловч хоёулаа ижил схемийн загварыг ашиглах болно.

Бид "ердийн нээлттэй" (NO) зэгс шилжүүлэгчийн тохиргоог ашиглаж байна. Энэ нь зэгсэн унтраалга соронзны ойролцоо байх хүртэл бидний хэлхээ нээлттэй байна гэсэн үг бөгөөд энэ нь хэлхээг хааж, цахилгаан гүйдэл дамжуулах болно.

Мэдрэгчийн тохиргоо ба реле тохируулгын гол ялгаа нь:

  • Мэдрэгчид холбогдсон GPIO нь хүчийг илрүүлэх тул GPIO оролт байх болно (реле нь хүчдэл өгдөг GPIO гаралтыг ашигладаг байсан)
  • Анхдагч төлөв нь ердийн байдлаар нээлттэй байгаа тул бидний хэлхээ идэвхгүй болно гэсэн үг юм. Ийм байдлаар GPIO төлөв нь 0 байх ёстой. Реле хэлхээний татах эсэргүүцлийн үзэл баримтлалын эсрэгээр хэлхээг онгойлгоход бидний хүчдэл босгоноос доогуур байгаа эсэхийг шалгах шаардлагатай болно. Энэ нь татах резистор шаардлагатай болно. Энэ нь үндсэндээ татдагтай адил боловч хүчдэлийн оронд газардуулгатай холбогддог.

Буухиа хэлхээний нэгэн адил бид зүйлийг самбар дээр залгахаасаа өмнө талхны тавцан дээр утас холбох гэж байна.

Цахилгаан талх хавтангаа ашиглаж, LED, 330Ω эсэргүүцэл, газардуулгын утсыг холбоё. Дараа нь зэгсний унтраалгын нэг талд 3.3V, зэгсний унтраалганы нөгөө талаас LED холбоно уу. (Хэрэв та NO ба NC -ийг дэмждэг зэгс унтраалгатай бол NO байрлалыг ашиглана уу.) Соронзыг зэгс шилжүүлэгчээс холдуулж, талхны хавтангийн хүчийг асаана уу. LED нь унтарсан хэвээр байх ёстой. Соронзыг зэгс шилжүүлэгч рүү шилжүүлснээр LED асах ёстой. Хэрэв энэ нь эсрэгээрээ байвал та үүнийг NC -д холбосон байх ёстой (ихэвчлэн хаалттай)

Алхам 8: Зэгс шилжүүлэгчийг Pi -тай холбох

Зэгсэн шилжүүлэгчийг Pi -тай холбож байна
Зэгсэн шилжүүлэгчийг Pi -тай холбож байна

Одоо бид Пи -гүйгээр ажилладаг хэлхээтэй болсны дараа талхны самбараас хүчийг салгаж, Пи -ийг холбоно.

Бид GPIO17 -г дахин ашиглах болно, учир нь бид хаана байгааг нь аль хэдийн мэддэг болсон.

Релений хэлхээний нэгэн адил бид GPIO зүүг 1KΩ эсэргүүцэлээр хамгаалах болно; Гэсэн хэдий ч бид доош буулгахын тулд 10 кОм эсэргүүцэл ашиглан газардуулах болно.

Бид бүх зүйлийг утастай болгосны дараа соронзыг зэгс шилжүүлэгчээс холдуулж, P, i -ийг ачаалж, тушаалын мөрөнд орж 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 (Hardware Attached on) гэж нэрлэдэг нэмэлт модуль болох нэг буюу хэд хэдэн самбарыг овоолох нь сайн гэж би бодсон. Техникийн хувьд энэ нь EEPROM -ийн ямар ч төрөл байхгүй бөгөөд өөрөө бүртгэгдээгүй тул энэ нь малгай биш, гэхдээ би үүнийг ямар нэгэн зүйл гэж нэрлэх ёстой. Гэхдээ формат нь маш сайн бэхлэгдэж, хархнуудын үүрийг арилгадаг тул энэ нь дажгүй юм.

Сорилт нь прото хавтангууд нь жижиг хэмжээтэй тул та тэдгээрийг нэг дор багтаах боломжгүй юм. Түүнчлэн, нүхнүүдийн аль нь ч том прото самбар шиг эгнээнд холбогддоггүй. Хэдийгээр энэ нь тохиромжгүй мэт санагдаж болох ч үнэн хэрэгтээ энэ нь аврагч юм.

Миний бодож байсан зүйл бол би хяналтандаа байлгахыг хүссэн гаражийн хаалга бүрт HAT хийж болно. Ингэснээр та энэ төслийг өөрийн хэрэгцээнд нийцүүлэн өргөжүүлэх боломжтой болно.

Прото самбар дээр гурван хэлхээг бий болгох хангалттай зай байгааг олж мэдэв.

  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 гаражийн хаалга онгойлгох төсөл (урам зориг)

Raspberry Pi гаражийн хаалга онгойлгогчдод зориулсан Idiot -ийн гарын авлага

iPhone эсвэл Android гаражийн хаалга онгойлгогч

Би резистор ашиглах ёстой юу, үгүй юу?

Raspberry Pi дээрх Pullup ба Pulldown резисторуудыг ашиглах

SSH -ийг тохируулж байна

Raspberry Pi Pin диаграм.

SYSFS командууд

Цахилгаан утас

LED ба резистор

Хамгаалалт (sic) GPIO зүү

Резисторын өнгөний кодын тооцоолуур ба диаграм

Татах ба татах эсэргүүцэл

GPIO хүчдэлийн босго хэмжээ

GPIO оролтын хүчдэлийн түвшин

Config.txt дахь GPIO Control

GPIO татах эсэргүүцэл (sic)

Микроконтроллерууд дотоод татах эсэргүүцэлтэй байхад бидэнд гадны татах эсэргүүцэл яагаад хэрэгтэй вэ?

Raspberry Pi HAT гэж юу вэ?

Raspberry Pi Zero W GPIO холбогчийг хэрхэн гагнах вэ

Зөвлөмж болгож буй: