Tureta de jucarie

Nume : Pruteanu Theodor-Andrei

Grupa : 334CB

Introducere

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.

Project Design

Tureta trebuie sa implementeze urmatoarele functionalitati:

  1. sa se miste liber pe 2 axe (sus-jos, stanga-dreapta)
  2. sa pregateasca motoarele de tragere
  3. sa traga
  4. sa primeasca comenzi de la o sursa externa
  5. 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 o 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

Design

Lista de piese

  • Arduino
  • MG996r Servo Motors x2
  • SG90 Servo Motor
  • 9V DC Motors
  • Modul coborare tensiune LM2596
  • Buton
  • MOSFET
  • Sursa Alimentare
  • Fire, Rezistente etc.
  • Cadru printat 3D, suruburi, ax metalic

Software Design

Partea software consta din 2 programe:

  • firmware-ul Arduino
  • aplicatie Python pentru a da comenzile

Arduino

Arduino-ul citeste de pe seriala si executa comenzi odata la 10 ms folosind protocolul explicat in sectiunea de Project Design.

Python

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

Comunica cu arduino prin seriala, folosind biblioteca standard pyserial.

Download

pm/prj2023/drtranca/turret.txt · Last modified: 2023/05/30 13:45 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