Cuprins:

Dispenser IoT Treat pentru animale de companie: 7 pași (cu imagini)
Dispenser IoT Treat pentru animale de companie: 7 pași (cu imagini)

Video: Dispenser IoT Treat pentru animale de companie: 7 pași (cu imagini)

Video: Dispenser IoT Treat pentru animale de companie: 7 pași (cu imagini)
Video: SARITURI IN APA SURUBUL DREPTATII CU CADERE PE SPATE 2024, Iulie
Anonim
Image
Image
Dispenser IoT Treat pentru animale de companie
Dispenser IoT Treat pentru animale de companie

Am două pisici și a trebuit să le dau mâncăruri de aproximativ 3 ori pe zi a devenit destul de deranjant. Se uitau la mine cu fețele lor drăguțe și cu privirile intense, apoi alergau spre o cutie plină cu verdeață de pisică, miaunând și cerșind pentru ei. Am decis că este suficient. Nu te mai ridica doar pentru a oferi unei pisici câteva delicii. Acum a fost momentul pentru o mașină de distribuit delicii, pentru că așa cum se spune: „Programatorii există pentru a face lucruri complicate pentru a face lucruri simple mai puțin”.

DFRobot a sponsorizat acest proiect.

Lista de componente:

  • DFRobot Raspberry Pi 3
  • Modulul de cameră DFRobot Raspberry Pi
  • Motor pas cu pas DFRobot cu angrenaj planetar
  • I2C LCD 16x2
  • Baril Jack la Terminal
  • DRV8825 Driver motor pas cu pas
  • Condensator 100 µF
  • Arduino UNO & Genuino UNO
  • Sârme jumper (generice)

Pasul 1: Crearea unui design

Crearea unui design
Crearea unui design

Mai întâi a fost alegerea modului de control al mașinii mele recent gândite. Bluetooth ar fi avut o rază de acțiune prea mică, la doar 30 de picioare fără obstacole. Cu aceste informații, am ales să folosesc WiFi. Dar acum, cum folosesc WiFi pentru a controla aparatul? Un Raspberry Pi 3 are capabilități WiFi integrate, permițându-mă să folosesc Flask pentru a găzdui o pagină web. Următorul a fost subiectul incintei și modul de distribuire a bunătăților. Am decis un design rotativ rotativ, în care dulciurile să cadă în secțiuni mici, să fie rotite în jur, iar apoi dulciurile să cadă pe o rampă și să se deplaseze spre partea din față a mașinii.

Pasul 2: Realizarea modelului Fusion 360

Realizarea modelului Fusion 360
Realizarea modelului Fusion 360
Realizarea modelului Fusion 360
Realizarea modelului Fusion 360
Realizarea modelului Fusion 360
Realizarea modelului Fusion 360

Am început prin crearea unui model de bază pentru recipientul pentru tratament. Tratamentele cad într-un mini-buncăr unde sunt apoi transportate într-o roată rotativă.

Apoi am adăugat Raspberry Pi 3 la designul Fusion, împreună cu celelalte electronice, inclusiv un modul LCD și camera Raspberry Pi. De asemenea, am făcut o buncăr care să poată stoca delicatese suplimentare.

Pereții pentru dozatorul de tratare ar trebui să fie tăiați din placaj de 1/4 inch pe un router CNC. Există 7 bucăți, 4 pereți, o podea și o bucată superioară și de capac care se pot deschide și închide pentru a expune delicatese.

În cele din urmă, am creat un mâner „elegant” pentru a deschide capacul.

Pasul 3: Configurarea Pi

DFRobot a ajuns la mine și le-a trimis modulul Raspberry Pi 3 și Raspberry Pi Camera. Așa că, după ce am deschis cutiile, am ajuns să lucrez prin configurarea cardului SD. Mai întâi am mers pe pagina de descărcări Raspberry Pi și am descărcat cea mai recentă versiune a Raspbian. Am extras apoi fișierul și l-am pus într-un director convenabil. Nu puteți copia / lipi un fișier.img pe un card SD, trebuie să îl „ardeți” pe card. Puteți descărca un utilitar de ardere precum Etcher.io pentru a transfera cu ușurință imaginea sistemului de operare. După ce fișierul.img a fost pe cardul meu SD, l-am introdus în Raspberry Pi și i-am dat putere. După aproximativ 50 de secunde am deconectat cablul și am scos cardul SD. Apoi am pus din nou cardul SD în computer și am intrat în directorul „boot”. Am deschis Notepad și l-am salvat ca un fișier gol numit „ssh” fără extensie. A existat și un fișier pe care l-am adăugat numit „wpa_supplicant.conf” și am pus acest text în el: network = {ssid = psk =} Apoi am salvat și am expulzat cardul și l-am pus înapoi în Raspberry Pi 3. Acest lucru ar trebui să permită acum utilizarea SSH și conectarea la WiFi.

Pasul 4: Instalarea software-ului

Există mai multe software-uri diferite care pot transmite în flux videoclipuri, cum ar fi VLC și mișcare, dar am decis să folosesc mjpeg-streamer datorită latenței sale reduse și instalării ușoare. Conform instrucțiunilor de pe site, faceți o: git clone https://github.com/jacksonliam/mjpg-streamer.git Într-un folder, apoi tastați: sudo apt-get install cmake libjpeg8-dev Pentru a instala bibliotecile necesare. Schimbați directorul în folderul pe care l-ați descărcat și apoi tastați: make Urmărit de: sudo make install Pentru a compila software-ul. În cele din urmă introduceți: export LD_LIBRARY_PATH =. Și pentru al rula tastați:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Puteți accesa fluxul direcționându-vă la: https:// IP-ul local al pi: 8080 / stream. html Pentru a vizualiza fluxul.

Pasul 5: Configurarea unui server Web

Pentru ca mașina să poată fi controlată extern prin WiFi, aveam nevoie de un server web. Un server web servește practic pagini web atunci când este solicitat, de obicei de către un browser. Am vrut ceva rapid și simplu de configurat și utilizat, luând Apache de pe masă. De asemenea, am vrut să interfațez serverul web cu Python, astfel încât să pot controla Arduino Uno cu PySerial. Această căutare m-a condus în cele din urmă la Flask, o frumoasă bibliotecă Python care permite utilizatorilor să creeze rapid un server web. Codul complet este atașat la această pagină a proiectului. Scriptul Python configurează, în principiu, 2 pagini web, una care este găzduită în directorul rădăcină, „/” și alta găzduită la „/ dispense”. Pagina index are un formular HTML care, atunci când este trimis, trimite o cerere de postare la pagina de distribuire. Pagina de distribuire verifică apoi dacă valoarea postării este corectă și dacă mesajul „D / n” este trimis prin serial către Arduino Uno.

Pasul 6: Controlul IO

Controlul IO
Controlul IO
Controlul IO
Controlul IO
Controlul IO
Controlul IO
Controlul IO
Controlul IO

Am decis să folosesc DRV8825 pentru a-mi conduce motorul pas cu pas, în principal datorită faptului că are nevoie doar de 2 pini IO împreună cu limitarea curentului reglabilă. Am încercat să folosesc un L293D, dar nu putea rezista la sarcina motorului pas cu pas. DRV8825 este controlat prin pulsarea pinului STEP prin PWM, iar direcția este controlată prin tragerea pinului DIR în sus sau în jos. Motorul pas cu pas pe care îl folosesc are o tensiune de 1,2 amperi, așa că am reglat tensiunea VREF la.6V. Următorul a fost ecranul LCD. Am vrut să folosesc I2C pentru a reduce cantitatea de IO necesară și pentru a simplifica codul. Pentru a instala biblioteca, pur și simplu căutați „LiquidCrystal_I2C” și instalați-o. În cele din urmă, Arduino Uno verifică dacă există informații noi în bufferul serial și dacă se potrivește cu „D”. În caz contrar, Uno face ca motorul pas cu pas să se deplaseze la 180 de grade și apoi la -72 de grade pentru a preveni depozitarea dulciurilor.

Recomandat: