Raluca CONSTANDA si Alexandru ENCICA - Masinuta teleghidata

Autorii pot fi contactati la adresele:

Login pentru adresa

Introducere

Prezentarea pe scurt a proiectului vostru:

  • Proiectul are ca scop crearea unei masinute de mici dimensiuni care poate fi controlata de pe telefon prin bluetooth.
  • Scopul este de a incanta utilizatorul.
  • Am porit din dorinta de a construi ceva amuzant si distractiv.
  • Acest proiect poate fi folosit pe scara larga, atat de catre copii cat si de catre adultii pasionati de tehnica si jocuri.

Descriere generală

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.


Hardware Design

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

  • listă de piese
    1. microcontroller ATmega324
    2. modul wireless bluetooth Serial 4 Pini RF Transceiver HC-05 MASTER SLAVE RS232
    3. Micro Metal Germotor HP
    4. driver de motoare (L293D)
    5. roti si componente auxiliare (diode, rezistenete, baterie)

   
   Scheme electrice
   
   Aceasta este schema placutei auxiliare pentru comanda motoarelor.

   Aici intr-o forma mai usor de utilizat.   
   
   

   Se observa ca avem in centru un driver de motoare, 4 diode si 2 condensatoare.
   In partea de sus a schemei sunt legaturile catre pinii PD4, PD5, PD6, PD7 ai microcontrollerului,
   pe laterale sunt cate 2 pini pentru controlul rotilor si jos sunt pinii pentru alimentarea placutei si a motoarelor.

Software Design

Pentru Dezvoltarea aplicatie am folosit Programmer's notepad. Am folosit timere (1 si 2) PWM pentru deplasarea motoarelor iar pentru comunicatia cu bluetooth-ul am folosit USART.

void timer1_init() {

/* Set prescaler to 8 */
TCCR1B |= (1 << CS11);
/* Set OCR2A and OCR2B */
OCR1A = MAXPOWER_16;
OCR1B = MAXPOWER_16;

/* Set to Fast PWM */
TCCR1A |= (1 << WGM10) | (1 << WGM12);

/* Set to Non-Inverting mode */
TCCR1A |= (1 << COM1A1);
/* Set to Inverting mode */
TCCR1A |= (1 << COM1B1) | (1 << COM1B0);
/* Initialize input pins */
DDRD |= (1 << PD4) | (1 << PD5);
PORTD &= ~((1 << PD4) | (1 << PD5));

}

void timer2_init() {

/* Set prescaler to 8 */
TCCR2B |= (1 << CS21);
/* Set OCR2A and OCR2B */
OCR2A = MAXPOWER_8;
OCR2B = MAXPOWER_8;

/* Set to Fast PWM */
TCCR2A |= (1 << WGM20) | (1 << WGM21);

/* Set to Non-Inverting mode */
TCCR2A |= (1 << COM2A1);
/* Set to Inverting mode */
TCCR2A |= (1 << COM2B1) | (1 << COM2B0);
/* Initialize input pins */
DDRD |= (1 << PD6) | (1 << PD7);
PORTD &= ~((1 << PD6) | (1 << PD7));

}

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

Rezultate Obţinute

In ultima seara cand aveam de facut comunicatia cu bluetooth-ul a aparut o problema, iar modulul de bluetooth “s-a prajit”. Din acest motiv am facut masinuta sa fie un mini-micro-ultra-tiny AI (merge intr-o directie random).

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Ni s-a parut un proiect foarte interesant, foarte practic in care chiar am invatat ceva. A fost mult mai interesant decat orice alt proiect din facultate.

Download

encica_constanda_source.zip

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.

- 22 mai 2014 22:23 - BlueTooth is gone !!!

Jurnal

Saptamana 8 - Placutiada → imprimarea placutei

Saptamana 9 - cumpararea pieselor si lipirea de test a catorva componente

Saptamana 10 - lipirea componentelor si stabilirea temei proiectului

Saptamana 11 - finalizarea placii de baza si cumpararea componentelor pentru placuta auxiliara

Saptamana 12 - incepem lipirea componentelor

Saptamana 13 - am gresit placuta de 2 ori pana am primit cea ce-a 2-a schema (de mai sus) care ne-a fost de mare ajutor + documentarea pentru codul necesar (Aplicatie Android + cod placuta)

Saptamana 14 - finalizarea proiectului

Bibliografie/Resurse

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

pm/prj2014/tvisan/777.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0