Discussione: clackson
Visualizza messaggio singolo
Vecchio 15 gennaio 10, 23:10   #4 (permalink)  Top
MSchiepp
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Citazione:
Originalmente inviato da illez Visualizza messaggio
...(in subordine, come ci porto il suono campionato?? )
Una possibilità è questa: ti procuri un programma di editing audio (io uso CoolEdit); con questi programmi hai due possibilità: o campioni il suono o lo generi usando due oscillatori a circa 320 e 350 hz. A questo punto puoi normalizzarlo per avere 256 valori picco-picco in modo da convertirlo con 8 bit e decidi la frequenza di campionamento a cui vuoi riprodurlo.
Quando hai raggiunto un risultato soddisfacente memorizzi il file in formato 'ascii': il programma ti genera una tabella con tutti i campioni espressi come numeri decimali; con un programmino da poche righe leggi il file e lo formatti in modo che diventi la dichiarazione di un vettore con inizializzazione dei valori tipo:

unsigned char Clakson = { 0, 01, 02, 04, ...
---
255, 255, 0, 0};

e lo includi nel tuo programma e puoi con un primo programma scriverlo nella memoria flash esterna e con un secondo leggerlo per ricostruire il suono.
Per l'uscita la soluzione più semplice è uno shift register a 8 bit con un convertitore R/2R ed un amplificatore. In assembly ti bastano circa 150 uS per leggere un dato e scriverlo sul convertitore ed avere una banda passante accettabile...

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando