Newsgroup: it.hobby.elettronica.digitale
Titolo: Pic16f84 e audio

Un saluto a tutto il newsgroup
Vorrei porre all'attenzione di voi tutti il mio problemuccio:
sto realizzando per un esame dell'università un abbozzo di strumento 
musicale controllato da un pic 16f84; il 'coso' dovrebbe assomigliare ad 
una tastiera elettronica.
Tasti -> pic -> generazione di onde quadre a diverse frequenze che 
pilotano direttamente un altoparlante (un di quelli piccolini che fanno 
i beep nei pc).
Ora ho 2 domande:
1) il voltaggio e la corrente in uscita dal pic sono sufficienti per 
pilotare direttamete l'altoparlante? O rischio di bruciare l'integrato?
Per completezza: sul retro dell'altoparlante c'è scritto 0.25 W - 8 ohm
2) Siccome l'onda quadra è abbastanza sgradevole da sentire avrei 
pensato di elaborare il segnale in uscita per trasformarlo in qualcosa 
di + udibile: mi consigliate in che modo farlo? Purtroppo non ho alcun 
tipo di esperienza in questo settore e non riesco a barcamenarmi fra 
dispositivi e sigle. Mi conviene usare un semplice DAC (che 
tipo/marca/modello??) o puntare su qualcosa di sofisticato tipo DSP 
(come sopra)?
Grazie a tutti coloro che avranno la cortesia di rispondere.
Ciccettone

Cambia micro...buttati su qualcosa di più veloce e che abbia una PWM già
hardware e vedi un po' se ce la fai a riprodurre le frequenze che ti
servono..consiglierei un qualche atmel a 28pin con clock di 8-16Mhz.In ogni
caso devi amplificare in potenza l'uscita del micro che controlla la cassa!!
Comunque sia un 16f84 mi sembra poco per quello che devi realizzare..anche
perchè se nn erro dovresti implementarti anche il PWM via software.
Altre soluzioni potrebbero esistere trovando un intergato che generi forme
d'onda e attraverso il pic controllare la frquenza dell'onda generata...
Buona fortuna!!
"ciccettone" <ciccetto.a...@katamailSPAMNO.com> ha scritto nel
messaggio news:Xxozf.2465$zP4....@nntpserver.swip.net...


 Buona fortuna!!
Grazie

Gli atmel non necessitano di nessun programmatore..solo un cavo che da
parallela si collega su 4 piedini..prova a cercare qualcosa sull'ATMega8 in
rete..anche perchè è più veloce e ha il PWM già implementato in hardware.
Cosidera che con 4 MHz devi leggere una tastiera di non so quanti tasti con
una certa velocità ed inoltre devi controllare un PWM software e mi sembra
una cosa molto difficile da gestire!!
..comunque come dicevi puoi cercare anche integrati che generino forma
d'onda..prova a cercare sotto waves generators ic su google e vedi che ti
esce se fra i tanti non ti becchi un integrato che faccia al caso tuo!!!
Cià
Steno
"ciccettone" <ciccetto.a...@katamailSPAMNO.com> ha scritto nel
messaggio news:I1pzf.2479$zP4....@nntpserver.swip.net...


 attorno a 440Hz ('LA' fondamentale?)
http://stor.altervista.org/pic/picprog1/mazurka.htm
Claudio F

 ha scritto nel messaggio
news:43ce2a8d$0$1077$4faf...@reader3.news.tin.it...



Se il pwm è a 440Hz riesce a fare dell' altro... col rischio di generarne
uno non proprio preciso...
Adesso non ho voglia di gurdare il datasheet del 16f84 ma se te ne scegli
uno con il pwm hardware riuscirai a fare tutto ciò che devi (che poi son 2
cavolate... parlo di sw).
Io con un 16F876 leggo dei valori su una flashram e vado a modificare il DC
del pwm riproducendo cosi file audio (a 8 bit mono unsigned).

 
Proptio 10 min fa ho ordinato dei samples dalla micreochip, vedo di fare 
un pò di esperimenti.
In ogni caso: grazie a tutti per suggerimenti e materiale.
Magari ci faccio sapere i risultati
Ciccettone

 grado di produrre un suono continuo!!!
Non deve fare molte cose, a quanto ho capito deve solo leggere da 
tastiera, che presumo sarà connessa a matrice, quale tasto è premuto.
Questo richiederà a occhio e croce una 15na di istruzioni.
Un suono a 440Hz ha un periodo di circa 2,3mS; questo vuol dire che deve 
generare un fronte ogni 1,15mS circa.
Se il PIC va a 4MHz, dovrebbe avere un ciclo di clock di 1uS; ha quindi 
a disposizione più di 1000 cicli macchina tra un fronte e l'altro.
Se usa l'overflow interrupt del timer (il 16F84 ha un semplice timer a 8 
bit) riprogrammandolo ogni volta che deve suonare una nota diversa e 
usandolo solo per cambiare il fronte dell'onda, credo che ce la possa 
fare abbastanza bene.
Anzi, visto che lo fa per scopi didattici credo che sia un 
bell'esercizio far funzionare il tutto.

 di altre cose...tra cui analizzare il tastierino..
Ok, ma anche il SI dell'ottava superiore (1975,5Hz) e' formato da due
semiperiodi di 253uS in cui il PIC puo' ancora fare in tempo ad eseguire 250
istruzioni! La lettura della tastiera potrebbe avvenire in meno tempo (ed
essere suddivisa in piu' fasi) ed essere fatta in modo da durare sempre gli
stessi uS in ogni condizione, in questo modo il suono non ne sarebbe
disturbato.
Il PWM, immaginando di impostare una frequenza fissa di qualche decina di
kHz a duty variabile, andrebbe aggiornato ad intervalli di tempo piu' brevi
e costanti (penso ai 125uS di un campionamento a 8kHz). Questo non sarebbe
un grande problema, ma vedo un po' difficile produrre le frequenze senza
usare una lookup table per ciascuna di esse.
L'onda quadra potrebbe essere un po' arrotondata con un passa basso e dei
diodi.
Claudio F

Zag ha scritto:


Sicuramente se prende un pic con PWM integrato avrebbe la vita molto più
semplice, ma alla fine anche con un 16F84 ce la fa si sta parlando solo di
una tastiera e un'onda quadra. Se poi ha tanti dubbi sulla velocità del
micro può sempre scegliere la versione a 20Mhz e così dorme tranquillo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it