Table of Contents

Mini Claptrap

Introducere

Proiectul reprezinta o replica in miniatura a robotului Claptrap din Borderlands, care o sa zica niste replici ale personajului la anumite triggere. Acesta o sa fie activat de un buton, va functiona pe baterii si va raspunde la miscarea prin fata “ochiului” sau. Va avea un led care va sta aprins atata timp cat si el este pornit si va tremura daca acesta este bruscat.

Scopul proiectului este pur de entertainment, intrucat inspiratia vine dintr-un joc de care sunt pasionata.

Descriere generală

Schema Bloc

In primul rand, vom avea un buton care porneste robotul. Odata pornit, acestuia ii se va aprinde led-ul si va zice un voiceline din MP3 Player. Senzorul de miscare va fi folosit pentru a detecta miscarea prin fata robotului, la care acesta va reactiona cu un voiceline random din MP3 Player. Senzorul de vibratie va detecta daca robotul a fost miscat sau bruscat din exterior, ceea ce va trimite un semnal catre motor pentru a-l face sa tremure o perioada.

Hardware Design

Lista de componente

Schema electrica

Scheme ale componentelor si Specificatii

Arduino UNO: Specificatii:

Modul MP3 player DFPlayer Mini: Specificatii:

L298N Punte H dubla: Specificatii:

Senzor de prezenta si miscare: Specificatii:

Motor de curent continuu:

Specificatii:

Senzor de vibratie: Specificatii:

Software Design

Diagrama de activitate

Explicatii

In setup initializez comunicarea seriala cu DFPlayerul si configurez valorile de baza pentru led, motor, respectiv sonorul de la DFPlayer si, desigur, pinii pe care ii voi folosi si pentru ce.

Pentru a masura valoarea obtinuta de senzorul de miscare am creat o functie TP_init care detecteaza pentru cat timp valoarea returnata de senzor este pe HIGH. Am ales abordarea aceasta pentru a evita ca robotul sa reactioneze la cea mai mica atingere.

Alta functie pe care o folosesc este playTrack pentru a da reda voiceline-urile cu ajutorul DFPlayerului. Functia se asigura in primul rand ca DFPlayerul nu s-a agatat si ca indexul track-ului pe care incearca sa il redea este acelasi cu cel dat, din moment ce am descoperit lucrand cu el ca aceasta agatare se poate intampla. In DFPlayer am 10 track-uri de lungumi diferite, de aceea, in functia playTrack am adaugat si delay-ul specific fiecarui track pentru a-l lasa sa se deruleze fara intreruperi.

In logica de baza, dupa ce setup-ul este facut, Claptrap va anunta ca traieste dupa care va astepta input de la mediul extern. In primul rand verific masuratoarea de la senzorul de vibratii, deoarece la o lovitura se sesizeaza si senzorul PIR. Daca masuratoarea este suficient de mare, atunci Claptrap va spune OW dupa care isi va stinge led-ul, motorul se porneste pentru o vreme dupa care se aprinde led-ul la loc. Am adaugat un mic delay pentru a-l lasa sa se linisteasca. Dupa aceea, se verifica daca senzorul PIR detecteaza miscare. Daca da, atunci va spune unul din cele 10 voice line-uri stocate pe cardul SD, in afara de cel dedicat reactiei la lovituri si cel in care anunta ca traieste. Din nou, am adaugat un delay pentru a-l lasa sa se linisteasca putin.

Biblioteci folosite

Rezultate Obţinute

Link to Playlist

Proof of work

Concluzii

Download

Codul final poate fi gasit aici.

Export to PDF

Bibliografie/Resurse