Differences

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

Link to this comparison view

pm:prj2023:drtranca:turret [2023/05/07 22:40]
theodor.pruteanu
pm:prj2023:drtranca:turret [2023/05/30 13:45] (current)
theodor.pruteanu
Line 9: Line 9:
 ==== Introducere ==== ==== Introducere ====
  
-Proiectul este o tureta de jucarie, care poate fi controlata prin Bluetooth.+{{:​pm:​prj2023:​drtranca:​theop-turret.jpg?800|}}
  
-===== Descriere generală =====+Proiectul este un prototip pentru o tureta de jucarie. Se poate misca pe 2 axe (sus-jos, stanga-dreapta) pentru a tinti, si poate sa fie actionat sa traga cu proiectile din spuma. ​
  
-Tureta ​sa se miste pe 2 axe (tilt & pancu ajutorul a 2 servo, si cu alt servo si 2 motoare DC o sa poata sa tragaUtilizatorul ​poate controla ​prin Bluetooth.+===== Project Design ===== 
 + 
 +Tureta ​trebuie sa implementeze urmatoarele functionalitati:​ 
 +  - sa se miste liber pe 2 axe (sus-jos, stanga-dreapta) 
 +  - sa pregateasca motoarele de tragere 
 +  - sa traga 
 +  - sa primeasca comenzi de la o sursa externa 
 +  - sa poata fi actionat manual pentru tragere 
 + 
 +=== 1. Miscare === 
 + 
 +Pentru miscarea sus-jos, stanga-dreapta o sa se foloseasca ​2 servo-uri (MG996r). 
 + 
 +=== 2. Motoare tragere === 
 + 
 +Motoare pentru tragere o sa fie motoare DC, care vor fi pornite/​oprite folosind un MOSFET, conectat la un pin GPIO arduino. 
 + 
 +=== 3. Tragere === 
 + 
 +Actiunea de tragere ​o sa fie facuta cu un servo (SG90), care o sa impinga (cu ajutorul unui ax metalic) proiectilele in motoarele de tragere care o sa propulseze proiectilul mai departe. 
 + 
 +=== 4. Control === 
 + 
 +Controlarea punctelor 1/2/3 sa fie facuta ​prin seriala. O sa se foloseasca un protocol pe 8 biti, unde: 
 +  * 2 biti pentru controlul sus-jos (3 stari, stanga/​dreapta/​repaus) 
 +  * 2 biti pentru controlul stanga-dreapta (3 stari, stanga/​dreapta/​repaus) 
 +  * 2 bit pentru controlul motoarelor de tragere 
 +  * 1 bit pentru actiunea de tragere 
 +  * 1 biti rezerva 
 + 
 +Folosind un protocol pe seriala, aceasta poate sa fie adaptat usor si pentru ​Bluetooth ​(dar am ars modulul last minute :() 
 + 
 +=== 5. Actionare manuala === 
 + 
 +O sa existe si un buton fizic, pentru actiunea de tragere, care o sa se comporte ca si cum am primit comanda prin seriala.
  
 ===== Hardware Design ===== ===== Hardware Design =====
  
 === Design === === Design ===
 +{{:​pm:​prj2023:​drtranca:​theop-pm_hard.png|}}
  
-{{:​pm:​prj2023:​drtranca:​hardware_turret.png?​800|}} 
  
 === Lista de piese === === Lista de piese ===
  
-     * Arduino ​Nano  +     * Arduino 
-     ​* ​Motoare ​Servo +     ​* ​MG996r ​Servo Motors x2 
-     ​* ​Motoare DC +     ​* ​SG90 Servo Motor 
-     ​* ​Modul Bluetooth +     ​* ​9V DC Motors 
-     * Modul coborare tensiune+     * Modul coborare tensiune ​LM2596 
 +     * Buton 
 +     * MOSFET
      * Sursa Alimentare      * Sursa Alimentare
-     * Fire, Rezistente, Conectoare ​etc. +     * Fire, Rezistente etc. 
-     * Cadru printat 3D+     * Cadru printat 3D, suruburi, ax metalic
  
 ===== Software Design ===== ===== Software Design =====
  
 +Partea software consta din 2 programe:
 +  * firmware-ul Arduino
 +  * aplicatie Python pentru a da comenzile
  
-<note tip> +=== Arduino ===
-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 +
-</​note>​+
  
-===== Rezultate Obţinute =====+Arduino-ul citeste de pe seriala si executa comenzi odata la 10 ms folosind protocolul explicat in sectiunea de Project Design.
  
-<note tip> +=== Python ===
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​ +
-În etapele următoare... stay tuned!+
  
-===== Concluzii =====+Aplicatia python foloseste ''​pygame''​ pentru a interfata cu utilizatorul,​ astepta comenzi: 
 +  * sageti pentru miscarea sus/jos stanga/​dreapta 
 +  * space pentru a trage 
 +  * C si S pentru pornire/​oprire motoare de tragere
  
-În etapele următoare... stay tuned!+Comunica cu arduino prin seriala, folosind biblioteca standard ''​pyserial''​.
  
 ===== Download ===== ===== Download =====
- 
-<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 ===== 
  
 <note tip> <note tip>
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +{{:pm:​prj2023:​drtranca:​theodor_pruteanu-334cb.zip|}}
-</​note>​ +
- +
-===== Bibliografie/​Resurse ===== +
- +
-<​note>​ +
-https://​www.littlefrenchkev.com/​bluetooth-nerf-turret+
 </​note>​ </​note>​
  
 <​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/drtranca/turret.1683488414.txt.gz · Last modified: 2023/05/07 22:40 by theodor.pruteanu
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