This is an old revision of the document!
Zelda Guardian
Nume: Tudor Mihnea
Grupa: 331CAb
Introducere
Proiectul este inspirat dintr-un joc numit The Legend of Zelda: Breath of the Wild, si incearca sa imite un Guardian stationar. Proiectul in sine este practic un robot alcatuit din doua parti, corpul si capul.
Cea mai complexa componenta este capul, care se roteste orizontal, in jurul axei Oy, si urmareste orice obiect suficient de apropiat, cu ajutorul unor senzori de distanta. Dupa un anumit timp in care obiectul ramane in raza de actiune a robotului, acesta va arunca o bila in directia generala a tintei. Din motive de siguranta, s-a renuntat la ideea care includea un laser. De asemenea, se vor folosi LEDuri si un buzzer pentru a evidentia diversele stari ale robotului.
Resurse video:
Un videoclip care demonstreaza cum functioneaza robotul in joc, si care a fost sursa principala de inspiratie, se poate gasi
aici.
Videoclipul care mi-a dat speranta ca proiectul este fezabil este facut de cei de la Adafruit, si se poate gasi
aici.
Descriere generală
La nivel logic, robotul functioneaza pe baza unei masini finite de stari. Starile sunt reprezentate grafic in figura de mai jos, si enumerate in continuare:
Idle - robotul nu are niciun obiect in fata sau in jur, asa ca “doarme”
Waking Up - robotul a detectat un obiect in fata, asa ca se “trezeste”; se aprind LEDurile frontale, unul cate unul, iar dupa ce s-au aprins toate iar obiectul este inca in fata, incepe sa atace
Follow - robotul urmareste obiectul stanga / dreapta pentru o perioada determinata de timp, si poate ataca daca obiectul inca e in raza de actiune, sau poate intra in starea de Survey
Attack - robotul arunca o bila in directia in care a ramas indreptat, ia o pauza, si revine in modul Attack sau Survey
Survey - robotul si-a pierdut tinta, asa ca face un ultim efort de a o gasi, cautand alte tinte in jur (se roteste random stanga dreapta), pentru un timp determinat, dupa care se “culca” la loc (intra in Idle)
La nivel fizic, robotul este alcatuit din 2 parti: corpul si capul. Corpul va contine un singur Motor servo 360 care va misca orizontal intreg capul. Motorul este tinut in loc cu ajutorul unui suport.
Capul are mai multe functionalitati. Prima este cea de detectie si urmarire a obiectelor apropiate. Trei senzori ultrasonici HC-SR04 vor fi amplasati in jurul “ochiului”, astfel:
unul deasupra, pentru a detecta distanta obiectului aflat direct in fata
unul la stanga si unul la dreapta, pentru a detecta eventualele miscari ale obiectului
Partea complicata este lansatorul de bile. Acesta va fi amplasat fie direct pe cap, fie in interiorul lui (si va arunca bilele prin ochi). Acesta este format din 2 servomotoare apropiate, care invart niste roti. Bilele care ating cele doua roti, aflate intr-o rotatie continua, vor fi lansate in fata. Bilele vor fi tinute (probabil) intr-un suport de carton, vor circula printr-un tub tot de carton, pana la roti, moment in care vor fi aruncate. Pentru a controla fluxul bilelor, voi folosi un servomotor care va “deschide” si “inchide” tubul, pentru a permite urmatoarei bile sa fie lansata.
O schema bloc initiala se poate gasi in figura urmatoare:
Hardware Design
Lista componente:
1x Arduino Uno R3 ATmega328P
1x Breadboard 830 puncte MB102
3x Motor servo 360 12kg
1x Motor Servo MG90S 180g
3x Senzor ultrasonic HC-SR04
1x Modul cu Buzzer activ
Nx LEDuri
Nx Rezistori X Ohmi
Nx Fire Jumper
Lista de componente nu este finala, diverse cantitati de componente sau chiar piese intregi se pot modifica / adauga.
Software Design
Coming soon..
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
librării şi surse 3rd-party (e.g. Procyon AVRlib)
algoritmi şi structuri pe care plănuiţi să le implementaţi
(etapa 3) surse şi funcţii implementate
Rezultate Obţinute
Coming soon..
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
Coming soon..
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Jurnal
04 mai 2023 - Creare pagina wiki
Bibliografie/Resurse
Coming soon..
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF