Turinys:

Projekto tiektuvas: 14 žingsnių
Projekto tiektuvas: 14 žingsnių

Video: Projekto tiektuvas: 14 žingsnių

Video: Projekto tiektuvas: 14 žingsnių
Video: Paukščių migracija 2024, Lapkritis
Anonim
Projektų tiektuvas
Projektų tiektuvas

Ar kada nors norėjote pamaitinti savo augintinius būdami toli nuo namų ar tiesiog iš patogios sofos? Jei taip, šis projektas kaip tik jums! „Project Feeder“yra atviro kodo projektas, leidžiantis maitinti savo augintinius automatiškai arba rankiniu būdu iš savo telefono ar kompiuterio. Taip pat galite stebėti tiesioginę transliaciją ir sekti savo augintinio valgymo elgesį.

Prieš tau pradedant!

Šis projektas yra užduotis, skirta koledžui ir buvo susietas su laiku, todėl tai labai „nebaigtas darbas“. Štai kodėl aš žinau, kad yra dalykų, kuriuos galima patobulinti ir kurie gali būti atnaujinti ateityje. Kviečiu būti kūrybingam, tobulėti ir plėsti šią koncepciją.

Norėdami pradėti, apžvelgsime šio projekto kūrimo reikalavimus. Jums tikrai reikės įgūdžių ir įrankių, išvardytų žemiau.

Gamintojo įgūdžiai:

  • 3D spausdinimas arba prieiga prie spausdinimo paslaugos
  • Litavimas
  • Pagrindinės elektronikos žinios

Įrankiai:

  • 3D spausdintuvas
  • Lituoklis
  • Karštų klijų pistoletas arba kiti klijai, veikiantys 3D spausdintuvo gijų junginiais
  • Atsuktuvai

Prekės

Bendros šio projekto statybos išlaidos yra apie 120 eurų, priklausomai nuo to, kur perkate dalį ir kokias nuolaidas gaunate.

Svarbu:

Kai kurios dalys yra pažymėtos „Unikalus“, tai reiškia, kad tai būdinga konstrukcijos konstrukcijai ir jums reikia tikslios tos dalies kopijos.

„Raspberry Pi 4“modelis B / 2 GB + 16 GB (mažiausiai reikalavimas) „Micro SD“kortelė

„Rasberry Pi“atsargos šiuo metu yra labai ribotos, todėl reikės šiek tiek apsidairyti.

12V 60W maitinimo adapteris

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

5,5 mm x 2,1 mm nuolatinės srovės maitinimo lizdo lizdas (unikalus)

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

DC-DC 12V iki 5V 3A Buck Power Down modulis (unikalus)

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

42 mm 12 V „Nema 17“dviejų fazių žingsninis variklis

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

L298N dvigubo H tilto modulis

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

GY6180 VL6180X Skrydžio laiko atstumo jutiklis

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

Infraraudonųjų spindulių kliūčių vengimo jutiklis (x3)

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

USB kamera

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

Foninis apšvietimas 16 × 2 LCD, 8051 mikrovaldiklis I2C

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

Dviejų krypčių lygio perjungiklis

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

Bendrosios vertės rezistoriai (10k, 220R, 470R)

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

Šviesos diodai (x2)

Diodai (x2)

12V įjungimo/išjungimo jungiklis (unikalus)

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

Veržlės: 3x8mm, 3x10mm, 3x12mm

1 veiksmas: mirksi SD kortelė

Mirksi SD kortelė
Mirksi SD kortelė

Norėdami tai padaryti, turėsite mirksėti SD kortelėje pateiktu vaizdu:

thomy.stackstorage.com/s/KbCfVgoU0t8gU3C

Vaizdas aprūpintas iš anksto sukurtu „apache“žiniatinklio serveriu, duomenų baze ir kodu, skirtu sąsajai su tiektuvu. Taigi jums nereikia daryti nieko, kas susiję su programinės įrangos nustatymu.

Jei norite pažvelgti į kodą, visą reikalingą kodą galite gauti iš:

github.com/VanIseghemThomas/ProjectFeeder

Įsitikinkite, kad žinote, kaip tinkamai mirksėti SD kortelėje arba nenutraukite proceso, nes tai gali sugadinti kortelę. Kortelės mirksėjimui naudojau programinę įrangą, vadinamą „Win32DiskManager“. Kita programa, kurią žinau, veikia ir yra šiek tiek patogesnė vartotojui, vadinama „Ethcer“. Abu dirba vienodai gerai.

2 žingsnis: SSH į „Pi“

SSH į „Pi“
SSH į „Pi“

Kai mirksi, dabar galite įdėti SD kortelę į pi ir įjungti. Įsitikinkite, kad esate prijungtas prie „pi“naudodami eterneto kabelį. Dabar turėtumėte turėti galimybę prisijungti prie jo naudodami SSH naudodami „ip 169.254.10.1“. Aš naudoju programą, vadinamą „PuTTY“, bet jei nenorite įdiegti programinės įrangos, į komandų eilutę visada galite įvesti šią komandą:

ssh [email protected]

Dabar atidarykite sesiją. Pirmą kartą prisijungę gausite įspėjimą, galite to nepaisyti ir tiesiog tęsti. Jūsų bus paprašyta prisijungti kaip vartotojas ir po to slaptažodis šiam vaizdui naudoti šiuos kredencialus:

  • Vartotojas: feederpi
  • Slaptažodis: Redeef1

„Pi“vartotojas taip pat yra aktyvus, bet jūs negalėsite prisijungti. Taip yra todėl, kad jis nustatytas automatiškai prisijungti prie maitinimo ir paleisti programą. Štai kodėl prisijungę susidursite su šiais dalykais:

[sudo] „feederpi“slaptažodis:

Tiesiog paspauskite crtl+c ir dabar turėtumėte turėti apvalkalą.

Dabar įveskite:

sudo -i

Dabar esate prisijungę kaip root.

3 veiksmas: nustatykite „Wi -Fi“

„Wifi“nustatymas
„Wifi“nustatymas

Dabar esate prisijungę kaip root ir galite įvesti:

wpa_passphrase "Jūsų SSID" "Jūsų slaptažodis" >> /etc/wpa_supplicant/wpa_supplicant.conf

Jei norite patikrinti, ar jūsų konfigūracija buvo pridėta teisingai, įveskite šį. Jei norite, saugumo sumetimais taip pat galite ištrinti paprasto teksto slaptažodį, tačiau išeidami būtinai išsaugokite pakeitimus.

nano /etc/wpa_supplicant/wpa_supplicant.conf

Dabar galite iš naujo paleisti „pi“įvesdami:

perkrauti dabar

Dabar duokite pi šiek tiek laiko paleisti ir vėl prisijungti naudodami SSH, kaip anksčiau, kad pamatytumėte, ar turite ryšį su įvestu „wifi“:

ip a

Po „wlan0“sąsaja turėtumėte pamatyti kažką panašaus su IP adresu, tai reiškia, kad sėkmingai prisijungėte prie „Wi-Fi“. Vėliau, kai viskas bus prijungta, programinė įranga tai parodys LCD ekrane.

4 žingsnis: dalių spausdinimas

Šiam projektui reikalingų dalių rasite čia:

www.thingiverse.com/thing:4459996

Visų šių dalių spausdinimas užtruks, todėl jums reikės šiek tiek kantrybės.

Tai yra mano naudojami nustatymai (PLA):

  • Sluoksnio aukštis: 0,3 mm
  • Spausdinimo greitis: 50-60 mm/s
  • Purkštukų temperatūra: 200 ° C
  • Lovos temperatūra: 60 ° C

Apie tai nėra daug ką pasakyti, išskyrus tai, kad smagiai spausdinate.

5 žingsnis: dalių surinkimas (įvadas)

Dalių surinkimas (įvadas)
Dalių surinkimas (įvadas)
Dalių surinkimas (įvadas)
Dalių surinkimas (įvadas)

Gerai, dabar pradėsime viską surinkti. Prieš paaiškindamas viską, aš peržiūrėsiu kai kuriuos dalykus, kuriuos reikia nepamiršti, ir tai padės jums tai padaryti.

1 PATARIMAS:

Aš nusprendžiau padaryti visas skyles 2,5 mm, išskyrus 3 mm, kaip varžtai. Taip galite paliesti sriegį įsukdami varžtus ir nebereikia veržlių. Įtraukti varžtą yra gana sunku, naudokite lituoklį, kad išplėstumėte viršutinę dalį, todėl bus lengva įsukti varžtą ir pradėti sukti.

2 PATARIMAS:

