Cuprins:

Alimentator de proiecte: 14 pași
Alimentator de proiecte: 14 pași
Anonim
Alimentator de proiecte
Alimentator de proiecte

Ați dorit vreodată să vă hrăniți animalele de companie în timp ce sunteți departe de casă sau doar de confortul canapelei? Dacă da, acest proiect este pentru tine! Project Feeder este un proiect open source care vă permite să vă hrăniți animalele de companie automat sau manual de pe telefon sau de pe computer. De asemenea, puteți urmări un flux live și puteți urmări comportamentul alimentar al animalului dvs. de companie.

Inainte sa incepi!

Acest proiect este o sarcină făcută pentru facultate și a fost legat de timp, deci este foarte „în lucru”. De aceea sunt conștient că există lucruri care pot fi îmbunătățite și care pot fi actualizate în viitor. Vă încurajez să fiți creativi, să îmbunătățiți și să extindeți acest concept.

Pentru a începe, vom trece peste cerințele pentru a construi acest proiect. Veți avea cu adevărat nevoie de abilitățile și instrumentele enumerate mai jos.

Abilități de producător:

  • Imprimare 3D sau acces la un serviciu de imprimare
  • Lipire
  • Cunostinte electronice de baza

Instrumente:

  • imprimantă 3d
  • Ciocan de lipit
  • Pistol de adeziv fierbinte sau alt adeziv care funcționează compuși de filamente pentru imprimante 3D
  • Șurubelnițe

Provizii

Costul total al construcției acestui proiect este de aproximativ 120 EUR, în funcție de locul în care cumpărați piesa și de ce fel de reduceri primiți.

Important:

Unele părți sunt marcate cu „Unic”, înseamnă că este specifică proiectării structurale a construcției și aveți nevoie de o copie exactă a acelei părți.

Raspberry Pi 4 Model B / 2GB + 16GB (cerință minimă) Card Micro SD

Stocul de pe Rasberry Pi este foarte limitat în acest moment, acest lucru va trebui să se uite în jur.

Adaptor de alimentare 12V 60W

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

Priză mufă de alimentare de 5,5 mm X 2,1 mm DC (unic)

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

DC-DC 12V la 5V 3A Buck Step Down Power Module (unic)

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

42mm 12V Nema 17 Motor cu două faze pas cu pas

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

Modul L298N Dual H Bridge

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

GY6180 VL6180X Senzor distanță timp de zbor

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

Senzor infraroșu de evitare a obstacolelor (x3)

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

Cameră USB

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

Lumina de fundal 16 × 2 LCD, 8051 microcontroler I2C

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

Schimbator de nivel bidirecțional

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

Rezistoare cu valoare comună (10k, 220R, 470R)

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

LED-uri (x2)

Diode (x2)

Comutator pornire / oprire 12V (unic)

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

Piulițe: 3x8mm, 3x10mm, 3x12mm

Pasul 1: intermitent cardul SD

Clipește cardul SD
Clipește cardul SD

Pentru acest pas va trebui să vă aruncați cardul SD cu imaginea furnizată:

thomy.stackstorage.com/s/KbCfVgoU0t8gU3C

Imaginea vine echipată cu un server web apache pre-construit, bază de date și cod pentru interfață cu alimentatorul. Deci, nu trebuie să faceți nimic care să implice configurarea software-ului.

Dacă doriți să aruncați o privire asupra codului, puteți obține tot codul solicitat de la:

github.com/VanIseghemThomas/ProjectFeeder

Asigurați-vă că știți cum să blocați corect cardul SD sau să nu întrerupeți procesul, deoarece acest lucru poate duce la deteriorarea cardului. Pentru intermitentul cardului am folosit un software numit Win32DiskManager. Un alt program pe care îl știu funcționează și este puțin mai ușor de utilizat se numește Ethcer. Ambele funcționează la fel de bine.

Pasul 2: SSH în Pi

SSH în Pi
SSH în Pi

