Tanc teleghidat

  • Autor: Bodocan Cristian-Stefan
  • Grupa: 335CC

Introducere

Prezentarea pe scurt a proiectului:

  • Un tanc controlat prin doua joystick-uri, unul care contoleaza miscarea si directia si unul care controleaza turela si un buton care face tancul sa traga.
  • Realizarea unui tanc controlat prin telecomanda ca si cele cu care ne jucam cand eram mici.:)
  • Sunt pasionat de tancuri si cand am auzit un coleg ca vorbea ca idee de o masinuta teleghidata m-am gandit ce misto ar fi sa fac un tanc teleghidart.
  • Reprezinta un challenge interesant sa fac un tanculet care sa se comporte ca unu real, cat de cat, si consider ca este o tema destul de complexa pentru din cauuza tuturor pieselor pe care trebuie sa le folosesc.

Descriere generală

  • Tancul o sa fie senilat, o sa aiba o turela si sun tun si sunete proprii.
  • Acesta se paote misca inainte si inapoi si poate sa se intoarca si sa vireze pe loc(o senila merge inainte, iar cealalta inapoi).
  • Turela o sa poata sa se miste 360 de grade, iar tunul sa se ridice si sa coboare.
  • O sa ma folosesc si de 3 led-uri, unu rosu in caparul tunului si 2 albastre pe turela pentru a semnala ca ca tancul este activ.
  • Pentru propulsie o sa folosesc două motoare electrice si driver motor L298N(punte H).
  • Pentru turela si tun o sa folosesc un motor electric si respectiv un servo motor.

Hardware Design

Componente folosite
3 motoare electrice
1 servo motor
2 joystick uri
1 buton
fire
rezistente
driver motor L298N(punteH)
3 leduri rgb

Software Design

Mediul de dezvoltare folosit

Arduino IDE

Biblioteci folosite

Servo.h: Servo motoare

Descriere implementare

La inceput sunt initializate toate componentele si toti pinii pe care acestia ii folosesc, dar si cateva variabile ajutatoare codului. In functia setup() se initializeaza ledul, motoarele si servo-motoarele

Mi-am creat 2 functii separate care se ocupa de buna functionarea tanculul.

motoare(): controleaza cele 2 motoare de 12V conectate la puntra H. Deoarece motoarele sunt montate invers acestea trebuie sa primeasca comenzile in oglinda, cand unul merge inainte celalalt trebuie sa mearga inapoi. Acestea preiau inputul dat de joystic si in functie de axa pe care s-a primit inputul motoarele raspund corespunzator. Pentru citirea de la joystick ma folosesc de pinii A5 si A4, iar pentru motoare conectez puntea H la pinii D4, D5, D6, D7 pentru in1,…in4, iar pentru enA si enB folosesc pinii D9 si D10.

turela(): controleaza cele 2 servo-motoare din turela, cel care invarte turela si cel care misca tunul. In functie de inputul citit de la joystick, daca e pe axa Ox tancul misca turela pe orizontala, daca e pe axa Oy tancul misca tunul sus jos. Pentru citirea de la joystick ma folosesc de pinii A1 si A0, iar pentru servo-motoare ma folosesc de pinii D2, D3. Pentru a micsora viteza servo-motorului care controleaza miscarea turelei am facut o functie separata care produce un mic delay.

In functia loop()
Apelez cele 2 functii, motoare() si turela() si apoi ma ocup de aprinderea si stingerea ledului din tun in functie de apasarea butonului din joystick.

Rezultate Obţinute

Sunt foarte multumit de cum a iesit proiectul, singura neplacere a fost ca din cand in cand se mai produce putin zgomot si se mai invarte usor turela fara sa primeasca neaparat inputul corespunzator.

Un scurt demo cu functionalitatea proiectului

Concluzii

Dupa realizarea acestui proiect am ajuns sa ma familiarizez mai bine cu lucrul cu arduino si asamblarea unui asemenea proiect. Ca si greutate cel mai neplacut a fost montajul tuturor pieselor in carcasa de tanc.

Download

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.

Download code

Link Github pentru cod.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

pm/prj2022/robert/471_tanc_teleghidat.txt · Last modified: 2022/05/31 17:49 by cristian.bodocan
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