Jei jums, kaip man, pritrūksta varžtų, įsukite tik įstrižas poras. Tai sutaupo daug jų ir veikia gerai.

6 žingsnis: viršaus surinkimas (dozatorius)

Viršaus surinkimas (dozatorius)
Viršaus surinkimas (dozatorius)
Viršutinės dalies surinkimas (dozatorius)
Viršutinės dalies surinkimas (dozatorius)
Viršutinės dalies surinkimas (dozatorius)
Viršutinės dalies surinkimas (dozatorius)

Dalys išdėstytos taip, kaip parodyta paveikslėlyje.

Juos laiko kartu vadinamosios „plokštelės“. Viena iš plokščių pritvirtinama prie jūsų žingsninio variklio.

Įsitikinkite, kad varžtų viršutinė dalis yra lygi su paviršiumi, kitaip tiekimas užsikimš. Tam ir „Stepper_offset“modeliui turėtumėte naudoti 3x8 mm varžtus tarp žingsnio ir plokštės išorės.

Dabar uždėkite malūnėlį ant žingsninio, tai turėtų vykti gana lengvai. Jei ne, galite naudoti vazeliną.

Likusi dalis yra gana tiesiai į priekį, tiesiog paimkite varžtą ten, kur rasite skylę.

7 žingsnis: viršaus (konteinerio) surinkimas

Viršaus surinkimas (konteineris)
Viršaus surinkimas (konteineris)
Viršaus surinkimas (konteineris)
Viršaus surinkimas (konteineris)
Viršaus surinkimas (konteineris)
Viršaus surinkimas (konteineris)

Čia matote, kaip aš padariau savo konteinerį. Kanistras iš pradžių naudojamas džiovintiems sąnarių gabalėliams.

Viršuje norite pritvirtinti TOF jutiklį, kuris bus naudojamas matuoti, kiek indelyje liko maisto. Nuotraukose galite pamatyti, kaip aš jį pritvirtinau. Pirmiausia aš lituokliu ištirpinau kaiščių skyles, tada, kol kabeliai prijungti, klijavau jutiklį vietoje karštų klijų.

Norėdami uždaryti konteinerį, aš padariau 2 skylutes su lituokliu ir įsukau 2 varžtus. Norėdami jį uždaryti, galite naudoti guminę juostelę, užtrauktuką ar vielą.

8 žingsnis: Dugno surinkimas

Dugno surinkimas
Dugno surinkimas
Dugno surinkimas
Dugno surinkimas
Dugno surinkimas
Dugno surinkimas

Skirtingų modulių išdėstymo nuorodos į paveikslėlius yra gana aiškios. Dalis šių nuotraukų jau turi laidus, kol kas turėtumėte pažvelgti į tai. Nuotraukos buvo padarytos kuriant šį projektą. Iš pradžių planas buvo įdėti apkrovos matuoklį ir pasverti maistą, tačiau dėl to, kad paskutinį akimirką man sugedo apkrovos stiprintuvas, turėjau atsisakyti šios funkcijos ir pakeisti ją tiesiogine vaizdo transliacija, kuri taip pat yra gana tvarkinga. Visada yra galimybė pridėti apkrovos langelį, tačiau turėsite įsigilinti į kodą ir redaguoti kai kuriuos dalykus.

9 žingsnis: Elektronika, jutikliai ir pavaros

Elektronika, jutikliai ir pavaros
Elektronika, jutikliai ir pavaros
Elektronika, jutikliai ir pavaros
Elektronika, jutikliai ir pavaros
Elektronika, jutikliai ir pavaros
Elektronika, jutikliai ir pavaros
Elektronika, jutikliai ir pavaros
Elektronika, jutikliai ir pavaros

Dabar atėjo laikas uždėti lituoklį. Pateikiau 2 vaizdus apie tai, ką reikia padaryti, vieną standartinę elektros schemą, vieną vaizdinę. Aš labai siūlau jums naudoti elektros schemą, nes ji, mano nuomone, suteikia daug daugiau informacijos apie tai, kaip viskas veikia ir yra sujungta. Vienintelė priežastis, dėl kurios čia yra, yra ta, kad ji buvo privaloma. Priežastis, kodėl taip sakau, yra ta, kad kabeliams nėra daug vietos, todėl turėsite efektyviai prijungti GND, +5V ir tt laidus, priklausomai nuo to, kaip norite paleisti kabelius. Taigi nesujunkite visko tiksliai tarpusavyje, kaip schema, tai veiks, bet netiks.

Matote, kad jungikliui prijungiau visus 3 laidus, nes jungiklyje yra įmontuotas šviesos diodas, rodantis, ar maitinimas įjungtas. 2 nespalvoti laidai veikia kaip jungiklis, spalvotas laidas eina į GND.

Apskritai tokia tvarka aš sujungiau viską:

  1. Maitinimo skyrius: maitinimo lizdas, h-tiltas, stiprintuvo konverteris, jungiklis
  2. Raspberry Pi (daugiau informacijos rasite kitame žingsnyje)
  3. IR jutikliai
  4. Šviesos diodai
  5. Žingsniniai įėjimai
  6. I2C dalis: 3.3V, SDA, SCL

Tai nėra būtina, bet naudinga turėti prototipų plokštę, kad būtų galima lydyti, kaip aš.

Taip pat nepamirškite prijungti fotoaparato prie „pi“USB prievado.

Svarbu:

Prieš prijungdami 5 V grandinės dalį, būtinai sureguliuokite „Boost Buck“keitiklį į 5 V įtampą. Priešingu atveju galite rizikuoti viską kepti. Norėdami tai sureguliuoti, pasukite potenciometrą ir pažiūrėkite į įtampos rodmenis ekrane.

10 žingsnis: Elektronika, Raspberry Pi

Elektronika, Raspberry Pi
Elektronika, Raspberry Pi

Dėl programinės įrangos apribojimų piešti schemą negalėjau nupiešti, kaip prijungti aviečių pi.

Jei naudojate +5 V, galite tiesiog prijungti prie pi 5V kaiščio, tačiau tai apeina saugumą, pvz., Saugiklį. Jei pažvelgsite į apačią, turėtumėte pamatyti keletą trinkelių, pažymėtų kaip TPxx, mūsų atveju ieškome TP1 arba TP2. Lituokite savo +5V laidą prie vieno iš jų, tačiau būkite atsargūs, kad nesusidarytumėte su kitais pėdsakais. Tai greičiausiai taip pat panaikins garantiją. Aš asmeniškai bandžiau prijungti jį prie abiejų bandymo pagalvėlių ir padariau išvadą, kad tikriausiai lengviausia ir saugiausia naudoti TP2, nes ji yra atokiau nuo kitų atvirų pagalvėlių ir aplink ją nėra daug pėdsakų.

GND atveju tiesiog paimkite vieną iš viršuje esančių kaiščių, kaip parodyta schemoje, dabar tai visiškai gerai.

11 žingsnis: Elektronikos testavimas

Kai viskas yra tinkamai prijungta, gera praktika pirmiausia išbandyti viską, prieš viską visiškai surenkant.

Čia yra kontrolinis sąrašas:

  • IPV4 adresas rodomas LCD ekrane
  • Galimybė prisijungti prie IP per naršyklę
  • Galima pasukti žingsnelį „maitinant“ir pamatyti, kaip užsidega šviesos diodas
  • Sudėtinio rodinio būsena nuskaitoma ir atnaujinama
  • Tiesioginė transliacija iš fotoaparato
  • Valgymo įvykių nustatymas

Problemų sprendimas:

Čia išvardijau kai kurias problemas, su kuriomis susidūriau, ir kaip jas išspręsti.

- Mano LCD užsidega, bet nieko nerodo:

1) Rašymo metu „pi“reikia maždaug 2 minučių, kad jis būtų visiškai paleistas, todėl jūs turite skirti šiek tiek daugiau laiko.

2) Jūs netinkamai prijungėte LCD ekraną. Galite pamatyti, ar teisingai prijungėte, įvesdami šią komandą į apvalkalą:

sudo i2cdetect -y 1

Tai turi grąžinti 2 adresus: 0x27 (= LCD) ir 0x29 (= TOF jutiklis). Jei 0x27 nerodomas, turite patikrinti LCD laidus. Jei abu nepasirodo, turite patikrinti SDA ir SCL kaiščių laidus. Pvz. patikrinkite, ar atsitiktinai pakeitėte abu. Blogiausiu atveju padarėte kažką ne taip su dviem atskirais komponentais arba kažkas sugedo.

- Mano LCD įstrigo „Prisijungimas prie„ WiFi “

