Мазмуну:

Raspberry Pi Zero Garage Door Opener Hardware: 10 Steps
Raspberry Pi Zero Garage Door Opener Hardware: 10 Steps

Video: Raspberry Pi Zero Garage Door Opener Hardware: 10 Steps

Video: Raspberry Pi Zero Garage Door Opener Hardware: 10 Steps
Video: WiFi Garage Door Controller | Raspberry Pi Pico W Project 2024, Июль
Anonim
Raspberry Pi Zero Garage Door Opener Hardware
Raspberry Pi Zero Garage Door Opener Hardware

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

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

Менин мамилем абдан жөнөкөй болушу керек, мен аппараттык жабдууну аягына чейин чыгаруу үчүн жасаган окуумдун жыйындысы катары. Бул кандайдыр бир маалымат менен башталат, андан кийин биз нан тактасына схемаларды курабыз. Ар бир кадам биздин дизайнды жана билимибизди өркүндөтүп, пиди реле жана камыш сенсорлору менен туташтыруу үчүн туруктуу аппараттык чечимди куруу менен аяктайт.

Кошумча катары, кээ бир башка долбоорлордон айырмаланып, мен Raspberry Pi Zero Wди колдонууну чечтим, аны мен бир аз мурун сатыкка койгом, бирок дагы эле столумда колдонулбай отургам. Прототип түзүүдө, эгер мен GPIO схемаларынын бирин бузуп алсам, алмаштыруу жана прототиптештирүү оңой болгон. Кемчилиги - анын ARMv6 процессору гана бар, ошондуктан Java сыяктуу кээ бир нерселер жараксыз болуп калат.

Башка нерсени кылууну чечтим, бул схема үчүн өзүмдүн кошумча бортумду түзүү болчу, андыктан мен Пиди алмаштырышым керек же алмаштырышым керек, эгер пинуттар бирдей болсо, такта жаңы Пи-ге оңой эле сайылышы керек.. Бул чычкандын уясын азайтууга жардам берет деп үмүттөнөбүз.

Менин божомолдорум:

  • Сиз ыңгайлуу ширетүү
  • Сиз Raspberry Piдеги негизги терминалдык буйруктарды кантип колдонууну билесиз
  • Сиз Raspbian Buster же жаңысын колдонуп жатасыз.
  • Сизде Пи буйрук сабынын интерфейси бар; же атайын монитор, клавиатура ж.б. менен ЖАНА/ЖЕ SSH колдонуу.
  • Сиз электр схемасынын дизайнынын негизги түшүнүгү менен таанышсыз; Мисалы, сиз бийлик менен жердин айырмасын билесиз жана кыска туташуу түшүнүгүн түшүнөсүз. Эгерде сиз үйүңүзгө жаңы розетка орното алсаңыз, анда сиз аны ээрчип кетишиңиз керек.

Жабдуулар

