Papusa Jucausa

Introducere

Proiectul “Papusa Jucausa” are ca scop realizarea unei papusi inteligente, ce interactioneaza cu copilul. Papusa este directionata catre copii, pentru a-i distra si a le crea un prieten de joaca atunci cand sunt singuri.

Apropiindu-se data de 1 iunie, acesta jucarie ar fi un cadou frumos pentru copii. Astfel a pornit ideea realizarii acestui proiect, pentru a inveseli si a distra cat mai mult copiii.

Papusa reactioneze la actiunile copilului. Daca strange mana papusii ea va spune “Hai sa fim prieteni”, iar daca va strange in continuare mana va incepe sa zica o poveste; cand ii va apasa pe nas se va supara si va spune “Ma doare!”; cand va apasa pe burtica va spune “Mi-e foame”.

Descriere generală

Papusa va fi din plus si va contine 1 buton la o manuta, 1 buton pe burta, 1 buton pe nas, un difuzor pentru voce si 2 leduri in obraji.

Schema bloc:

Principalele componenete hardware:

  1. placuta principala, pe care este atasat microprocesorul si cardul SD
  2. montajul pentru difuzor, impreuna cu amplificatorul difuzorului
  3. butoanele si ledurile conectate la placuta principala

Software-ul:

  1. permite sesizarea apasarii butoanelor
  2. citeste de pe cardul SD replicile papusii

Microcontrollerul ATMega16 pune la dispozitia utilizatorilor sai si o interfata SPI(Serial Peripheral Interface Bus). SPI este un standard sincron dezvoltat de Motorola ce opereaza in mod full-duplex (transferul de date are loc in ambele directii simultan).

     SCLK — Serial Clock ( output from master)
     MOSI/SIMO — Master Output, Slave Input (output from master)
     MISO/SOMI — Master Input, Slave Output (output from slave)
     SS — Slave Select (active low; output from master)
     

Interfata SPI este folosita ca standard de comunicatie in toate cardurile SD si MMC. Toate cardurile SD/MMC functioneaza la o tensiune de alimentare de 3.3V, din aceasta cauza folosim cele doua diode pe alimentare (5V -2*0.7V = 3.6V) si divizoarele rezistive pe liniile MOSI, CS si SCK. Pe linia MISO nu este nevoie de divizor rezistiv pentru ca 3.3V este interpretat ca “1” logic de micorocontroller. Fisierele salvate pe cardul SD sunt de tip fisier WAV, inregistrate cu o rata de 44100Hz si 8 biti pe esantion.

Hardware Design

Lista piese:

Denumire Cantitate Valoare
Microcontroller ATMEGA 16P 1
CONECTOR JACK Conector mufa adaptor 1
Condensator neelectrolitic 2 15pF
Condensator neelectrolitic 9 0,1µF
Condensator neelectrolitic 1 0,05µF
Dioda Zener 4
Condensator electrolitic 4 10µF
Condensator electrolitic 1 100µF
Condensator electrolitic 1 250µF
LED 5mm Rosu 4
DIL16 MAX232 1
TO-220 7805CT 1
Quartz 16MHz 1
Rezistenta 2 10K
Rezistenta 2 8K
Rezistenta 1 15K
Rezistenta 2 1K
Rezistenta 2 4,7K
Rezistenta 2 2,2K
Rezistenta 2 100R
Dioda 1N4148 1
Amplificator Operational LM386 1
Difuzor 1 8ohm
Soclu card SD 1
Card SD 1
Butoane 5
Soclu Microcontroler 1
Placa Test 2
Conector USB B 1



Scheme electrice:

1) Schema placutei cu microcontroller si card SD:

2) Schema butoane, leduri

3) Schema difuzor

Software Design

Software-ul proiectului acceseaza fisiere ”*.wav” de pe cardul SD si le reda pe un difuzor. In momentul in care este redata o melodie ledurile (obrajii papusii) se vor aprinde.

Codul aplicatiei cuprinde trei fisiere sursa importante:

  • pff.c - functii care vor umple memoria cu octeti, compara din memorie, citeste sistemul de fisiere de pe cardul SD, gaseste directorul si respectiv fisierul la care se face referinta, scrie si citeste in fisier dorit
  • mmc.c - functii care vor face comunicarea efectiva cu cardul SD. Setam pinii pentru intrare si iesire conform cu functia pe care o indeplineste microcontrollerul, si anume de master, iar cardul SD pe cea de slave.
  • main.c - functii ce vor apela mmc.c si pff.c

Librarii si headere incluse:

pff.h - defineste sistemul de fisiere de pe cardul SD

     #ifndef _FATFS
     #define _FATFS
     #define	_USE_READ	1	/* pf_read(): 0:Remove ,1:Enable */
     #define	_USE_DIR	1	/* pf_opendir() and pf_readdir(): 0:Remove ,1:Enable */
     #define	_USE_LSEEK	1	/* pf_lseek(): 0:Remove ,1:Enable */
     #define	_USE_WRITE	1	/* pf_write(): 0:Remove ,1:Enable */
     #define _FS_FAT32	1	/* 0:Supports FAT12/16 only, 1:Enable FAT32 supprt */
     #define	_CODE_PAGE	1
     #define _WORD_ACCESS	1
     #if _FS_FAT32
     #define	CLUST	DWORD
     #else
     #define	CLUST	WORD
     #endif
     

diskio.h

    #ifndef _DISKIO
    #include "integer.h"
    
    #include "pff.h"		
    #include "diskio.h"
    

Rezultate Obţinute

Concluzii

Download

Bibliografie/Resurse

pm/prj2011/amocanu/papusa_jucausa.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