ciao a tutti!
Sono un newbie di arduino, mi occupo di fotografia e sto cercando di utilizzare questa piattaforma per costruire attrezzatura per far foto, in particolar modo sto seguendo questo tutorial http://mrossphoto.com/wordpress32/dlwblog/
è una striscia led pilotata da un HL 1606 che spostandosi nello spazio e scattando una foto con tempi relativamente lunghi simula un led wall con un effetto olografico.
stavo provando uno sketch seguendo il tutorial, ma quando provo a verificarlo con arduino mi da errori, ma non riesco a capire dove sia...
e questo è l'errore che genera
sketch_LIGHT_WAND2.cpp: In function 'void PatternA(int)':
sketch_LIGHT_WAND2:184: error: a function-definition is not allowed here before '{' token
sketch_LIGHT_WAND2:189: error: a function-definition is not allowed here before '{' token
sketch_LIGHT_WAND2:197: error: a function-definition is not allowed here before '{' token
sketch_LIGHT_WAND2:252: error: a function-definition is not allowed here before '{' token
da quanto ho capito, qualche funzione è rimasta aperta ... ma non riesco a trovarne l'errore
qualche anima pia riesce a darmi una mano per correggere il codice?
La prima funzione PatternA (linea 119) non è chiusa da una graffa.
Poi ci sono tutte le funzioni duplicate. Due Setup, due loop, ecc ecc.
Così non funzionerà.
EDIT:
Ho tolto le prime 120 righe e adesso compila...
ma --> Dimensione del file binario dello sketch: 123.050 bytes (su un massimo di 32.256 bytes)
il file è troppo grande per Arduino.
Dovresti modificare il codice e inserire dei cicli for
Ogni blocco:
ciao Paolo GRAZIE per l'aiuto velocissimo!!!
il problema della dimensione del file lo conoscevo, infatti consigliano l'utilizzo di arduino mega o arduino due,
il problema è che anche eliminando le prime 120 righe a me continua a non compilare
per quanto riguarda i cicli for non posso fare come mi hai consigliato giustamente tu, poichè quei "blocchi" assegnano un colore ad ogni led (BL nel caso che ti ho inviato è il valore del led spento) ma quel valore cambia in base alla grafica che voglio ottenere e potrei torvarmi dei blocchi di questo tipo:
se posso ti chiederei un piccolo favore, se riuscissi ad allegarmi lo sketch che a te compila in modo da conpararlo con il mio e capire dove continuo a sbagliare!
L'ho provato con l'IDE 1.0.2 scaricabile da --> http://arduino.cc/en/Main/Software
Usa la libreria allegata, l'ho modificata per funzionare con la nuova versione dell'IDE: ho sostituito #include "Wconstant.h" con #include "Arduino.h".
Non ho letto lo sketch, quindi mi riferisco solo all'elenco di pushCmd() ripetute... Forse si potrebbero definire le sequence come array di comandi e scrivere una routine del tipo:
sub pushSequence(array di comandi cmdAry):
for i = 0 to lungh di cmdAry - 1
mystrip.pushCmd(cmdAry[i])
end for
end sub
Le lunghe sequence di pushCmd verrebbero sostituite da una singola chiamata a pushSequence() con la sequence desiderata.