E-mail: adriana.ionita2404@gmail.com
Introducere
Proiectul va consta in realizarea unui dragon, bazat pe modelul Alexstraszei din WoW, care are aripi ce se pot deschide si inchide, poate scoate fum si are anumite parti (cum ar fi ochii) care pot lumina. Fiecare din functionalitati va putea fi declansata de pe telefon, dintr-o aplicatie care va comunica prin Bluetooth cu placuta.
Proiectul in sine nu vine cu utilitati “raspandite”. Proiectul ales are majoritar interes personal intrucat realizarea sa, atat electrica, cat si “artistica” este ceva ce tine de un hobby. Adica proiectul nu rezolva o problema existenta, ci consta in ceva artsy-craftsy din care se pot invata lucruri noi, utile pe viitor.
Ideea a pornit de la realizarea unor aripi in marime naturala, insa, din mai multe motive, am ajuns la decizia scalarii ideii la o dimensiune mai mica. Intrucat nu mi s-a parut suficient de interesant si de complex, am cautat sa integrez ideea intr-un context mai clar. Din moment ce intotdeauna mi-au placut dragonii, am zis ca aceasta este tema perfecta.
Descriere Generala
<fc #000000>Aripile dragonului vor fi controlate de servomotoare, cate unul pentru fiecare aripa, iar ochii vor avea LED-uri. Fumul pe care acesta il va putea scoate va fi generat de un mecanism ce consta in atasarea unei pompe de apa/aer la un cap de tigara electronica. Proiectul va avea atasat si un modul Bluetooth pentru a permite controlarea sa de pe telefon.</fc>
Schema bloc:
Hardware Design
Lista piese:
PCB
Componente de baza
Servomotoare
Roti zimtate
Cremaliere
LED-uri
Modul Bluetooth
Pompa de aer/apa
Atomizor
Modul releu
Altele
Schema electrica:
Post implementare:
Cele mai complexe aspecte ale implementarii hardware au fost urmatoarele:
Aspectul 
Chiar daca acesta nu este neaparat un obiect de studiu in cadrul cursului de PM, a face o placuta sa arate ca un dragon a fost o provocare XD.
Absolut tot a fost facut de mine, folosind materiale precum: bete de lemn, material textil, ata, termoplastice (EVA foam, Worbla’s Black Art), hot glue (HMA), super glue si, most important, world’s best invention, banda izolatoare.
De asemenea, totul a fost pictat de mana folosind acrilice si culori pe baza de ulei.
Mai trebuie mentionat ca toti solzii dragonului, de pe tot corpul, au fost facuti tot de mana, cu letcon-ul.
Software Design
Editor text: Vim

Compilator: avr-gcc
Structura cod:
Header | Scop |
avr/io.h | Pentru includerea definitiilor IO specifice AVR. |
avr/interrupt.h | Pentru a permite lucrul cu intreruperi in cadrul timer-elor si modulului Bluetooth. |
util/delay.h | Pentru a facilita deschiderea aripilor mai lin. |
usart.h | Biblioteca pentru comunicarea cu modului Bluetooth prin USART. |
gpio.h | Biblioteca pentru controlul LED-urilor si pompei de aer. |
timer1.h | Bibliteca pentru facilitarea temporizarii pompei. |
servo.h | Biblioteca pentru controlul servo-urilor, folosind PWM. |
Comunicare placuta - telefon
Pentru trimiterea comenzilor de la telefon la placuta, am folosit aplicatia “Bluetooth Terminal HC-05” download-ata de pe Google Play.
Aplicatia, pentru a transmite/receptiona date, se conecteaza la modulul Bluetooth HC-05 de pe placuta.
Prin aplicatie se pot transmite 3 comenzi valide catre placuta (datele se transmit in format
ASCII):
Pornire fum ⇒ trimitere caracter ’s’ - Smoke
Deschidere aripi ⇒ trimitere caracter ‘o’ - Open
Inchidere aripi ⇒ trimitere caracter ‘c’ - Close
Intrucat ATmega-ul are 2 interfete prin care se poate comunica prin USART, am ales sa conectez modulul Bluetooth la USART0.
Pentru un schimb de date valid, baud rate-ul este setat la 9600 bps, iar formatul frame-ului consta in 8 biti de date, 1 bit de stop si fara paritate.
Receptia la placuta se face pe baza de intreruperi. Adica verificarea mesajului primit se face in handler-ul de intrerupere corespunzator.
Transmisia de la placuta se face folosind polling. Pentru fiecare mesaj valid receptionat, placuta raspunde cu un mesaj corespunzator ce va fi afisat in aplicatie.
Actionare aripi
Aripile sunt controlate de 2 servomotoare, adica prin 2 semnale PWM.
Servo-urile sunt conectate pe pinii OC0A si OC0B, adica semnalul este generat folosind un timer pe 8 biti.
Chiar daca frecventa minima in acest caz nu ajunge la 50Hz, servo-urile pot face toata miscarea (180 de grade).
Initial OCR0A si OCR0B sunt setate la valori opuse (adica unul la 0 grade si celalalt la 180) pentru ca cele 2 aripi se se miste in oglinda.
La fiecare comanda primita, aripile se inchid/deschid prin incrementarea/decrementarea OCR0n in mod corespunzator (unul creste, celalalt scade) urmate de un delay.
Delay-ul este folosit din 2 motive:
Pentru a avea o deschidere a aripilor mai lina (acest lucru justifica necesitatea unui delay).
Pentru a lasa sa se execute mereu o miscare completa (inchidere sau deschidere) deoarece se doreste evitare bruscarii mecanismul fizic din spate (acest aspect justifica folosirea unui delay fata de un mecanism de intreruperi).
Actionare mecanism fum
Acest mecanism este cel mai simplu din punct de vedere al software-ului.
Ansamblul este urmatorul: pompa este atasata de capatul atomizorului la care s-ar pune, de-obicei, bateria acesteia; pentru a alimenta cele 2 componente am folosit 2 baterii de 9V, cate una inseriata cu fiecare componenta; adica, practic, 2 mini-circuite separate; capetele circuitelor sunt legate la intrarile modulului cu releu care nu sunt conectate initial; pentru a actiona mecanismul (prin conectarea celor 2 circuite) trebuie setat pinul de date al modulului cu releu (care este activ pe 0).
Odata pornit mecanismul, se porneste timer-ul 1 pentru a declansa oprirea acestuia dupa un timp de aproximativ 2.5s.
Walkthrough
Rezultate
Am reusit sa implementez proiectul in intregime, cu toate functionalitatile ok.
Atat din punct de vedere hardware, cat si software totul este finalizat.
Aspectul final al proiectului a ramas bazat pe Alexstrasza, cu mentiunea ca anumite detalii au fost stilizate si impovizate dupa posibiliati.
Poze finale:

Video demo:

Concluzii
Acesta a fost de departe cel mai interesant proiect pe care l-am avut pana acum in facultate.
Pentru mine a fost o placere ca am putut sa combin tema de la facultate cu un hobby (cosplay-ul).
Pot spune sincer ca intreg proiectul a fost o serie fericita de improvizatii, intrucat nu exista o “reteta” pentru asa ceva XD.
Personal, m-am distrat facand acest proiect si sunt foarte incantata de rezultat

.
Download
Bibliografie/Resurse