Când intermitentul este terminat, puteți pune cardul SD în pi și îl puteți porni. Asigurați-vă că sunteți conectat la pi folosind un cablu Ethernet. Acum ar trebui să vă puteți conecta utilizând SSH cu ip 169.254.10.1. Folosesc un program numit PuTTY, dar dacă nu aveți chef să instalați software, puteți tasta oricând următoarea comandă în promptul de comandă:

ssh [email protected]

Acum deschideți o sesiune. Când vă conectați pentru prima dată, veți întâlni un avertisment, îl puteți ignora și pur și simplu continuați. Vi se va cere să vă conectați ca utilizator și după aceea parola, pentru această imagine utilizați următoarele acreditări:

  • Utilizator: feederpi
  • Parolă: Redeef1

Utilizatorul „pi” este, de asemenea, activ, dar nu veți putea să vă conectați așa cum este. Acest lucru se datorează faptului că este configurat să se conecteze automat la pornire și să ruleze programul. Acesta este motivul pentru care veți întâlni următoarele la conectare:

[sudo] parola pentru feederpi:

Doar apăsați crtl + c și ar trebui să aveți un shell acum.

Acum introduceți următoarele:

sudo -i

Acum sunteți conectat ca root.

Pasul 3: Configurarea Wifi

Configurarea Wifi
Configurarea Wifi

Acum sunteți conectat ca root și puteți tasta:

wpa_passphrase "SSID-ul tău" "Parola ta" >> /etc/wpa_supplicant/wpa_supplicant.conf

Pentru a verifica dacă configurația dvs. a fost adăugată corect, tastați următoarele. De asemenea, puteți șterge parola cu text simplu pentru securitate, dacă doriți, dar asigurați-vă că salvați modificările la ieșire.

nano /etc/wpa_supplicant/wpa_supplicant.conf

Acum puteți reporni pi-ul dvs. tastând:

restarteaza acum

Acum, acordați-i lui Pi ceva timp pentru a porni și a vă conecta din nou cu SSH ca înainte, pentru a vedea dacă aveți o conexiune la wifi, tastați:

ip a

Sub interacțiunea wlan0 ar trebui să vedeți ceva similar cu o adresă IP, ceea ce înseamnă că v-ați conectat cu succes la wifi. Mai târziu, când totul este conectat, software-ul va afișa acest lucru pe un ecran LCD.

Pasul 4: Tipărirea pieselor

Piesele de care veți avea nevoie pentru acest proiect se găsesc aici:

www.thingiverse.com/thing:4459996

Imprimarea tuturor acestor piese va dura ceva timp, deci veți avea nevoie de răbdare.

Acestea sunt setările pe care le-am folosit (PLA):

  • Înălțimea stratului: 0,3 mm
  • Viteza de imprimare: 50-60mm / s
  • Temperatura duzei: 200 ° C
  • Temperatura patului: 60 ° C

Nu sunt multe de spus despre asta, cu excepția faptului că distrează-te imprimând.

Pasul 5: Asamblarea pieselor (introducere)

Asamblarea pieselor (introducere)
Asamblarea pieselor (introducere)
Asamblarea pieselor (introducere)
Asamblarea pieselor (introducere)

Bine, acum mergem la asamblarea tuturor. Înainte de a explica toate acestea, voi trece în revistă câteva lucruri de reținut și care vă vor ajuta să faceți acest lucru.

SFAT 1:

Am decis să fac toate găurile de 2,5 mm, cu excepția celor de 3 mm, precum șuruburile. Acest lucru este astfel încât să puteți atinge un fir prin înșurubarea șuruburilor și elimină necesitatea piulițelor. Introducerea șurubului este destul de dificilă, folosiți fierul de lipit pentru a lărgi vârful, acest lucru va face mai ușor să introduceți șurubul și să începeți înșurubarea.

SFAT 2:

Dacă, ca și mine, nu mai aveți șuruburi, înșurubați doar în perechi diagonale. Acest lucru salvează o mulțime de ele și funcționează bine.

Pasul 6: Asamblarea vârfului (dozator)

Asamblarea vârfului (dozator)
Asamblarea vârfului (dozator)
Asamblarea vârfului (dozator)
Asamblarea vârfului (dozator)
Asamblarea vârfului (dozator)
Asamblarea vârfului (dozator)

Piesele sunt așezate ca în imagine.

Ele sunt ținute împreună de așa-numitele „plăci”. Una dintre plăci se asamblează la motorul dvs. pas cu pas.

Asigurați-vă că partea superioară a șuruburilor este la același nivel cu suprafața, altfel alimentarea se va bloca. Pentru aceasta ar trebui să utilizați șuruburile de 3x8mm și modelul „Stepper_offset” între stepper și exteriorul plăcii.

Acum puneți moara pe stepper, ar trebui să meargă destul de ușor. Dacă nu, ați putea folosi vaselină.

Restul este destul de drept înainte, doar ia un șurub unde găsești o gaură.

Pasul 7: Asamblarea vârfului (container)

Asamblarea vârfului (container)
Asamblarea vârfului (container)
Asamblarea vârfului (container)
Asamblarea vârfului (container)
Asamblarea vârfului (container)
Asamblarea vârfului (container)

Aici vedeți cum mi-am făcut containerul. Cutia este utilizată în mod original pentru bucăți uscate de unire.

În partea de sus, doriți să atașați senzorul TOF, acesta va fi folosit pentru a măsura cantitatea de mâncare rămasă în recipient. În imagini puteți vedea cum l-am atașat. Mai întâi am topit găurile pentru știfturi cu lipitorul meu, apoi am lipit senzorul în loc cu niște lipici fierbinți în timp ce cablurile sunt conectate.

Pentru închiderea containerului am făcut 2 găuri cu lipitorul meu și am înșurubat în 2 șuruburi. O bandă de cauciuc, o cravată cu fermoar sau o sârmă poate fi utilizată pentru a o închide în acest fel.

Pasul 8: Asamblarea fundului

Asamblarea fundului
Asamblarea fundului
Asamblarea fundului
Asamblarea fundului
Asamblarea fundului
Asamblarea fundului

Pentru amplasarea diferitelor module de referință la imagini, acestea sunt destul de explicative. O parte din aceste imagini au deja cabluri în ele, ar trebui să arătați mai departe decât deocamdată. Imaginile au fost realizate în mijlocul dezvoltării acestui proiect. Inițial, planul era să introduc într-o celulă de încărcare și să cântăresc mâncarea, dar, din cauza spargerii amplificatorului celulei mele de încărcare în ultimul moment, a trebuit să renunț la această caracteristică și să o înlocuiesc cu un flux video live, care este, de asemenea, destul de îngrijit. Opțiunea este întotdeauna acolo pentru a adăuga o celulă de încărcare, dar va trebui să săpați în cod și să editați câteva lucruri.

Pasul 9: Electronică, senzori și actuatoare

Electronice, senzori și actuatoare
Electronice, senzori și actuatoare
Electronice, senzori și actuatoare
Electronice, senzori și actuatoare
Electronice, senzori și actuatoare
Electronice, senzori și actuatoare
Electronice, senzori și actuatoare
Electronice, senzori și actuatoare

Acum este timpul să puneți lipitorul. Am oferit 2 reprezentări a ceea ce trebuie să faceți, o schemă electrică standard, o reprezentare vizuală. Vă sugerez să utilizați schema electrică, deoarece oferă mult mai multe informații despre modul în care funcționează totul și, în opinia mea, este conectat unul la altul. Singurul motiv pentru care celălalt este aici este că a fost obligatoriu. Motivul pentru care spun acest lucru este că nu există o mulțime de spațiu pentru cabluri, deci va trebui să fiți eficienți cu cablarea GND, + 5V etc., care depinde de modul în care doriți să vă rulați cablurile. Deci, nu conectați totul exact unul la altul, ca schema, va funcționa, dar nu se va potrivi.

Pentru comutator puteți vedea că am conectat toate cele 3 cabluri, acest lucru se datorează faptului că comutatorul vine cu un LED încorporat care indică dacă este pornită alimentarea. Cele 2 cabluri necolorate acționează ca întrerupător, cablul colorat merge la GND.

În general, aceasta este ordinea în care am conectat totul:

  1. Secțiunea de alimentare: mufă de alimentare, pod h, convertor boost, comutator
  2. Raspberry Pi (Consultați pasul următor pentru mai multe informații)
  3. Senzori IR
  4. LED-uri
  5. Intrări pas cu pas
  6. Porțiunea I2C: 3,3V, SDA, SCL

Nu este esențial, dar este util să ai un PCB de prototipare care să se lipească, așa cum am făcut.

De asemenea, nu uitați să conectați camera la un port USB al pi.

Important:

Asigurați-vă că reglați convertorul de creștere la 5V înainte de a conecta porțiunea de 5V a circuitului. Altfel ai putea risca să prăjești totul. Pentru a regla acest lucru, rotiți potențiometrul și priviți citirea tensiunii pe ecran.

Pasul 10: Electronică, Raspberry Pi

Electronică, Raspberry Pi
Electronică, Raspberry Pi

Datorită limitării software-ului pentru a desena schema, nu am reușit să desenez cum să conectez zmeura pi.

Pentru + 5V, puteți conecta doar pinul de 5V al pi, dar acest lucru ocolește siguranța, cum ar fi siguranța. Dacă vă uitați în partea de jos, ar trebui să vedeți câteva tampoane etichetate ca TPxx, în cazul nostru căutăm TP1 sau TP2. Împingeți + 5V conduc la unul dintre ele, dar aveți grijă să nu faceți legătura cu alte urme. Cel mai probabil, acest lucru va anula garanția. Am încercat personal să-l conectez la ambele tampoane de test și am ajuns la concluzia că este probabil cel mai ușor și mai sigur de utilizat TP2, este departe de alte tampoane expuse și nu are multe urme în jurul său.

Pentru GND pur și simplu luați unul dintre pinii de sus ca spectacolele schematice, acum este perfect.

Pasul 11: Testarea electronice

Când totul este conectat corect, este o bună practică să testați mai întâi totul înainte de a asambla totul complet.

Aici o listă de verificare:

  • Adresa IPV4 apare pe ecranul LCD
  • Capabil să se conecteze la IP prin browser
  • Capabil să întoarcă stepper-ul „hrănindu-l” și să vadă LED-urile aprinse
  • Citirea și actualizarea stării containerului
  • Flux live de la cameră
  • Detectarea evenimentelor alimentare

Depanare:

Aici listez câteva dintre problemele în care am intrat și cum le pot rezolva.

- LCD-ul meu se aprinde, dar nu afișează nimic:

1) În momentul scrierii acesteia, pi are nevoie de aproximativ 2 minute pentru a porni complet, așa că trebuie să îi acordați ceva timp suplimentar.

2) Nu v-ați conectat corect LCD. Puteți vedea dacă l-ați conectat corect tastând următoarea comandă într-un shell:

sudo i2cdetect -y 1

Aceasta trebuie să returneze 2 adrese: 0x27 (= LCD) și 0x29 (= senzor TOF). Dacă 0x27 nu apare, trebuie să verificați cablajul LCD-ului. Dacă ambele nu apar, trebuie să verificați cablarea pinilor SDA și SCL. De exemplu. verificați dacă i-ați schimbat pe cei doi din întâmplare. Cel mai rău caz ați făcut ceva greșit cu cele 2 componente individuale sau s-a stricat ceva.

- LCD-ul meu este blocat la „Conectarea la WiFi”

Aceasta înseamnă că pi-ul tău este blocat încercând să te conectezi la una dintre rețelele la care ai configurat să te conectezi. Aceasta înseamnă fie că nu vă aflați în raza de acces, fie că ați făcut ceva greșit în timp ce configurați de ex. o greseala de scriere. În acest caz, reveniți la „Configurarea WiFi” și reveniți la el.

Software-ul este, de asemenea, configurat pentru a se conecta la rețelele de domiciliu cu o adresă IP care începe cu „192.168”. Dacă rețeaua dvs. este configurată cu un alt interval privat, cum ar fi „10.0” sau „172.16”, va trebui să accesați /home/pi/project/main.py și în funcția get_ips () change: if „192.168” în ip dacă „Zona dvs. privată aici” în ip.

- LCD-ul meu afișează ip-ul, dar nu mă pot conecta:

1) Asigurați-vă că vă conectați la ip-ul 192.168. X. X, celălalt ip 169.254.10.1 este întotdeauna configurat pentru a vă conecta prin Ethernet direct la computer. Acest lucru nu va funcționa dacă nu sunteți conectat.

2) Asigurați-vă că sunteți în aceeași rețea sau că ați activat redirecționarea porturilor în rețeaua dvs. dacă doriți să accesați alimentatorul din afara rețelei sale.

- Stepper-ul se agită și nu se rotește:

Aceasta înseamnă că nu ați conectat corect intrările sau ieșirile dual-H-bridge. Încercați să le schimbați până când funcționează.

Pasul 12: Finalizare

Completare
Completare
Completare
Completare
Completare
Completare
Completare
Completare

Acum v-ați dat seama cum să puneți totul în funcțiune, este timpul să puneți totul împreună. A trebuit să pun cele două părți împreună cu bandă, deoarece designul găurilor nu este suficient de robust pentru a ține tensiunea și mi-a crăpat. Acesta este un lucru major care trebuie îmbunătățit în viitor. O opțiune mai curată este să lipiți doar cele două părți împreună, dar aceasta ar putea fi o problemă atunci când ceva din interior se sparge și doriți să obțineți acces în interior. De aceea am mers cu o bandă electrică veche.

Când accesați site-ul web, ar trebui să fiți întâmpinat cu un tablou de bord unde puteți face lucruri precum hrănirea manuală, verificarea stării, examinarea datelor și adăugarea de presetări.

Pasul 13: Extra: extensie Chrome

Extra: extensie Chrome
Extra: extensie Chrome
Extra: extensie Chrome
Extra: extensie Chrome
Extra: extensie Chrome
Extra: extensie Chrome

Dacă nu aveți chef să navigați la tabloul de bord și doriți doar să verificați rapid starea sau fluxul, puteți utiliza extensia Chrome. Datorită faptului că nu se află în magazinul oficial Chrome, va trebui să îl încărcați ca și cum ați dezvolta un astfel de pachet.

Mai întâi asigurați-vă că descărcați folderul Extensie alimentator din directorul github:

github.com/VanIseghemThomas/ProjectFeeder

Accesați următoarea adresă URL:

chrome: // extensii /

Odată ajuns acolo, activați modul dezvoltator și încărcați folderul extensiei. Acum ar trebui să apară ca o extensie.

Dacă nu apare în bara Chrome, o puteți găsi în meniul Chrome.

Pasul 14: Software-ul

Software-ul
Software-ul

Dacă îți place să joci cu software-ul sau, dintr-un anumit motiv, ai nevoie de o copie nouă a unui fișier, toate fișierele de care ai nevoie se găsesc în depozitul GitHub pe care l-am făcut:

De asemenea, am furnizat o schemă EER pentru baza de date, în caz că doriți să adăugați caracteristici la API. O descărcare a bazei de date poate fi găsită și în depozitul GitHub. Tot codul backend este scris în Python. Flask este utilizat pentru rutare și Socket.io pentru websockets.

Recomandat: