Andra-Gabriela MATEI (25311) - Nume proiect

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Jucăria are ca scop imitarea unui animăluţ de companie pentru copii de toate vârstele. Animăluţul de pluş îşi poate mişca mânuţa asemeni unuia real. Jucăria de pluş cu efecte sonore poate chiar transmite (prin apăsarea butoanelor din lăbuţe) mesaje în limba engleză. Pentru că cei mici (cu vârste cuprinse între 1 şi 5 ani) absorb o cantitate mare de informaţii, se poate afirma că jucăria de pluş are chiar scop educativ. Jucăria poate activa mai multe acţiuni: poate mişca lăbuţa dreaptă ca răspuns al apăsării unui buton, poate saluta şi dialoga citind fişierele .wav de pe un SD card, şi îşi poate înroşi năsucul.

Descriere generală

Componente Hardware folosite:

  1. Plăcuţă cu micropocesor
  2. Difuzor pentru a reda replicile jucăriei
  3. Card SD pentru replicile jucăriei
  4. Servomotor 9g pentru mişcările jucăriei

Schemă bloc:

Hardware Design

Lista de piese

Scheme electrice

Microcontroller ATMEGA324A

Schema montaj Microcontroller

Software Design

Software Tools

  1. Pentru acces usor la datele de pe card, este util sa permitem microcontrollerului sa scrie si sa editeze fisiere formatate FAT32. Voi folosi Petit FAT Filesystem din cauza dimensiunii mici si a faptului ca foloseste un minim de memorie RAM. API-ul pentru filesystem contine functii de mount/unmount, deschidere, citire si scriere in fisier, deschidere si citire director.
  2. Implementare cod pentru activare led, butoane si servo motor.

In ceea ce priveste interactiunea cu jucaria, aceasta este controlata de copilul ce o foloseste. Astfel, prin felul in care acesta apasa pe jucarie, poate sa declanseze una din actiunile de mai jos.

Copilul poate sa apese pe butonul care controleaza activarea led-ului ascuns in nasuc, astfel incat acesta sa se aprinda si sa lumineze. In acest fel, copilul poate invata rolul cauzei si al efectului.

Un alt buton activeaza citirea de pe cardul SD (fisiere in format .wav). Fisierele reprezinta texte scurte, saluturi sau replici ale jucariei. Acestea sunt mai departe redate prin buzzer.

Cel de-al treilea buton este cel care activeaza servo motorul aflat in manuta jucariei pentru a i-o misca. Aceasta poate fi miscata la 0 grade, 90 de grade, 135 de grade sau 180 de grade.

 while(1)
 {
    OCR1A=97;   //0 degree
    Wait();
    OCR1A=316;  //90 degree
    Wait();
    OCR1A=425;  //135 degree
    Wait();
    OCR1A=535;  //180 degree
    Wait();
 }
 
 
Implementare

Pentru implementare am folosit urmatoarele fisiere:

  1. Sursele pff.c si pff.h din Laboratorul 4 de la PM (http://cs.curs.pub.ro/wiki/pm/lab/lab4) pentru a folosi PetitFAT ca sa pot accesa sistemul de fisiere al aplicatiei de pe un SD card.

API-ul pentru filesystem conține pf_mount (FATFS*) (Mount/Unmount), pf_open (const char*) (Deschidere fisier), pf_read (void*, WORD, WORD*) (Citire fisier), pf_write (const void*, WORD, WORD*) (Scriere in fisier), pf_lseek (DWORD) (Mutare pointer), pf_opendir (DIR*, const char*) (Deschidere director), pf_readdir (DIR*, FILINFO*) (Citire director).

  1. Sursa integer.h pentru a defini tipurile de date folosite.
  2. Sursa servomotor.c pentru a defini unghiurile la care se poate misca servo motorul.
  3. Fisierul main.c pentru codul ce controleaza miscarile si actiunile jucariei.
Headere si librarii incluse
  1. #include <avr/io.h>
  2. #include <util/delay.h>
  3. #include “pff.h” (configurarile si declararile pentru Petit FatFs)
  4. #include “sd.h” (Declararile low level pentru functiile I/O)

Mediu de dezvoltare

  1. WinAVR
  2. AVR Studio

Rezultate Obţinute

Concluzii

Download

Jurnal

  1. Am identificat componentele hardware necesare proiectului
  2. Am lipit o parte din componente pe placuta (toate componentele de baza)
  3. Realizare document introducere pentru proiect
  4. Realizare montaj pentru soclu SD
  5. Realizare montaj pentru servo motor
  6. Realizare montaj pentru buzzer
  7. Realizare lipire butoanelor
  8. Realizare lipire led-urilor
  9. Am invatat cum imi pot controla placuta prin codul pe care il scriu si l-am implementat

Bibliografie/Resurse

Resurse Software
  1. Foaie de Catalog Servo Motor SG90 - www.optimusdigital.ro
  2. Datasheet microcontroller ATMEGA324A
  3. Laboratoare PM
Resurse Hardware
pm/prj2016/aconstantinescu/toy.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