Ciao a tutti, ancora arduino non mi è arrivato però chiedo già consigli.
Ho trovato un codice che normalmente va caricato su un atmega 88 scritto in bascom (o forse è più corretto dire scritto con bascom..?) in ogni caso di programmazione sono a zero. Volevo chiedervi se questo codice è compatibile con arduino o se in qualche modo può esserlo.
'Looping waveshaper
'Init
$regfile = "m88def.dat"
$crystal = 8000000
$baud = 19200
Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up 'config timer0
Set Tccr0a.wgm01 'double pwm duty frequency so that it's out of audible range
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
Config Pind.7 = Input 'config record button
Config Pind.5 = Input 'config punch-in toggle
'Variables
Dim Wavesample As Word
Dim Loopspeed As Word
Dim Waveloop(940) As Byte
Dim Sampleposition As Word
Dim Looplength As Word
Dim Limitreached As Boolean
'give default "quiet" sample on turn-on
Sampleposition = 0
Waveloop(1) = 255
Looplength = 1
Limitreached = 0
Wavesample = Getadc(1)
Wavesample = Wavesample / 4
Waveloop(sampleposition) = Wavesample
'Main loop
Mainloop:
Do
If Pind.7 = 1 Then Limitreached = 0
Sampleposition = Sampleposition + 1
Pwm0a = Waveloop(sampleposition)
If Pind.7 = 0 And Limitreached = 0 Then
If Pind.5 = 1 Then Goto Recordloop
If Pind.5 = 0 Then Goto Punchloop
End If
If Sampleposition = Looplength Then Sampleposition = 0
Loopspeed = Getadc(0) / 6
Loopspeed = Loopspeed + 2 'sample speed pot value and do stuff with it
Waitms Loopspeed
Loop
'Record new loop
Recordloop:
Sampleposition = 1
Do
Wavesample = Getadc(1)
Wavesample = Wavesample / 4
Waveloop(sampleposition) = Wavesample
Pwm0a = Waveloop(sampleposition)
If Pind.7 = 1 Then
Looplength = Sampleposition
Sampleposition = 0
Goto Mainloop
End If
If Sampleposition = 940 Then
Limitreached = 1
Looplength = Sampleposition
Sampleposition = 0
Goto Mainloop
End If
Sampleposition = Sampleposition + 1
Loopspeed = Getadc(0) / 6
Loopspeed = Loopspeed + 2
Waitms Loopspeed
Loop
'Punch-in loop
Punchloop:
Do
Wavesample = Getadc(1)
Wavesample = Wavesample / 4
Waveloop(sampleposition) = Wavesample
Pwm0a = Waveloop(sampleposition)
If Pind.7 = 1 Then
Goto Mainloop
End If
If Sampleposition = Looplength Then
Sampleposition = 0
End If
Sampleposition = Sampleposition + 1
Loopspeed = Getadc(0) / 6
Loopspeed = Loopspeed + 2
Waitms Loopspeed
Loop
End
Ma, se io realizzo un progetto con arduino, faccio il prototipo, il codice e funziona tutto, poi posso realizzare un circuito più semplice con solo l'atmega e qualche componente e caricare su il programma?
Ciao Urbanspaceman, ho scritto un articoletto al riguardo.
In realtà leggermente differente da quello che chiedi: utilizzare Arduino come programmatore di ATMEGA: in questo modo puoi usare un arduino per un progetto, fare un prototipo e infine usarlo per programmare un altro atmega per non deturparlo del suo cuore pulsante.
Vedi se ti può essere di aiuto:
http://zuccala.blogspot.com/2009/08/mini-tutorial-per-usare-arduino-come.html
perfetto, lo avevo già trovato in rete e lo trovo molto utile. Io ho preso l'arduino nano, credo vada bene lo stesso.
domanda. Se faccio uno sketch (mi pare di capire che i programmi da mettere su arduino si chiamano così), come faccio poi a sapere qual'è l'atmega migliore per me... nel senso, per non usare un chip sovradimensionato in memoria ma magari usarne uno più piccolo, come faccio a capire di quanta memoria ha bisogno il mio programma?
Ciao a tutti
allora, oggi mi è arrivato l'arduino nano!!
Mi sono messo con voglia ed ho fatto tutti (o quasi) i progettini del libro 'Arduino la guida ufficiale' di Massimo Banzi (fortuna che c'è anche in italiano).
Ora vorrei cercare di capire come fare per ricreare con l'IDE di arduino, lo sketch che ho postato qualche giorno fa e che trovate qui sopra scritto in bascom.
In sostanza questo codice (per atmega) prende un audio in input e lo tratta con un waveshaping (in sostanza ne fa un tremolo).
Non saprei da dove cominciare in effetti....
Avete idee?
Ho già dato un'occhiata ai link segnalati per l'audio processing in real time (ancora non ho provato).
con quel libro io c'entro poco, non hanno voluto che lo traducessi io e l'hanno chiamato "guida ufficiale" senza chiedere autorizzazione a nessuno...siamo in italia....