In această lucrare, am realizat o mașină teleghidată cu ajutorul sistemelor embedded care poate fi controlata prin intermediul unui smartphone. Vom incepe prin a prezenta cateva date despre modulele folosite pentru mașină.
Ca urmare a acestei lucrări, rezultatele vor fi implementate într-un sistem fizic. Acesta este format dintr-o mașină teleghidata 4×4 si un controler. Mașina are integrate doua motoare electrice, unul de 12v care se folosește pentru deplasarea inainte-inapoi, iar unul de tip servo pentru setarea direcției stânga-dreapta. Cu ajutorul acestui sistem se va programa controlerul pentru a realiza comunicarea intre mașină și un smartphone prin intermediul unui modul bluetooth, telefonul va putea trimite comenzi către mașină pentru a ii controla viteza sau direcția. Acest sistem va putea fi folosit cu orice telefon care dispune de sistemul de operare Android si bluetooth sau calculator care are un modul bluetooth.
2.0 Am înlocuit circuitul electric de comandă al mașinii cu o placuță care dispune de un microcontroler ATmega 324PA pe care am construit-o în cadrul laboratorului de Proiectare cu Microprocesoare.
2.1 Pentru a comanda motorul de 12v am folosit diverul L298N. Acesta implementează două punți H. Am urmărit schema din datasheet și am completat-o cu pinii necesari pentru conexiunea la microcontroler.
Fig.1 - Driver L298N
Acesta primește un semnal PWM (pulse width modulation) pentru a activa motorul, prin acesta putem seta și viteza motorului.
2.2 Pentru realizarea unei conexiuni cu telefonul am folosit modulul bluetooth EGBT-045MS, acesta trebuie alimentat la o tensiune de 3.3v, pentru a adapta curentul de 5 volți debitat de microcontroler am folosit un regulator de tensiune BA033T (LDO). Conexiunea cu microcontrolerul am realizat-o conform schemei din datasheetul modulului bluetooth.
Fig.2 - Bluetooth EGBT-045MS
Acesta are două moduri de funcționare, data mode si command mode. In modul data se pot trimite-recepționa date, iar in modul command se poate configura numele bluetoothului, parola, baud rate, etc. Pentru a comanda servo-motorul am folosit PWM (pulse width modulation) periferic intern de care microcontrolerul ATmega324PA dispune deja. Acesta se alimentează de la microcontroler. Am incadrat toate modulele descrise mai sus pe un shield pe care l-am conectat la placuța cu microcontroler.
2.3 Pentru ca telefonul sa comunice cu mașina, am folosit o aplicația Mobot BTCar care se gasește în Android Market. Aceasta permite configurarea unor butoane pentru a asigna un caracter fiecărui buton, acela se va trimite prin bluetooth la apăsarea unui buton sau inclinarea dispozitivului mobil după realizarea conexiunii cu mașina.
Pentru a interpreta caracterul primit, am implementat un switch care efectuează o intrerupere la primirea datelor pe serială.
Când modulul bluetooth primește un informația de la telefon, aceasta o va trimite pe seriala (TX) către microcontroler (RX), atunci se va produce o întrerupere iar microcontrolerul va luat o decizie într-un switch() în funcție de caracterul primit.
Fig.3 - Schema completa
<fc #FF0000>Login pentru cod</fc>
<fc #FF0000>Login pentru download</fc>