Tai reiškia, kad jūsų „pi“įstrigo bandydamas prisijungti prie vieno iš tinklų, prie kurio sukonfigūravote prisijungti. Tai reiškia, kad nesate prieigos taško diapazone arba kažką padarėte neteisingai, konfigūruodami, pvz. rašybos klaida. Tokiu atveju grįžkite į „WiFi nustatymas“ir vėl jį peržiūrėkite.

Programinė įranga taip pat nustatyta prisijungti prie namų tinklų, kurių IP adresas prasideda „192.168“. Jei jūsų tinkle nustatytas kitas privatus diapazonas, pvz., „10.0“arba „172.16“, turėsite eiti į /home/pi/project/main.py ir pakeisti funkciją get_ips (): jei „192.168“ip, jei „Jūsų privatus diapazonas čia“ip.

- Mano LCD rodo IP, bet negaliu prisijungti:

1) Įsitikinkite, kad jungiatės prie „192.168. X. X ip“, o kitas „ip 169.254.10.1“visada sukonfigūruotas taip, kad prisijungtų per „Ethernet“tiesiai prie jūsų kompiuterio. Tai neveiks, jei nesate prijungtas.

2) Įsitikinkite, kad esate tame pačiame tinkle arba įjungėte prievadų peradresavimą savo tinkle, jei norite pasiekti tiektuvą iš jo tinklo.

- Stepper dreba ir nesisuka:

Tai reiškia, kad neteisingai prijungėte dvigubo H tilto įėjimus ar išėjimus. Pabandykite juos pakeisti, kol tai veiks.

12 žingsnis: užbaigimas

Baigimas
Baigimas
Baigimas
Baigimas
Baigimas
Baigimas
Baigimas
Baigimas

Dabar jūs supratote, kaip viską padaryti, atėjo laikas viską sudėti. Aš turėjau sudėti dvi dalis kartu su juostele, nes skylių konstrukcija nėra pakankamai tvirta, kad išlaikytų įtampą ir ji man įtrūko. Tai vienas esminis dalykas, kurį reikia patobulinti ateityje. Švaresnis pasirinkimas yra tiesiog klijuoti abi dalis, tačiau tai gali būti problema, kai kažkas viduje sugenda ir norite patekti į vidų. Štai kodėl aš nuėjau su sena gera elektros juosta.

Kai einate į svetainę, turėtumėte pasveikinti prietaisų skydelį, kuriame galite atlikti tokius veiksmus kaip maitinimas rankiniu būdu, patikrinti būseną, peržiūrėti duomenis ir pridėti išankstinius nustatymus.

13 veiksmas: papildomas: „Chrome“plėtinys

Papildomai: „Chrome“plėtinys
Papildomai: „Chrome“plėtinys
Papildomai: „Chrome“plėtinys
Papildomai: „Chrome“plėtinys
Papildomai: „Chrome“plėtinys
Papildomai: „Chrome“plėtinys

Jei nenorite naršyti informacijos suvestinėje ir tiesiog norite greitai patikrinti būseną ar sklaidos kanalą, galite naudoti „Chrome“plėtinį. Kadangi jo nėra oficialioje „Chrome“internetinėje parduotuvėje, turėsite jį įkelti taip, kaip sukurtumėte tokį paketą.

Pirmiausia įsitikinkite, kad atsisiuntėte „Feeder Extension“aplanką iš „github“katalogo:

github.com/VanIseghemThomas/ProjectFeeder

Eikite į šį URL:

chrome: // extensions/

Kai ten įjunkite kūrėjo režimą ir įkelkite plėtinių aplanką. Dabar jis turėtų būti rodomas kaip plėtinys.

Jei jis nerodomas „Chrome“juostoje, jį rasite „Chrome“meniu.

14 žingsnis: programinė įranga

Programinė įranga
Programinė įranga

Jei jums patinka dirbti su programine įranga arba dėl kokių nors priežasčių jums reikia naujos failo kopijos, visi reikalingi failai yra mano sukurtoje „GitHub“saugykloje:

Taip pat pateikiau duomenų bazės EER schemą, jei norite pridėti funkcijų prie API. Duomenų bazės sąvartyną taip pat galima rasti „GitHub“saugykloje. Visas vidinis kodas yra parašytas „Python“. Kolba naudojama maršrutizavimui, o „Socket.io“- žiniatinklio lizdams.

Rekomenduojamas: