Dan-Teodor PONCU (78699) - Remote pet feeder

Autorul poate fi contactat la adresa: teodor.poncu@gmail.com

Introducere

Acest proiect are drept scop construirea unui remote pet feeder. Use case-ul este unul foarte comun intalnit, si anume cand datorita programului aglomerat sau a unei eventuale deplasari inafara localitatii, stapanul nu-si poate hrani companionul patruped la intervale de timp adecvate.

Deviceul va fi controlabil remote prin intermediul unei aplicatii mobile, astfel stapanul avand posibilitatea de a-si hrani animalul indiferent de locatia in care se afla, fie stabilind un feeding schedule, sau manual prin intermediul aplicatiei, cat timp are acces la o conexiune cu internetul.

Descriere generală

Acest proiect are 2 componente principale:

  • O componenta software reprezentata de aplicatia mobila ce serveste drept hub de control al componentei hardware.
  • O componenta hardware reprezentata de ansamblul format din containerul de hrana (un corp de plexiglass) si placa ATMEGA-324 careia ii sunt atasate ca si componente principale un motor electric si un receiver wireless. Motorul este responsabil de actionarea trapei ce va permite hranei sa cada in 'argintaria' patrupedului.

Receiverul va astepta mesaje de la aplicatia mobila, in functie de care va face fie actiuni imediate sau programari pentru orarul de hranire.

Functionarea se va derula in felul urmator:

  1. Utilizatorul acceseaza aplicatia mobila si alege comanda pe care doreste ca feeder-ul sa o indeplineasca.
  2. Utilizatorul customizeaza parametrii comenzii (daca doreste sa modifice orarul de hranire - atunci va seta ora, daca doreste o hranire automata, va seta cantitatea, etc.)
  3. Feeder-ul va receptiona comanda si isi va schimba parametrii interni dupa care in functie de acestia va actiona ulterior motorul ce controleaza trapa.
  4. Trapa se deschide si permite accesul mancarii catre 'argintarie'.
  5. Patrupedul isi va savura masa dupa care se vor instala regretele abaterii de la dieta si un puternic conflict existential.

Hardware Design

Schema electrica *PLACEHOLDER AS OF 05.06.2018*

Schema electrica s-a modificat de la publicarea acesteia, insa gratie licentei de Eagle nu am reusit sa o mai modific pentru ca nu ma lasa sa adaug mai mult de un custom block, iar cum nu am reusit sa gasesc pentru MG996/ESP8266 un modul .sch pe internet sa le copiez in schema, well that's the best I can provide.

Componente necesare:

  • 1 x Servo Motor - MG-996
  • 1 x Receiver Wireless - ESP8266
  • 1 x Convertor 3.3V-5V
  • 1 x Divizor de tensiune format din 1 rezistenta de 2K si 1 rezistenta de 1K
  • 1 x Container Plexiglass
  • Fire electricre/componente mecanice auxiliare

Software Design

Software design-ul a fost pe deoparte cea mai grea si cea mai usoara parte.

De ce grea? - pentru ca a durat ceva timp pana sa gasesc cum se comunica cu ESP8266

De ce usoara? - deinadata ce am gasit cum se comunica cu ESP8266 totul a devenit relativ usor.

In resurse este pusa o implementare a comunicarii seriale cu ESP8266 cu un ATMega16. Am modificat implementarea uploadata pentru propiile taskuri si modelul ATMega324p (o diferenta ar fi functiile de comunicare prin seriala).

Rezultate Obţinute

Concluzii

Download

Jurnal

Pasul 1: Tentatiza cumparat piese.

Dupa o lista initiala a componenetelor necesare, aflu ca majoritatea nu sunt pe stoc.

Pasul 2: Regandit schema electrica/componente.

Shiftarea inspre un modul ESP8266 si un alt servomotor de consum mai mic.

Pasul 3: Esp8266 are nevoie de o alimentare de 3.3V.

Deschis sheet-ul cu componente electrice de pe site-ul de PM. Cautat numele pieselor auxiliare necesare pentru alimentare pe google. Gasit stoc doar pe farnell.uk. Intrat in panica. Cautat pe google convertor 3.3V-5V. Gasit convertor. Problema rezolvata.

Pasul 4: Asamblat placa.

Cumparat o groaza de fire, vazut ca firele vin manunchi de 10, dezlipit fire 1 cate 1. Iesit o caracatita de chestie. Pe viitor nu mai dezlipesc firele.

Pasul 5: Codat.

Deschis documentatie ESP8266. Instructiuni cu caracter dubios, care nu par a cod de C. Citit documentatie multa. Gasit cod pe net pentru ATMega16 folosind tot ESP8266. Carpit cod pentru ATMega324. (Codul pentru ESP, este un wrapper pentru transmitere seriala a instructiunilor specifice ESP8266 prin seriala, codul de transmisie seriala este cel din laborator). Facut motor sa se invarta. (Mai mult cod inspirat din laborator).

Pasul 6: Lucru manual.

2 maini de stanga. Cumparat container de plexiglass de la zoomania. Decupat container.

Pasul 7: Bug fixing. –AMANAT pentru ca prelungire deadline–

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Resurse Software

atmega16_wifi_tutorial.zip

  • Documentația în format PDF
pm/prj2018/avoinescu/remote-pet-feeder.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0