Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul constă în realizarea unei mașinuțe controlate cu ajutorul unui telefon mobil. Conexiunea între mobil și plăcuță se va realiza prin bluetooth, iar mașinuța va putea fi controlată utilizând accelerometrul telefonului.
Idee inițială a fost realizarea unui lucru interesant care să nu fie nici prea ușor de realizat, însă nici imposibil. Idee de bază a fost să aleg să realizez un proiect mai challenging de pe urma căruia pot rămâne cu mai multe cunoștințe.
Cum am menționat, scopul proiectului este de învăța lucruri noi și de a pune în aplicare noțiunile deja învățate. De asemenea proiectul are ca scop crearea unei mașinuțe ce poate fi utilizată pentru amuzamentul propriu.
Mașinuța va comunica cu telefonul mobil utilizând un modul de Bluetooth. Utilizatorul telefonului va putea controla mașina utilizând accelerometrul telefonului - se va modifica poziția telefonului relativ la o valoarea de echilibru. Controller-ul va fi notificat de aceste modificări și va răspunde în funcție de modul în care a fost înclinat telefonul.
Pe lângă lista de componente principale, s-au mai cumpărat următoarele:
Produs | Pret (lei) | Cantitate | Cumparat de la |
Modul Bluetooth HC-05 | 30 | 1 | link |
Servomotor TowerPro SG92R | 25 | 1 | link |
Motor Driver L293D | 7 | 1 | link |
Stabilizator tensiune LM7805 | 3 | 1 | link |
Masina telecomandata - proba | 50 | 1 | Carrefour Orhideea |
Masina telecomandata (mai mare să încapă placa) | 60 | 1 | Carrefour Orhideea |
Cabluri tată-mamă şi mamă-mamă | 30 | Mai multe | |
2 baterii de 9V | 27 | 2 | Carrefour Orhideea |
Masina telecomandata vireaza stanga si dreapta, insa nu exista posibilitatea de a vira sub un anumit unghi pana la un viraj maxim. Acest lucru se va modifica folosind servo-ul, utilizatorul avand posibilitatea de a lua virajul sub diferite unghiuri, pana la un unghi maxim.
Schema veche s-a modificat fiind introdus acum în loc de servo un motor simplu care va vira la un unghi maxim stânga şi dreapta. Acest lucru s-a întâmplat deoarece servo-ul cumpărat de pe OLX (probabil şi cauza) avea un comportament ciudat, în sensul că dacă se testa prin utilizarea a 3 valori pentru 0 grade, 90 de grade şi 180 de grade (într-un while cu delay de o secundă între ele) servo-ul nici măcar nu aştepta acel delay pentru a se muta la o nouă poziţie.
Partea de software design a aplicaţiei cuprinde 2 componente:
Pentru dezvoltarea codului de Android s-a utilizat Android Studio. Acesta este prima aplicaţie dezvoltată pe bluetooth şi s-ar putea să mai existe bug-uri în software.
Sunt implementate 2 “activităţi” şi anume o parte în care se caută dispozitivul bluetooth şi o parte în care se controlează maşinuţa.
Activitatea de control a maşinuţii va plasa ecranul în modul Landscape, fiind mai uşor în acest mod de controlat maşinuţa.
Fişierul Manifest al aplicaţiei va avea nevoie doar de acces la bluetooth.
Funcţii implementate: Ecranul de afişare a dipozitivelor permite afişarea dispozitivelor bluetooth. Ecranul de control are următoarele butoane:
De asemenea s-a implementat şi o modalitate de a vira folosind accelerometrul telefonului, astfel încât când apleci telefonul spre dreapta/stânga, maşinuţa să cotească în acea direcţie. Prima valoare măsurată de accelerometru ca cea de referintă.
Pentru implementarea codului ce va fi pus pe plăcuţă s-a folosit IDE-ul Programmer's Notepad.
Partea de cod este pretty straight-forward:
Pentru alimentarea placuţei, cât şi a motoraşelor s-a folosit o baterie de 9V (pentru fiecare în parte).
De asemenea, pentru uşurinţa utilizării şi pentru a nu descărca prea rapid bateriile, s-a montat un switch pentru alimentarea plăcuţei.
Rezultatele obţinute au fost cele aşteptate şi maşinuţa se poate controla prin bluetooth, folosind o aplicaţie specific creată pentru a trimite anumite caractere pentru a schimba starea în care se găseşte maşinuţa.
Mai jos sunt ataşate imagini cu maşinuţa “asamblată total” şi cum arata “pe interior”.
Proiectul a fost perfect pentru mine deoarece nu am mai lucrat cu microcontrollere şi a fost un prim pas important şi destul de fain. Am învăţat multe prin acestă experinţă practică - de la cum ar trebui să conectez firele, la verificarea lor, la aprofundarea lucrului ca datasheetul pentru diferitele componente. De asemenea, am învăţat cum să improvizez dacă nu ies chestiile cum trebuie (aici mă refer la design-ul maşinuţei) + a fost o şansă de a vedea şi cum se poate dezvolta o aplicaţie pe Android :)
Tot ce s-a lucrat la acest proiect se poate găsi la următorul link.
Sunt incluse