Мазмуну:

Долбоорду берүүчү: 14 кадам
Долбоорду берүүчү: 14 кадам

Video: Долбоорду берүүчү: 14 кадам

Video: Долбоорду берүүчү: 14 кадам
Video: Баланы шыктандырган 5 сөз 2024, Ноябрь
Anonim
Project Feeder
Project Feeder

Үй жаныбарларыңызды үйдөн алыс же диваныңыздын сооронучунда багууну каалаган белеңиз? Андай болсо, бул долбоор сиз үчүн! Project Feeder - бул үй жаныбарларыңызды автоматтык түрдө же телефонуңуздан же компьютериңизден кол менен багууга мүмкүндүк берген ачык булак долбоору. Сиз ошондой эле түз эфирди ээрчип, үй жаныбарыңыздын тамактануусун көзөмөлдөй аласыз.

Баштоодон мурун!

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

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

Жаратуучунун жөндөмү:

  • 3D-басып чыгаруу же басып чыгаруу кызматына кирүү
  • Soldering
  • Негизги электроника билими

Куралдар:

  • 3D принтер
  • Кандооч
  • 3D-принтер жипче кошулмаларын иштетүүчү ысык желим пистолети же башка клей
  • Бурамалар

Жабдуулар

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

Маанилүү:

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

Raspberry Pi 4 Model B / 2GB + 16GB (мин. Талап) Micro SD карта

Rasberry Pi акциялары азырынча чектелүү, бул үчүн айлананы кароо керек болот.

12V 60W Power Supply адаптери

www.banggood.com/AC-100-240V-to-DC-12V-5A-…

5.5mm X 2.1mm DC Power Supply Jack Socket (Unique)

www.banggood.com/10pcs-5_5-x-2_1mm-DC-Powe…

DC-DC 12V үчүн 5V 3A Бак Step Down Power Module (уникалдуу)

www.banggood.com/LM2596-DC-DC-Voltage-Regu…

42mm 12V Nema 17 Эки фазалуу Stepper Motor

www.banggood.com/42mm-12V-Nema-17-Two-Phas…

L298N Dual H Bridge модулу

www.banggood.com/Wh Wholesale-L298N-Dual-H-Br…

GY6180 VL6180X Учуу расстояние сенсорунун убактысы

www.banggood.com/GY6180-VL6180X-Time-Of-Fl…

Infrared тоскоолдуктардан качуу сенсору (x3)

www.banggood.com/3Pcs-Infrared-Obstacle-Av…

USB камера

www.banggood.com/Electronic-Camera-Module-…

Арткы жарык 16 × 2 ЖК, 8051 микроконтроллери I2C

www.hobbyelectronica.nl/product/1602-lcd-d…

Эки багыттуу деңгээл которгуч

www.banggood.com/nl/Two-Channel-IIC-I2C-Lo…

Жалпы маанидеги резисторлор (10k, 220R, 470R)

www.banggood.com/Wh Wholesale-Geekcreit-600pc…

LED (x2)

Диоддор (x2)

12V ON/OFF которгуч (уникалдуу)

www.banggood.com/5pcs-12V-Round-Rocker-Tog…

Гайкалар: 3x8mm, 3x10mm, 3x12mm

1 -кадам: SD карта жаркырайт

SD карта жаркырап жатат
SD карта жаркырап жатат

Бул кадам үчүн SD картаңызды берилген сүрөтү менен жаркырашыңыз керек болот:

thomy.stackstorage.com/s/KbCfVgoU0t8gU3C

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

Эгерде сиз кодду карап көргүңүз келсе, бардык керектүү кодду төмөнкү жерден ала аласыз:

github.com/VanIseghemThomas/ProjectFeeder

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

2 -кадам: Pi ичине SSH

SSH Pi ичине кирди
SSH Pi ичине кирди

Жаркыроо бүткөндө, азыр SD картаны пи ичине салып, күйгүзө аласыз. Ethernet кабелин колдонуп пиңизге туташканыңызды тактаңыз. Эми сиз ага SSH аркылуу ip 169.254.10.1 менен туташа алышыңыз керек. Мен PuTTY деп аталган программаны колдоном, бирок эгер сиз программалык камсыздоону орнотууну каалабасаңыз, анда ар дайым төмөнкү буйрукту командалык сапка териңиз:

ssh [email protected]

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

  • Колдонуучу: feederpi
  • Сырсөз: Redeef1

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

feederpi үчүн [sudo] сырсөзү:

Жөн гана crtl+c басыңыз жана сизде азыр кабык болушу керек.

Эми төмөнкүлөрдү териңиз:

sudo -i

Эми сиз root катары кирдиңиз.

3 -кадам: Wifi орнотуу

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

Эми сиз root катары кирдиңиз жана тере аласыз:

wpa_passphrase "Сиздин SSID" "Сырсөзүңүз" >> /etc/wpa_supplicant/wpa_supplicant.conf

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

nano /etc/wpa_supplicant/wpa_supplicant.conf

Эми сиз терүү аркылуу пиңизди кайра жүктөй аласыз:

азыр кайра жүктөө

Эми пи -ге жүктөө жана SSH менен кайра кирүү үчүн бир аз убакыт бериңиз, сиз терип жаткан Wi -Fiга туташууңуз бар -жогун билүү үчүн:

ip a

Wlan0 интерфейсинин астында сиз ip-дареги менен окшош нерсени көрүшүңүз керек, бул сиз Wi-Fi тармагыңызга ийгиликтүү туташканыңызды билдирет. Кийинчерээк баары туташтырылганда, программа муну ЖКга көрсөтөт.

4 -кадам: Бөлүктөрдү басып чыгаруу

Бул долбоор үчүн сизге керектүү бөлүктөр бул жерде:

www.thingiverse.com/thing:4459996

Бул бөлүктөрдүн бардыгын басып чыгаруу бир аз убакытты талап кылат, андыктан сизге бир аз сабыр керек.

Бул мен колдонгон жөндөөлөр (PLA):

  • Катмар бийиктиги: 0.3мм
  • Басып чыгаруу ылдамдыгы: 50-60мм/с
  • Шланганы температурасы: 200 ° C
  • Төшөк температурасы: 60 ° C

Бул жөнүндө айта турган көп нерсе жок, көңүл ачуу.

5 -кадам: Бөлүктөрдү чогултуу (киришүү)

Бөлүктөрдү чогултуу (киришүү)
Бөлүктөрдү чогултуу (киришүү)
Бөлүктөрдү чогултуу (киришүү)
Бөлүктөрдү чогултуу (киришүү)

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

Кеңеш 1:

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

Кеңеш 2:

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

6 -кадам: Топту чогултуу (Диспенсер)

Үстүн чогултуу (диспенсер)
Үстүн чогултуу (диспенсер)
Үстүн жыйноо (диспенсер)
Үстүн жыйноо (диспенсер)
Үстүн жыйноо (диспенсер)
Үстүн жыйноо (диспенсер)

Бөлүктөр сүрөттө көрсөтүлгөндөй жайгаштырылган.

Алар "табакчалар" деп аталат. Плиталардын бири сиздин тепкич моторуңузга чогулат.

Болттордун үстү бети менен бирдей болушун текшериңиз, антпесе азыктандыруу тосулуп калат. Бул үчүн 3x8мм болтторду жана "Stepper_offset" моделин тепкич менен табактын сыртынын ортосунда колдонуу керек.

Эми тегирменди тепкичке коюңуз, ал бир топ жеңил жүрүшү керек. Болбосо, вазелинди колдонсоңуз болот.

Калгандары абдан алдыга жылат, тешикти тапкан жерден бураманы алыңыз.

7 -кадам: Топту чогултуу (контейнер)

Үстүн жыйноо (контейнер)
Үстүн жыйноо (контейнер)
Үстүн жыйноо (контейнер)
Үстүн жыйноо (контейнер)
Үстүн жыйноо (контейнер)
Үстүн жыйноо (контейнер)

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

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

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

8 -кадам: түбүн чогултуу

Түбүн жыйноо
Түбүн жыйноо
Түбүн жыйноо
Түбүн жыйноо
Түбүн жыйноо
Түбүн жыйноо

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

9 -кадам: Электроника, сенсорлор жана кыймылдаткычтар

Электроника, сенсорлор жана кыймылдаткычтар
Электроника, сенсорлор жана кыймылдаткычтар
Электроника, сенсорлор жана кыймылдаткычтар
Электроника, сенсорлор жана кыймылдаткычтар
Электроника, сенсорлор жана кыймылдаткычтар
Электроника, сенсорлор жана кыймылдаткычтар
Электроника, сенсорлор жана кыймылдаткычтар
Электроника, сенсорлор жана кыймылдаткычтар

Эми ширетүүчү темирди тагууга убакыт келди. Мен сизге эмне кылыш керек экенин 2 көрсөтүүнү бергем, бир стандарттык электр схемасы, бир визуалдык өкүлчүлүк. Мен сизге электр схемасын колдонууну сунуштайм, анткени ал бардыгы кантип иштээри жөнүндө көбүрөөк түшүнүк берет жана менин оюмча бири -бири менен байланышкан. Экинчисинин бул жерде болушунун бирден -бир себеби, бул милдеттүү болгон. Муну айтканымдын себеби, кабелдер үчүн көп орун жок болгондуктан, сиз GND, +5V зымдары менен эффективдүү болушуңуз керек, бул сиздин кабелдериңизди кантип иштеткиңиз келгенине жараша болот. Андыктан баарын схемага окшоп так өткөрбөңүз, ал иштейт, бирок туура келбейт.

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

Жалпысынан алганда, мен бардыгын заказ кылдым:

  1. Электр бөлүмү: кубат джекси, ч-көпүрө, кубаттоочу конвертер, которгуч
  2. Raspberry Pi (Көбүрөөк маалымат алуу үчүн кийинки кадамды караңыз)
  3. IR сенсорлору
  4. LED'лер
  5. Stepper киргизүү
  6. I2C бөлүгү: 3.3V, SDA, SCL

Бул мен үчүн жасалгалоочу компьютердин прототипинин болушу маанилүү эмес, бирок пайдалуу.

Ошондой эле камераны пи USB портуна туташтырууну унутпаңыз.

Маанилүү:

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

10 -кадам: Электроника, Raspberry Pi

Электроника, Raspberry Pi
Электроника, Raspberry Pi

Схеманы тартуу үчүн программалык камсыздоонун чектелишинен улам мен малина пи кантип илинерин тарта алган жокмун.

+5V үчүн сиз питтин 5V пинине зым сайсаңыз болот, бирок бул сактандыруучу сыяктуу коопсуздукту кыйгап өтөт. Эгерде сиз ылдый жагын карасаңыз, анда TPxx деп белгиленген кээ бир блокнотторду көрүшүңүз керек, биздин учурда биз TP1 же TP2 издеп жатабыз. Сиздин +5V сымыңызды алардын бирине алып келиңиз, бирок башка издер менен көпүрө болбоңуз. Бул, кыязы, кепилдикти да жокко чыгарат. Мен аны тест экөөнө тең туташтырып көрдүм жана жыйынтыгына келдим, бул TP2ди колдонуунун эң оңой жана коопсуз, башка ачык аянтчалардан алыс жана тегерегинде көптөгөн издери жок.

GND үчүн схемалардын көрүнүшү сыяктуу төөнөгүчтөрдүн бирин алыңыз, бул азыр эң сонун.

11 -кадам: Электрониканы сыноо

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

Бул жерде текшерүү тизмеси:

  • IPV4 дареги lcdде көрсөтүлөт
  • Браузер аркылуу IPге туташа алат
  • Степперди "тамактандыруу" менен буруп, LEDдин жарыгын көрө аласыз
  • Контейнердин статусу окулат жана жаңыртылат
  • Камерадан түз агылтуу
  • Тамактануу окуяларын аныктоо

Мүчүлүштүктөрдү оңдоо:

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

- Менин ЖК күйүп турат, бирок эч нерсе көрсөтпөйт:

1) Муну жазуу учурунда, пи толук жүктөө үчүн болжол менен 2 мүнөт талап кылынат, андыктан ага кошумча убакыт бериш керек.

2) Сиз LCDди туура туташтырган жоксуз. Сиз аны туура туташтыргандыгыңызды кабыкка төмөнкү буйрукту терүү аркылуу көрө аласыз:

sudo i2cdetect -y 1

Бул 2 даректи кайтарышы керек: 0x27 (= ЖК) жана 0x29 (= TOF сенсор). Эгерде 0x27 көрүнбөсө, сиз lcdдин зымдарын текшеришиңиз керек. Эгерде экөө тең келбесе, SDA жана SCL казыктарынын зымдарын текшеришиңиз керек. Мисалы кокусунан экөөнү алмаштырып койгонуңузду текшериңиз. Эң жаманы, сиз 2 жеке компонент менен туура эмес бир нерсе кылдыңыз же бир нерсе сынып калды.

- Менин ЖК "WiFiга туташууда" тыгылып калды

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

Программа ошондой эле "192.168" менен башталган IP дареги менен үй түйүндөрүнө туташуу үчүн орнотулган. Эгер тармагыңыз "10.0" же "172.16" сыяктуу башка жеке диапазон менен орнотулган болсо, сиз /home/pi/project/main.py кирип, get_ips () функциясында өзгөрүшүңүз керек: эгерде "192.168" ip болсо "бул жерде сиздин жеке диапазонуңуз".

- Менин ЖК IP көрсөтөт, бирок мен туташа албайм:

1) 192.168. X. X ip -ге туташып жатканыңызды текшериңиз, башка ip 169.254.10.1 дайыма компьютериңизге Ethernet аркылуу туташуу үчүн конфигурацияланган. Эгер сиз сайылып турбасаңыз, бул иштебейт.

2) Сиз ошол эле тармакта экениңизди текшериңиз, же эгер сиз фидерге анын тармагынан сырттан киргиңиз келсе, тармагыңызда порт багыттоону иштеттиңиз.

- Степер титиреп, бурулбай:

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

12 -кадам: Аяктоо

Аяктоо
Аяктоо
Аяктоо
Аяктоо
Аяктоо
Аяктоо
Аяктоо
Аяктоо

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

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

13 -кадам: Кошумча: Chrome кеңейтүүсү

Кошумча: Chrome кеңейтүүсү
Кошумча: Chrome кеңейтүүсү
Кошумча: Chrome кеңейтүүсү
Кошумча: Chrome кеңейтүүсү
Кошумча: Chrome кеңейтүүсү
Кошумча: Chrome кеңейтүүсү

Эгерде сиз тактаны карап чыккыңыз келбесе жана статусун же фидин тез текшерүүнү кааласаңыз, Chrome кеңейтүүсүн колдоно аласыз. Расмий Chrome веб -дүкөнүндө болбогондуктан, сиз аны мындай пакетти иштеп чыккандай жүктөөгө туура келет.

Алгач github каталогунан Feeder Extension папкасын жүктөп алганыңызды текшериңиз:

github.com/VanIseghemThomas/ProjectFeeder

Төмөнкү URLге өтүңүз:

chrome: // extensions/

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

Эгер ал Chrome тилкесинде көрүнбөсө, аны Chrome менюсунда таба аласыз.

14 -кадам: Программалык камсыздоо

Программалык камсыздоо
Программалык камсыздоо

Эгерде сиз программалык камсыздоо менен алектенүүнү жактырсаңыз же кандайдыр бир себептерден улам файлдын жаңы көчүрмөсү керек болсо, сизге керектүү бардык файлдар мен жасаган GitHub репозиторийинде:

Мен APIге өзгөчөлүктөрдү кошкуңуз келсе, мен маалымат базасы үчүн EER-схемасын бердим. Берилиштер базасынын таштандысын GitHub репозиторийинде да табууга болот. Бардык арткы код Pythonдо жазылган. Flask багыттоо үчүн колдонулат жана Socket.io вебсокеттери үчүн.

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