Table of Contents

Laser Turret

Introducere

Descriere generală

Diagrama Hardware

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Nume componentă Link Cantitate Preț unitar (lei) Preț final (lei)
Placuta compatibila Arduino Uno R3 Link 1 49.99 49.99
Breadboard HQ (400 Points) Link 1 4.56 4.56
Ecran LCD I2C 1602 Link 1 16.34 16.34
Servo SG90 Link 1 11.99 11.99
Servo ES08MA II Link 1 28.39 28.39
Baterii 1.5V Link 4 3.20 12.80
Suport baterii (4xAA) Link 1 4.86 4.86
Condensator 1000 μF Link 2 0.59 1.18
Modul Laser KY-008 Link 1 4.28 4.28
Fire Male to Male Link 15 0.28 4.20
Fire Female to Male Link 9 0.44 3.99
Preț total: 142.55 lei

Schema electrica:

Utilizare PINI :

Software Design

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

Din moment ce PC-ul trebuie sa comunice in permanenta cu placuta Arduino pentru a putea trimite controalele, trebuie sa existe cod care ruleaza pe ambele dispozitive.

PC:

Placuta:

Notiuni din laboratoare folosite:

Functii:

IDE-uri folosite:

Rezultate Obţinute

In urma implementarii, am reusit sa obtin o “tureta” care se poate misca pe ambele axe (verticala si orizontala) folosind mouse-ul de la laptop cu performante bune, cu un delay si o acuratete foarte bune. De asemenea, ecranul afiseaza precis cooldown-ul abilitatii de a trage, acesta fiind actualizat o data pe secunda, fiind mentionat atunci cand utilizatorul poate sa “traga”.

Demo1

Demo2

Concluzii

In urma realizarii acestui proiect, mi-am consolidat multe din cunostintele acumulate la laboratorul si cursul de PM, in special comunicarea seriala si controloarea motoarelor prin PWM, reusind sa obtin un proiectel interesant si distractiv.

Pe de partea cea mai grea parte din realizarea proiectului a fost cea pe care o consideram cea mai usoara inainte sa ma apuc de proiect, si anume comunicarea seriala. Am intampinat multe probleme la aceasta, cea mai mare fiind faptul ca trimitrea datelor prin serial de la laptop la arduino ducea la umplerea buffer-ului de trimitere a datelor (ceva ce nu stiam ca se poate intampla =)), manifestarea acestui fenoment nefiind intocmai evidenta). De asemenea, am avut probleme legate de setup-ul USART-ului (felul in care setasem formatul frame-ului era diferit de felul in care era configurat frame-ul by default in biblioteca commSerial din java).

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.

Jurnal

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

Resurse

Repository

Bibliografie

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Datasheeet ATmega328P Tutorial Servo Tutorial LCD Biblioteca I2C Biblioteca Servo

Export to PDF