Бул долбоорго канчалык берилгениңизге жараша, сиз ар бир кадамда керектүү нерселерди баштап, ошол жерден кете аласыз. Бул бөлүктөрдүн көбү жергиликтүү электроникада же DIY/Maker дүкөнүндө бар, бирок мен сүрөттөмөлөрдү жакшыртуу үчүн Amazon шилтемелерин коштум.

  • MakerSpot RPi Raspberry Pi Zero W Protoboard (Pi үчүн акыркы HATти жасоо үчүн)
  • 2 Канал DC 5V Релейлик Модулу (эгерде сизде бир эшик болсо, 1 каналды алыңыз, 2 эшик үчүн 2 ж. Б.)
  • Ачык эшикти алмаштыруу, Адатта Ачык (ЖОК) (Эгерде сиз бул учурда жөн эле прототиптеп жатсаңыз жана баштоо үчүн арзан камыш өчүргүчтөрүн колдонууну кааласаңыз, анда жакшы)
  • Электрондук Fun Kit Bundle (бул мага керектүү болгон бардык резисторлорду камтыйт, ошондой эле мен туруктуу тактайга чейин прототипке жана тестирлөөгө жана үйрөнүүгө жардам берүүчү нанды жана күч блогун камтыйт). Эгер сизде мунун баары бар болсо, колдо болгон бир нече 10K, 1K жана 330 Ом резисторлору бар экенине ишениңиз.
  • Breadboard Jumper Wires (каалаганын кылат)
  • Кичи учу бар ширетүүчү темир
  • Розин өзөгү
  • Пластикалык темирдин учу тазалагыч
  • Запастык 9в электр менен камсыздоо (нан тактасын иштетүү үчүн)
  • Лайкоо практикасы үчүн арзан прототипдөө такталары (милдеттүү эмес)
  • Сиз тандаган Raspberry Pi Zero же Pi иштейт
  • Raspberry Pi үчүн баштыктар
  • HAT протобоардында колдонуу үчүн үстөлдөр.
  • Кичинекей ийне мурчтары
  • Зергердин отверткасы
  • Чакан каптал кескичтер (ширетүүдөн кийин зымды кесүү үчүн)
  • Пинцет
  • Кээ бир кичинекей калибрдүү зымдар (мен катуу ядрону жакшы көрөм) протобоартта колдонуу үчүн
  • Кичине силикон (эгер сиз комплектке киргизилгендердин ордуна 1,8 мм бетине орнотулган LED колдонууну тандасаңыз)
  • Мен чоңойтуучу чырактын кичинекей ширетүү иштерин көрүү үчүн абдан пайдалуу экенин байкадым

1 -кадам: Raspberry Pi GPIO менен таанышуу

Биз Raspberry Pi менен колдоно турган негизги интерфейс GPIO (Жалпы Максаттуу Киргизүү/Чыгуу).

Pi үчүн туура пин диаграммаңызды бул жерден табыңыз. Бул көрсөтмө Pi Zero W v1.1ге багытталат.

Биз SDA, SCL, MOSI, MISO ж.б. казыктардан алыс жашыл GPIO төөнөгүчтөрүн колдонобуз. (Мен кээ бир GPIO төөнөгүчтөрүнүн атайын максаттарга ээ экенин билдим, бул нан панелиндеги прототиптештирүүнүн артыкчылыктарынын бири, ошондуктан GPIO казыктарына 17 (пин #11), 27 (пин #13) жана 12 (#32) кадимкидей жабыштым. менин тактайым үчүн жакшы кызматтарда.

GPIO казыктары санариптик (бинардык) которгучтар катары иштөө үчүн иштелип чыккан; алар логикалык түрдө эки абалдын бири катары бар: 1 же нөл. Бул мамлекеттер пин белгилүү бир босогодон (1) жогору чыңалуу береби же алабы же белгилүү бир босогодон төмөн чыңалуу алат же жокпу, ошого жараша болот. (Биз чектер жөнүндө кийинчерээк сүйлөшөбүз.)

Белгилей кетчү нерсе, Raspberry Pi 5V жана 3.3V (3V3) менен камсыз кыла алат, GPIO казыктары 3.3V чейин иштейт. Мындан тышкары, сиз GPIOго жана балким бүт контролерге зыян келтиресиз. (Мына ошондуктан биз нан табакта прототип кылып, эң арзан Пи колдонобуз!)

Түйлүктөрдүн абалын программалык камсыздоо (чыгаруу) же абалда азыктандыруучу башка түзмөктөр (киргизүү) менен башкарса болот.

Келгиле, бул SYSFSтин кээ бир негизги буйруктарын колдонуп көрөлү. Мен бул WiringPi талап кылабы же жокпу билбейм, бирок эгер сиз көйгөйлөргө туш болсоңуз, анда сиз минималдуу Raspbian сүрөтүн колдонуп жатсаңыз, аны орнотууну каалашыңыз мүмкүн.

Биринчиден, өзүбүзгө GPIO 17ге мүмкүнчүлүк берели:

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

Эми GPIO баасын текшерип көрөлү:

sudo cat/sys/class/gpio/gpio17/value

Мааниси нөлгө барабар болушу керек.

Бул жерде 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ди айдоого колдонулуучу токтун көлөмүн чектөө менен.

Бирок кандай өлчөмдөгү резистор? Ооба, мен бир нече веб -макалаларды окуп, акыры LED менен 3.3V үчүн 330Ω резисторго жайгаштым. Сиз алардын бардык эсептөөлөрүн окуп, өзүңүз түшүнүп алсаңыз болот, бирок мен нандын үстүндө бир нечесин сынап көрдүм жана 330 жакшы иштеди. Мен текшерген бир маалымат Raspberry Pi форумдарында болгон, бирок Google издөө дагы көптөгөн нерселерди табат.

Ошо сыяктуу эле, Pi GPIO казыктары ашыкча чыңалуудан коргоого муктаж. Алар 3.3Vга чейин колдонушат деп айтканым эсиңиздеби? Ооба, бир аз азыраак зыян келтирбейт. Көпчүлүк долбоорлор 1KΩ каршылыгын колдонушат, мен да ошону кылдым. Дагы, сиз муну өзүңүз эсептей аласыз, бирок бул абдан популярдуу тандоо. Дагы, Raspberry Pi форумдары кээ бир маалыматтарды берет.

Эгер сиз муну толук түшүнбөсөңүз, дагы бир аз окуп көрүңүз. Же жөн эле көрсөтмөлөрдү аткарыңыз. Кайсынысы сиз үчүн иштейт.

Көптөгөн резисторлор таңгакта белгиленген, бирок сиз аларды алып салгандан кийин кантип айырмалай аласыз? Резистордун кичинекей түстүү тилкелери сизге айтып бере алат.

Андан кийин, биз ишти баштоо үчүн күчү бар нанга жөнөкөй LEDди туташтырабыз.

3 -кадам: LEDди өткөрүү

Светодиоддун өткөргүчтөрү
Светодиоддун өткөргүчтөрү

Биринчи кадам - бул панельдеги LEDди зым менен жабуу. Бул коопсуз иштей баштаганда, биз аны Raspberry Pi менен байланыштырып, GPIO пинден башкарабыз.

Үмүт кылам, сиздин нан табыңыз 3.3v үчүн кубат булагы менен келген. Болбосо, сиз бардыгын зымга байлап, аны түз Пи менен байланыштыра аласыз.

Светодиодду табыңыз жана 330Ω каршылыгын колдонуп көрсөтүлгөндөй аны нанга тактаңыз. 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 өчөт. (Бул кийинчерээк гараждын эшигин ачуу үчүн баскычты "баскан" схема катары колдонулат.)

Нан панелинен электр кубатын алып салыңыз жана Пини көрсөтүлгөндөй туташтырыңыз. (Муну Пи дагы өчүрүлүп турганда жасоо эң жакшы.) Биз 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/value

Мааниси нөлгө барабар болушу керек.

Эми GPIO иштетели:

sudo echo "1">/sys/class/gpio/gpio17/value

Бул LEDди күйгүзүшү керек. Светодиодду өчүрүү үчүн GPIO'ду төмөнкүдөй өчүрүңүз:

sudo echo "0">/sys/class/gpio/gpio17/value

МАЙ болушу мүмкүн болгон нерселердин бири, LEDдин жетиштүү кийлигишүүсү же күйгүзүү/өчүрүү циклдери менен, сиз LED бир аз күйүп турганын байкайсыз. Мунун себеби бар, биз муну келечектеги кадамда талкуулайбыз.

5 -кадам: 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ге кайтып келе жаткан жерди туташтырыңыз. Бул мисалда мен GPIO 17ге 3.3V туташтырдым. GPIO көйгөйлөрүнөн коргоо үчүн GPO зымына 1KΩ каршылыгын туташтырууну сунуштайм. (Бул Резисторлордун кадамында айтылган.)

Нан тактасын кубаттаңыз, эми Пиңизди кубаттаңыз. LED күйүп турушу керек.

Эми Piде төмөнкү буйруктарды аткарыңыз:

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

sudo echo "out">/sys/class/gpio/gpio17/багыт sudo cat/sys/class/gpio/gpio17/value

Мааниси нөлгө барабар болушу керек.

Эми GPIO иштетели:

sudo echo "1">/sys/class/gpio/gpio17/value

Бул LED өчүрүү керек.

6-кадам: Тартуу каршылыгын кошуу

Тартуу каршылыгын кошуу
Тартуу каршылыгын кошуу

Бул жерде сиздин бардык нерселериңиз иштеши керек. Бирок GPIOs жөнүндө биз талкуулабаган бир нерсе бар, бул "калкып жүрүүчү" чыңалуу, биз буга чейин айткан чегине жараша болот.

GPIOдо жалпысынан эки логикалык абал бар (1 жана нөл), ал GPIO бөлүмүндө айткандай, чыңалуу чыңалуудан жогору же ылдый болгонуна негизденип, бул абалдарды аныктайт. Бирок көпчүлүк GPIOдордогу көйгөй - "калкып жүрүүчү" чыңалуу мүмкүнчүлүгү; Raspberry Pi учурда, нөлдөн 3.3Vга чейин. Бул кийлигишүүдөн же чынжырдын чыңалуусунун жогорулашынан/төмөндөшүнөн келип чыгышы мүмкүн.

Биз гараждын эшигинин кнопкасынын релеси жөн эле калкып турган чыңалуудан жандануусу мүмкүн болгон жагдайды каалабайбыз. Чынында эле, биз аны айткандан кийин гана жандырылышын каалайбыз.

Мындай кырдаалдар белгилүү бир чыңалууну күчөтүү жана калкып турган чыңалууну болтурбоо үчүн өйдө жана ылдый каршылыгын колдонуу менен чечилет. Биздин учурда, биз реленин активдештирилишине жол бербөө үчүн чыңалууну камсыз кылууну каалайбыз. Ошентип, чыңалууну босогодон өйдө көтөрүү үчүн бизге каршылык резистору керек. (Босоголор күлкүлүү нерселер … Мен алар жөнүндө окууга аракет кылдым жана алар жакшы аныкталганын жана башымда көп маалымат бар -жогун билүүгө аракет кылдым, кээ бирлери өтө эле жөнөкөй көрүндү. Мультиметр менен мен муну көрүп турганымды айтуу жетиштүү. чыңалуу 3,3Вдан төмөн болчу, бирок баары мен прототиптегендей иштегендиктен, мен жөн эле жылып кеттим. Сенин жүгүрүшүң ар кандай болушу мүмкүн, ошондуктан биз акыркы продуктубузду ширетүүдөн мурун нанга түштүк.)

Албетте, Raspberry Piде кодго же жүктөөдө орнотууга боло турган ички жана өйдө каршылаштар бар. Бирок, ал кийлигишүүгө өтө сезгич. Аларды колдонуу мүмкүн болсо да, биз буга чейин бир схемада резисторлор менен иштеп жаткандыктан, тышкы түзүлүштү колдонуу туруктуулукка арзыйт.

Баарынан маанилүүсү, бул тартууну жаратат жана Pi инициализацияланганга чейин GPIO пин абалынын демейки абалына жетиштүү чыңалууну кошот. Эстейли, биздин реле LEDди кантип жандырганбыз, биз Пиди өчүрмөйүнчө аны баштапкы абалга келтиргенибизде? Тартууну колдонуу реленин ишке киришине жол бербейт, анткени 3.3В релеси 5В кирүү чыңалуусун кабыл алат. Биз кааласак, муну Pi конфигурациясында жасай алмакпыз, бирок дагы эле, биз баары бир резисторлор менен туташтырылгандыктан, ал операциялык тутумдун жаңыртуулары менен таралышына анча алсыз көрүнөт.

Ар кандай конфигурацияларга башка резисторлор керек болушу мүмкүн, бирок менде болгон реле менен 10 кОмдук резистор иштеди. Менин релемдеги светодиод жүктөөдө абдан күңүрт болчу, бирок тартма релени активдештирүүгө жол бербөө үчүн жетиштүү чыңалууну камсыздады.

Келгиле, биздин схемага тартылуу каршылыгын кошолу. Нан диаграммасында мен реледеги 3.3V киргизүү менен 3.3V булагынын ортосунда 10 кОмдук резистор коштум.

Эми бизде гараждын эшигинин баскычын "басуу" үчүн ылайыктуу схема бар; LED жана 330Ω каршылыгын реалдуу баскыч зымдары менен алмаштыруу оңой болушу керек.

7 -кадам: камыш которуу сенсору

Камыш которуу сенсору
Камыш которуу сенсору

Абдан сонун, биз гараждын эшигин ачууну иштетүү үчүн биздин схеманын кандай экенин билебиз. Бирок, гараждын эшиги жабык экенин же ачык экенин билүү жакшы эмеспи? Ал үчүн жок дегенде бир камыш которгуч керек. Кээ бир долбоорлор экөөнү сунуштайт, бирок экөө тең бир схеманы колдонушат.

Биз "кадимкидей ачык" (NO) камыш которгуч конфигурациясын колдонуп жатабыз. Бул биздин камыш камыш магнитке жакын болгонго чейин ачык экенин билдирет, бул чынжырды жабат жана электрдин агышына жол берет.

Сенсордун орнотулушу менен релелик орнотуунун ортосундагы негизги айырмачылыктар:

  • Сенсорго туташкан GPIO кубаттуулукту аныктайт, андыктан ал кирүүчү GPIO болуп калат (реле чыңалуу берген GPIO чыгарууну колдонгондо)
  • Демейки абал кадимкидей ачык болгондуктан, бул биздин схема активдүү болбойт дегенди билдирет. Ошентип, GPIO абалы 0 болушу керек. Реле схемасындагы тартылуу каршылыгынын түшүнүгүнө тескери, биз чынжыр ачык болгондо чыңалуубуз босогодон ылдый болушун каалайбыз. Бул ылдый түшүүчү резисторду талап кылат. Бул негизинен тартма менен бирдей, бирок бийликтин ордуна жерге туташкан.

Эстафеталык схемага окшоп, биз нерселерди нанга такап, Пи менен байланыштырабыз.

Келгиле, кубаттуу нан тактабызды колдонуп, LED, 330Ω резистор жана жерге зым өткөрөлү. Андан кийин камыш которгучтун бир жагына 3.3В жана камыш которгучтун экинчи тарабынан LEDге туташтырыңыз. (Эгерде сизде NO жана NC колдогон камыш которгучуңуз болсо, NO абалын колдонуңуз.) Магнитти камыш которгучтан алыстатып, нан тактасынын кубатын күйгүзүңүз. LED өчүк бойдон калышы керек. Магнитти камыш которгучка карай жылдырыңыз, жана LED жарык бериши керек. Эгерде бул тескерисинче болсо, анда сизде NC үчүн зым бар (адатта жабык)

8 -кадам: Камыш которуштурууну 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/value

Мааниси нөлгө барабар болушу керек. Магнитти камыш которгучка жылдырыңыз. LED жарыгы күйүшү керек, ал эми мааниси 1.

Voila! Биз камыш которгучту Пи -ге өткөрдүк!

9 -кадам: Прототипдөө тактасында туруктуу чечим кабыл алуу

Прототиптөө тактасында туруктуу чечим кабыл алуу
Прототиптөө тактасында туруктуу чечим кабыл алуу
Прототиптөө тактасында туруктуу чечим кабыл алуу
Прототиптөө тактасында туруктуу чечим кабыл алуу
Прототиптөө тактасында туруктуу чечим кабыл алуу
Прототиптөө тактасында туруктуу чечим кабыл алуу
Прототиптөө тактасында туруктуу чечим кабыл алуу
Прототиптөө тактасында туруктуу чечим кабыл алуу

Эми биз чынжырларыбыз кандай болушу керек экенин билип, прототипдөө тактасына туруктуу версиясын кошууга убакыт келди. Мен Pi Zero W колдонуп жүргөндүктөн, мен кичинекей прото такталарды алдым.

Zero форматын колдонуп, бир же бир нече такталарды, Raspberry Pi HAT (Аппараттык тиркелген) деп атаган кошумча модулду жыйнап алууну жакшы деп ойлодум. Ооба, техникалык жактан EEPROMдун эч кандай түрү жок жана өзү катталбагандыктан, бул Шляпа эмес, бирок мен аны бир нерсе деп аташым керек. Бирок формат жакшы орнотулат жана келемиштердин уясын жок кылат, ошондуктан бул сонун.

Кыйынчылык - прото такталар кичинекей болгондуктан, аларга көп батпайсыз. Ошондой эле, тешиктердин бири дагы чоңураак протоколдорго окшоп катар менен байланышкан эмес. Бул ыңгайсыз көрүнгөнү менен, чынында бул куткаруучу.

Мен ойлогом, мен башкаргым келген ар бир гараждын эшигине HAT түзө алам. Ошентип, сиз бул долбоорду муктаждыгыңызга жараша кеңейте аласыз.

Прото тактасында мен үч схеманы түзүүгө жетиштүү орун бар экенин көрдүм:

  1. реле схемасы
  2. сенсордук схема
  3. экинчи сенсордук схема

Бул жердеги гараждын эшиги үчүн абдан жакшы.

Ошентип мен сенсорлор үчүн GPIO17 жана 27, реле үчүн GPIO12ди колдондум. Бул протоколдун эң сонун жагы, GPIOго башына тийбестен зым менен байланыша аласыз. Бирок, ооба, сизге резисторлоруңуздан тышкары (жана кааласаңыз, Светодиоддор) стекингдин башын ширетүү керек болот.

Мен тактада биз прототиптеген схемаларды кайра түздүм. Сиз менин ширетүүм кемчиликсиз эмес деп айта аласыз, бирок ал дагы деле иштейт. (Кийинки такталар менде практика болгондон кийин жакшыраак болот.) Менде Aoyue 469 бар жана жөн эле 4төн жогору турган чач GPIO башын ширетүү боюнча сунуштарга негизделген эң жакшы температура болчу.

Мен сырткы туташкан катарларды жерге жана ички бөлүгүн 3.3V үчүн колдондум. Мен резистордун зымын көпүрө катары колдондум, анткени бизде туташкан катарлар жок болчу. Калганынын баары диагоналдуу жана капталында, анткени мен аларды тактага жайгаштыруунун эң жакшы жолу болгон.

L-Rдан (алдыңкы жагын карап, каршылыктын жагы), мен кошкон чыгуу казыктары сенсор GPIO зымы үчүн, экинчи сенсор GPIO зымы жана реле GPIO зымы үчүн. GPIOго түздөн -түз зым салуунун ордуна, аны биз башыбыздан жасай алабыз, бул казыктар биздин бардык резисторлорубузга туташат жана сенсорлордо мен microLEDге коштум. (LED толугу менен өзүнчө циклда экенин эске алыңыз, андыктан ал күйүп кетсе, схема дагы эле иштейт.)

Fritzing файлы тиркелген, бирок Instructables файлды жүктөөдө көйгөйлөргө туш болгондуктан, мен аны киргизүү үчүн ага "txt" деген жалган кеңейтүүнү берүүгө аргасыз болдум.

10 -кадам: Шилтемелер

Raspberry Pi Garage Door Opener Project (илхам)

Raspberry Pi Garage Door Opener үчүн Idiot колдонмосу

iPhone же Android гараж эшик ачкычы

Мен резистор колдонушум керекпи же жокпу?

Raspberry Piдеги Pullup жана Pulldown резисторлорун колдонуу

SSH орнотулууда

Raspberry Pi Pin диаграммалары.

SYSFS буйруктары

WiringPi

LED жана резисторлор

Коргоо (sic) GPIO Pins

Resistor Color Code Calculator жана диаграмма

Резисторлорду тарткыла жана түшүргүлө

GPIO чыңалуу чектери

GPIO киргизүү чыңалуу деңгээли

Config.txt файлында GPIO Control

GPIO Pull Up Resisance (sic)

Микроконтроллерлерде ички тартуучу резисторлор болгондо эмне үчүн бизге тышкы тартуучу резисторлор керек?

Raspberry Pi HAT деген эмне?

Raspberry Pi Zero W GPIO туташтыргычын кантип ширетүү керек

Сунушталууда: