Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:gpatru:zelda_guardian [2023/05/05 20:16]
mihnea.tudor [Introducere]
pm:prj2023:gpatru:zelda_guardian [2023/06/01 18:03] (current)
mihnea.tudor adaugare schema hardware
Line 2: Line 2:
  
 <note tip> <note tip>
-**Nume:​** ​Tudor Mihnea \\+**Nume:** Mihnea ​Tudor \\
 **Grupa:** 331CAb **Grupa:** 331CAb
 </​note>​ </​note>​
Line 9: Line 9:
 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. 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.+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.
  
 <note tip> <note tip>
 Resurse video: Resurse video:
-  * Un videoclip care demonstreaza cum functioneaza robotul in joc, si care a fost sursa principala de inspiratie, se poate gasi [[https://​www.youtube.com/​watch?​v=dQw4w9WgXcQ|aici]].+  * Un videoclip care demonstreaza cum functioneaza robotul in joc, si care a fost sursa principala de inspiratie, se poate gasi [[https://​www.youtube.com/​watch?​v=bEnBphAq_Zo|aici]].
   * Videoclipul care mi-a dat speranta ca proiectul este fezabil este facut de cei de la Adafruit, si se poate gasi [[https://​www.youtube.com/​watch?​v=ULqynriVAa0|aici]].   * Videoclipul care mi-a dat speranta ca proiectul este fezabil este facut de cei de la Adafruit, si se poate gasi [[https://​www.youtube.com/​watch?​v=ULqynriVAa0|aici]].
  
Line 20: Line 20:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-Coming soon..+La nivel logic, robotul functioneaza pe baza unui automat finit de stariStarile robotului sunt: Idle, Wake Up, Follow, Attack, Survey, Rambo. Fiecare este explicata in sectiunea de Software Design, alaturi de o reprezentare grafica a automatului.
  
-<note tip> +La nivel fizicrobotul este alcatuit din 2 parti: corpul si capul. Corpul contine un singur Motor servo 360 care misca orizontal intreg capul. Elicea motorului este prinsa cu suruburi ​de un suport solid, motorul fiind cel care se misca in jurul elicei. De acel motor este prins un alt suport, ​placa mare, dreptunghiulara,​ ce reprezinta capul, pe care sunt puse toate celelalte piese.
-O schemă bloc cu toate modulele proiectului vostruatât software cât şi hardware însoţită ​de o descriere a acestora precum şi a modului în care interacţionează.+
  
-Exemplu ​de schemă blochttp://www.robs-projects.com/​mp3proj/​newplayer.html +Capul are mai multe functionalitati. Prima este cea de detectie si urmarire a obiectelor apropiate. Doi senzori ultrasonici HC-SR04 si unul Sharp vor fi amplasati in jurul "​ochiului",​ astfel: 
-</​note>​+  * cel analogic deasupra, pentru a detecta distanta obiectului aflat direct in fata 
 +  * unul digital la stanga si unul la dreapta, pentru a detecta eventualele miscari ale obiectului 
 + 
 +Partea complicata este lansatorul de bileAcesta este amplasat pe placa dreptunghiulara care reprezinta capul, si trage cu bile printr-o gaura dintr-un perete facut tot din acelasi materialAcesta este format din 2 motoare DC apropiate, care invart niste roti. Bilele care ating cele doua roti, aflate intr-o rotatie continua, vor fi lansate in fata. Bilele sunt tinute intr-un tub din plastic, prin care vor circula cand se lanseaza cateva din fata. Cand ajung la roti, ele vor fi aruncate. Pentru a controla fluxul bilelor, am folosit un servomotor care nu e continuu, care "​deschide"​ si "​inchide"​ tubul, pentru a permite urmatoarei bile sa fie lansata
 + 
 +O schema bloc initiala se poate gasi in figura urmatoare:​ 
 + 
 +{{ :​pm:​prj2023:​gpatru:​guardian_block_diagram.png?​700 |}}
  
 ===== Hardware Design ===== ===== Hardware Design =====
  
-Coming soon..+Lista componente:​ 
 +  * 1x Arduino Uno R3 ATmega328P 
 +  * 1x Breadboard 830 puncte MB102 
 +  * 1x Motor servo 360 12kg 
 +  * 1x Motor Servo MG90S 180g 
 +  * 2x Motor DC R140 
 +  * 2x Senzor ultrasonic HC-SR04 
 +  * 1x Senzor Sharp GP2Y0A60SZLF 
 +  * 1x Buton 
 +  * 7x Baterii AA 
 +  * Multe Fire Jumper
  
-<note tip> +Schema ​hardware, realizata in Tinkercad
-Aici puneţi tot ce ţine de hardware ​design+ 
-  * listă de piese +{{ :pm:​prj2023:​gpatru:​guardian_hardware_schematic.png?700 |}}
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png+
-  * diagrame de semnal  +
-  * rezultatele simulării +
-</​note>​+
  
 ===== Software Design ===== ===== Software Design =====
  
-Coming soon..+Arduino.
  
 +Pe partea de software, robotul functioneaza pe baza unui automat finit de stari. Starile sunt reprezentate grafic in figura de mai jos, si explicate 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";​ daca obiectul inca este in fata dupa 2 secunde, 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 Follow
 +  * **Survey** - robotul si-a pierdut tinta, asa ca face un ultim efort de a o gasi, cautand alte tinte in jur (se uita in stanga sau dreapta, in functie de sensul ultimei cautari), pentru un timp determinat, dupa care se "​culca"​ la loc (intra in Idle); daca gaseste, reintra in Follow
 +  * **Rambo** - indiferent de starea anterioara, la apasarea butonului, robotul intra in starea Rambo pentru 5 secunde, in care arunca toate bilele ramase; la final, se intoarce in starea Idle (fiind obosit, trebuie sa se odihneasca)
  
-<note tip> +{{ :pm:​prj2023:​gpatru:​guardian_state_machine.png?700 |}}
-Descrierea codului aplicaţiei (firmware): +
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-Coming soon..+Mai jos este un mic demo care arata diversele stari prin care trece robotul, dar si cum functioneaza sistemul de tragere.
  
-<note tip+<html
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+<iframe width="​560"​ height="​315"​ src="​https://​www.youtube.com/​embed/​1J-rxCkIJeQ"​ title="​YouTube video player"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ allowfullscreen></​iframe>​ 
-</note>+</html>
  
 ===== Concluzii ===== ===== Concluzii =====
  
-Coming soon..+As fi vrut sa adaug multe lucruri la proiect: LEDuri, buzzer, mai multi pereti, culori, o parte software mai stabila etc, dar mai greu cu timpul semestrul astaDesi nu arata exact ca materialul de referinta, mi-a placut foarte mult sa lucrez la acest robot, e ceva complet diferit de oricare alta tema de pana acum. 
 + 
 +Cu dedicatie tuturor fanilor Zelda ❤️.
  
 ===== Download ===== ===== Download =====
  
-Coming soon.. +Codul proiectului se poate gasi aici{{:pm:prj2023:gpatru:zelda_guardian.zip|}}.
- +
-<note warning>​ +
-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**. +
-</​note>​+
  
 ===== Jurnal ===== ===== Jurnal =====
  
-04 mai 2023 - Creare ​pagina wiki+//1 iunie 2023// - adaugare buton + documentatie (intarziere datorata unor probleme tehnice neprevazute) \\ 
 +//29-30 mai 2023// - terminat restul :) \\ 
 +//05 mai 2023// - terminat documentatie v1.0 \\ 
 +//04 mai 2023// creare ​pagina wiki
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-Coming soon.. +  * [[https://​www.youtube.com/​watch?​v=ULqynriVAa0|Adafruit Zelda Guardian]] 
- +  * [[https://​www.youtube.com/​watch?​v=sQw2vnRLggw|Ping Pong Ball Launcher]] 
-<​note>​ +  * [[https://​www.youtube.com/​watch?​v=-1ND3IfWjNY|Tennis Ball Launcher]] 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  ​[[https://​www.makerguides.com/​sharp-gp2y0a21yk0f-ir-distance-sensor-arduino-tutorial|Sharp Sensor Tutorial]] 
-</note>+  * [[https://​howtomechatronics.com/​tutorials/​arduino/​ultrasonic-sensor-hc-sr04|Ultrasonic Sensor Tutorial]]
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2023/gpatru/zelda_guardian.1683306978.txt.gz · Last modified: 2023/05/05 20:16 by mihnea.tudor
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