Мазмуну:

Автоматтык таштанды кутусу: 7 кадам
Автоматтык таштанды кутусу: 7 кадам

Video: Автоматтык таштанды кутусу: 7 кадам

Video: Автоматтык таштанды кутусу: 7 кадам
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Июнь
Anonim
Автоматтык таштанды кутусу
Автоматтык таштанды кутусу
Автоматтык таштанды кутусу
Автоматтык таштанды кутусу

Бул таштанды челегин автоматтык түрдө ачууну аныктоочу кыймыл. Бул Wi -Fi байланышы бар жана ал толгондо текст кабарын жөнөтөт. Бул Массачусетс университетинде ECE -297DP үчүн жасалган - Амхерст. Бул курстун негизги максаты-өзүмдүн теңтуштарымдын артында экенимди сезип, практикалык электроника менен тажрыйба топтоо жана лекцияларымдан үйрөнгөн нерселеримди тажрыйбалык иш менен айкалыштыруу мага пайда алып келет.

Керектүү материалдар:

- 1x Arduino Uno

- 1x ESP-8266

- 2x Microservos

- 2x УЗИ HC-SR04 кыймыл детекторлору

- 1x RBG LED

- 3x 330 Ω резисторлор

- 1x 3.3 Voltage Regulator

- 2x 100 uF электролитикалык конденсатор

- 1x 0.1 uF керамикалык конденсатор

- 1x Corona Extra 12 таңгак Longneck Бөтөлкө Пиво Контейнери

1 -кадам: Оригиналдуу пландар жана прогресс

Оригиналдуу пландар жана прогресс
Оригиналдуу пландар жана прогресс
Оригиналдуу пландар жана прогресс
Оригиналдуу пландар жана прогресс
Оригиналдуу пландар жана прогресс
Оригиналдуу пландар жана прогресс
Оригиналдуу пландар жана прогресс
Оригиналдуу пландар жана прогресс

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

Кадамдар:

1. Ардуинонун негиздерин үйрөнүңүз

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

2. Онлайн DIY Arduino долбоорлорун караңыз

- Бул чыгармачыл жана пайдалуу электрониканы жасоого кандайдыр бир илхам табуу болчу

3. Мен жасагым келген нерсени табуу үчүн илхамды колдонуңуз

- Мен жалкоо болгондуктан жана кийинки семестрде досторум жакшы тазалабагандыктан, мен автоматтык таштанды челегин жасоону чечтим.

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

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

Семестрдин аягында келип, текстти жөнөтүү үчүн WiFi компонентин интеграциялоодо кыйынчылыктар болду жана тынчсыздандым, ошондуктан сигнализация системасы катары башка альтернативаларды ойлодум. Мен таштанды чыгарылмайынча токтобой турган тажатма үн чыгаруу үчүн пьезо элементтерин карадым. Ошондой эле, мен таштанды деңгээлин көрсөтүү үчүн ар кандай түстөрдү жасоо үчүн LEDди колдонууну карадым.

Муну түзүү үчүн эки сенсор керек болот: Биринин үстү колу ачылганын сыртынан сезиши үчүн, экинчиси таштандылардын деңгээлин аныктоо үчүн. Башында, WiFi модулу гана сигналды сигнал катары жөнөтөт, бирок семестрдин аягында муну колдоо үчүн таштанды челегинин үстүнө жарык кошууну чечтим.

Бул долбоордун долбоору, мен аягына чейин турдум.

2 -кадам: Изилдөө

Бул сыноого даярдануу үчүн мен көп нерселерди изилдедим.

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

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

Анан кандай сенсорлорду колдонуу керек экенин изилдедим. Эки түрү бар болчу: УЗИ сенсор (HC-SR04) жана инфракызыл сенсор (PIR Motion Sensor). УЗИ сенсору импульсту жиберет, ал кайра артка кайтат жана HC-SR04 тарабынан окулат, бул аралыкта убакытты эсептеп, анын ортосундагы аралыкты жана секирүүнүн жайгашуусун аныктайт. Мен ички сенсор үчүн УЗИ сенсорун колдонууну чечтим, анткени аралыкты аныктоо пайдалуу болмок, айрыкча таштанды радиацияны көп чыгарбайт. Анан мен HC-SR04ти ички жана тышкы сенсор үчүн колдонуу оңой деп чечтим.

ESP-8266 жөнүндө изилдеп, мен wifi кандай иштээри жөнүндө көп нерселерди билдим. Мен кирүү түйүндөрү жана станция пункттары жөнүндө билдим. Мен веб -серверлер жөнүндө мүмкүн болгон вариант катары билдим. Аягында. ESP - бул Ардуиного толугу менен өзүнчө программалана турган өзүнүн коллегиясы. Ошентип, бул долбоорду аны колдонуп бүтүрүү мүмкүн. ESPти программалоо үчүн, мен аны Arduino менен байланыштырдым жана Arduinoдогу GND менен туташып, аны өчүрүп, ESP менен USB кабелинин ортосунда коммуникатор катары иштешим керек.

Андан кийин мен ESPти веб -сайттан маалыматка жетүүнү же суроону каалаган кардар катары жасай алаарымды билдим. Муну билип туруп, мен IFTTT.com веб -сайтын колдонуп, вебхуктарды SMS жазышууга кошуу үчүн апплет түздүм, окуя башталганда (кардар белгилүү бир URLден маалыматтарды сураганда, ал текст жөнөтөт).

Мен изилдеген дагы бир нерсе - чыңалуу жөндөгүчтөр, диоддор жана резисторлор. Жарык диодду Arduino менен туташтыруу үчүн резисторлор керек болчу. Диоддор жана чыңалуу жөнгө салуучулары ESP-8266ны иштетүү үчүн мүмкүн болгон чечимдер болгон, анткени ал Vcc үчүн 3.3V талап кылат. Чыңалуу жөндөгүчү эң оңой чечим болгон. Arduinoдо 3.3V варианты бар болсо да, мен аны көбүрөөк билүү үчүн мүмкүнчүлүк катары алдым.

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

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

3 -кадам: Кыйынчылыктар жана аларды кантип жеңдим

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

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

Тайм менеджмент да мен үчүн абдан оор болду. Убакытты башкарууга келгенде менде алсыздык бар экенин билем, айрыкча, бул семестр 21 кредит менен ашыкча жүктөлгөндүктөн укмуштуудай толтурулган.

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

Дагы бир кыйынчылык менин көп бөлүктөрүн билбегендигимден болду. Алардын кандай иштегенин, кайсы зымдар кайда туташканын билбедим. Муну жеңүү үчүн, мен маалымат баракчаларын интернеттен издөөнүн баалуу мүлкүн үйрөндүм, бул мага керектүү чыңалуу киргизүүнүн эмне экенин жана VCC, GND жана кириштерди кайда зым менен жабуу керек экенин түшүнүүгө жардам берди. Эсимде, мен атайын детекторлорго серволорду туташтырууга аракет кылып, серво таптакыр иштебегендиктен капаландым.

Бул мени бир нерсе туура эмес болуп калды деп үмүттөнүп, ар кандай серверлерди сынап көрүүгө алып келди. Бирок, алар дагы эле иштебей калды, демек бул менин зымым же менин кодум болушу керек болчу. Мен сервистерди 4 АА батарейкасына туташтырып, тышкы энергия булагын колдонууга аракет кылдым, кээде, компьютердеги USB аларды кубаттоо үчүн жетиштүү чыңалуу бербей калышы мүмкүн деп. Акыры, мен маалымат барагын карап көрүүнү чечтим жана бул менин зымым дайыма туура эмес болгондуктан болгонун түшүндүм.

Менин эң кыйын тоскоолум WiFi компонентин Arduino менен бириктирүүгө аракет кылуу болду. Мен интернеттен көптөгөн окуу куралдарын издеп жүрдүм жана программалоону түшүнүү мага кыйын болду. Бирок, бир веб -сайт мага жардам берип, мени IFTTT менен тааныштырды. Мен жеңишке жеттим деп ишенчүмүн, бирок тактайлар өзүнчө экенин түшүнгөн жокмун жана такталарды башка код менен программалоону аяктадым. Мен аларды кантип туташтыруу керек экенин билүү үчүн бир жума тыгылып турдум, бирок интернет жардам берген жок. Бул тоскоолдукту жеңүү үчүн акыры доктор Маллохтон жардам сурадым. Мен абдан текебер адаммын жана жалгыз нерсени жасоону каалайм. Ал мага мурда жардам берген, бирок менде көп көйгөй болгон жок, тескерисинче, менин долбоорума жакындоонун мүмкүн болгон жолдорун талкуулоо. Жөн эле доктор Маллохту сурап, менин ESP-8266 интеграциясын дароо чечти.

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

4 -кадам: Окуу процессин жөнөкөйлөтүү үчүн M5ке болгон өзгөртүүлөр

Окуу процессин жөнөкөйлөтүү үчүн M5ке болгон өзгөртүүлөр
Окуу процессин жөнөкөйлөтүү үчүн M5ке болгон өзгөртүүлөр

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

Менин оюмча, M5 ар кандай темалар боюнча көбүрөөк семинарларды өткөрүү жана аларды көбүрөөк жарыялоо аркылуу окуу процессин жөнөкөйлөтүүгө жардам берет. Мен M5те өтүп жаткан семинарлар жөнүндө дээрлик уккан эмесмин, жана мен билгендер - бул ширетүүчү цехтер.

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

5 -кадам: Мен аягында эмнеге жетиштим

Мен автоматтык таштанды челегин жасай алдым

Эң маанилүүсү, бирок мен убакытты башкаруунун маанилүүлүгүн, схемаларды кантип курууну жана электрондук бөлүктөрдү колдонууну үйрөндүм. Мен Arduino, толкундар жана сезүү, резисторлор, нан такталары, WiFi, ESP-8266, веб-серверлер, чыңалуу жөндөгүчтөр, диоддор ж. Электроника жана схема жөнүндө практикалык деңгээл жөнүндө түшүнүк алуу.

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

Менин эң чоң жетишкендигим - электротехникалык жана компьютердик инженерия менен иштөөнү уланта береримди ишенимдүү түрдө айта алуу.

6 -кадам: Башка бирөөлөр кантип менин изиме түшүшмөк

Эгерде кимдир бирөө семестрдин башында менде болгон болсо, мен "Оригналдык пландар жана прогрессияда" баяндалган кадамдарды жасоону сунуштаар элем. Бул мага чынында эмне кылууга кызыкдар экенимди жана эмне кыла алаарымды аныктоого жардам берди.

Тактап айтканда, бул долбоор үчүн мен аны кантип жасоону төмөндө сүрөттөп берем.

1 -кадам: IFTTT.com сайтына өтүңүз, телефон номериңизди каттап, анан апплет түзүңүз. Webhooks болуу үчүн "if" жана SMS болуу үчүн "that" тандаңыз. Ал түзүлгөндөн кийин, издөө кутусунан Maker Webhooks издеп, документтерди чыкылдатыңыз. Маалыматты өзүңүздүн окуяңыздын аты менен толтуруңуз жана URLди көчүрүңүз. Бул түбүндө жайгашкан ESP-8266 коду үчүн колдонула турган URL.

1-кадам: ESP-8266ды төмөнкүдөй туташтырыңыз:

RXD -> RX

TXD -> TX

VCC -> VCC

CH_PD VCC

GPIO0 -> GND

GND -> GND

Андан кийин Arduinoдогу GNDди өчүрүп коюу үчүн аны баштапкы абалга туташтырыңыз.

2-кадам: Төмөндөгү кодду киргизип, ESP-8266га жүктөңүз (адегенде esp-8266 тактасын IDEге жүктөп алыңыз). Андан кийин ESP-8266 ажыратыңыз.

3 -кадам: Ардуинодогу 8 жана 9 -пинге серверлерди туташтырыңыз

4-кадам: Биринчи HC-SR04 сенсорун 10 жана 13-казыктарга туташтырыңыз (тиешелүүлүгүнө жараша триггер жана жаңырык үчүн). Андан кийин экинчисин 11 жана 12 -казыктарга туташтырыңыз (дагы триг жана echo үчүн).

5 -кадам: RGB LEDди 4 (кызыл), 5 (жашыл) жана 6 (көк) пинге туташтырыңыз.

6 -кадам: GPIO2ди 2 -пинге туташтырыңыз

7 -кадам: Төмөндөгү кодду киргизиңиз (ECE_297_DP) жана аны Arduinoго жүктөңүз.

8 -кадам: Эски кайра иштетилген пиво кутучасын жана капкакка картон бөлүгүн табыңыз. Ыссык клей сервого жабышып, андан кийин сервоту боттун ар бир жагына ысык желим менен жабышат. Калпакчанын таякчаларына капкагын скотч менен чаптаңыз. Эки сенсорду капкакка скотч менен жабыңыз (ичи - таштандыларды аныктоо үчүн (11 жана 12 -пинтер), ал эми сырткы кыймылды аныктоо үчүн (10 жана 13 -пинтер). Анан диодду капкактын үстүнө скотч менен чаптаңыз. Жана көрксүз зымдарды жашыруу үчүн кутунун артындагы зымдарды скотч менен жабыңыз.

7 -кадам: Мен андан кийин эмне кылмак элем

Долбоор боюнча алдыга жылып, менде LEDден тышкары үн сигналын ишке ашыруу боюнча кээ бир идеялар бар болчу. Мен иштөөгө ESP-8266 алгандыктан, мен иштебөөнү чечтим. Бирок, эгер мен алдыга жыла турган болсом, анда бирди кошуп, элди таштандыдан арылтуу кызыктырат.

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

ESP-8266га бир альтернатива, мен аны интеграциялай албай жатам деп тынчсызданып жатканда, Bluetooth модулун колдонуп жаттым. Менин досум Шон мага буга чейин долбоор түзгөндүгүн айткан, анда ал өзүнүн долбоорунан телефонго маалымат жөнөтүп, Bluetooth модулун колдонгон. Ал салыштырмалуу оңой болгонун айтты. Бирок, мен WiFi модулун олуттуу детективдүү иштерди жасоодон мурун иштеттим. Менимче, бул жол мени кайда алып барат эле, кызык болмок.

Мындан тышкары, мен "таштанды баштыгын автоматтык түрдө ороо" бөлүгүн ишке ашырууну жакшы көрмөкмүн, бирок бул азыркыга чейин менин лигамда жок. Балким, келечекте бул долбоорду кайра карап чыгып, аны эффективдүү кылууга аракет кылам.

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