Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 16 gennaio 10, 11:02   #1 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Citazione:
Originalmente inviato da illez Visualizza messaggio
Mi chiedevo se c'erano soluzioni più 'semplici' per programmare l'eeprom.
Ci sono senz'altro soluzioni più semplici per generare il suono: se rinunci al campionamento puoi generare direttamente l'inviluppo delle due frequenze in onda quadra e poi filtrare un po' quando amplifichi: il risultato è buono comunque.
Il vantaggio del campionamento (per questa applicazione) è che ti puoi costruire 3 campioni per riprodurre l'attacco, il suono continuo e lo spegnimento che rendono il tutto molto più naturale.
Se decidi per il campionamento ti posso passare dei campioni sintetizzati di clakson 'veri'.

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando
Vecchio 16 gennaio 10, 11:20   #2 (permalink)  Top
User
 
L'avatar di illez
 
Data registr.: 06-08-2007
Residenza: Empoli
Messaggi: 1.813
Mi sa che qui si va un po' oltre le mie conoscenze

Il buon Bimoto vorrebbe le trombe stile 'il sorpasso' comandabili via radio (è giovane il ragazo, visto che in pista va piano, vuole avvertire che imgombra ).
Ora studio un po' e vediamo cosa ne concludo.
__________________
.......
illez non è collegato   Rispondi citando
Vecchio 16 gennaio 10, 11:39   #3 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Citazione:
Originalmente inviato da illez Visualizza messaggio
Mi sa che qui si va un po' oltre le mie conoscenze
Su un 12F629/675 definisci:

-P2 a 5 e P1 a 2
-clock 4 Mhz
-OutCh1: bit di uscita
-Com: flag che abilita il suono a 1 e lo disabilita se 0
-abilita l'interrupt sul timer 1, no prescaler
- e ascolta se ti piace...

/************************************************** ******************
Interrupt code
************************************************** ******************/
void interrupt T1PWM(void)
{
if (F1Cnt > 0){
TIMER1 = -4100;
F1Cnt--;
}else{
TIMER1 = -3980;
if (--F2Cnt == 0){
F2Cnt = P2;
F1Cnt = P1;
}
}
if (Cmd){
OutCh1 = !OutCh1;
}else{
OutCh1 = 0;
}
TMR1IF = 0;
}


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

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato




Tutti gli orari sono GMT +2. Adesso sono le 15:15.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002