Sei sulla pagina 1di 15

UtilizzareEclipseperprogrammaresuArduino

SOMMARIO
UtilizzareEclipseperprogrammaresuArduino
RequisitiRichiesti
InstallazionediJava
InstallazionediEclipse
InstallazionediArduino
NOTASOLOPERUTENTIMAC
InstallazioneAVRGCC
InstallazionediAVRPluginsuEclipse
UtilizziamodeiWorkspacesgipronti
IlworkspaceArduinoTemplate
UtilizareArudinoTemplatecomebasepernuoviprogetti
ImpostareAVRperlediverseBoardseChips
CaricarelHEXtramiteEclipse
Integrareliberieesternealnostroprogetto
PROBLEMIRISCONTRATIESOLUZIONE
RIFERIMENTISUFORUMARDUINO
LIBRERIEARDUINOCOMPILATE
REVISIONI:CORE&TEMPLATE

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina1/

RequisitiRichiesti
Testatisolosu32bit

Windows:
EclipseIDEforC/C++DevelopersDownload
ArduinoSoftwarev22Download
AVRGCC20100110Download

Mac:
EclipseIDEforC/C++DevelopersDownload
ArduinoSoftwarev22Download
AVRGCC20100115Download
Linux:
EclipseIDEforC/C++DevelopersDownload
ArduinoSoftwarev22Download
AVRGCCFornirabreveguidaperlinstallazione,segiinstallatomeglio

Eclipse(validopertuttiisistemioperativi):
AVRPluginhttp://avreclipse.sourceforge.net/updatesite/

JavaRuntime:
NecessarioperEclipse(versione5.0osuperiore)SitoInternet

NOTE:
Perleinstallazioni,usateipercorsididefault,altrimentipotreteaveredei
probleminellinstallazioneenellaconfigurazione.IoperquantoriguardaEclipse,
lotengoallinternodellacartellaApplicazionisulMaceinveceArduinosuWindows
lhocopiatosuc:\;inpraticapercomoditisoftwaredovenonavevoobblighi
dellacartelladidefaultlihosistematiamiopiacimento.Nondovrebberoesserci
problemiinquanto,viforniscoiWorkspacediEclipsegiprontiallutilizzo,
configuratiinmododarilevareinautomaticoipercorsienomideiprogetti.Unica
consigliochepossodarediusarenomidicartellesenzaspaziocaratteri
particolari,lemieiimpostazionidiseguitopercapircimeglio:
Windows>C:\Users\antwal\workspace\

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina2/

Mac>/Users/antwal/Eclipse/
Linux>/home/antwal/eclipse/

InstallazionediJava
Puntomoltosemplice,vistochetuttigiloabbiamoinstallatosulpc,quindipasso
oltre,altrimentiunavoltascaricatodalsitoseguiteglistepavideo.

InstallazionediEclipse
Pertuttietreisistemioperativiaveteunfile.TAR.GZ,bastaestrarreilfile;
sumacintegratonellOSiltool,quindinessunproblema,sulinuxidem,peralcune
distropotetefarlodalterminaletramitetarzxvfnome.tar.gz,pergliutenti
windowsscaricateviWinRAR,dalsitoufficialelink.Unavoltacheaveteestratto
larchivioavreteunacartelladinomeeclipse,potetespostarladovevifapi
comodo.
Unconsigliodapartemia,gliutentiWindowspreferibiledirettamentesu
C:\,pergliutentiMac,direttamentedentro/Applications/egliutentiLinuxsu
/usr/local/oanchesu/home/<utente>/.DimenticavoalprimoavviodiEclipse,vi
chiedeilpercorso,didefaultdeiworkspace,impostateloespuntatelacheckboxin
modochenonvelorichiedeinfuturo.

InstallazionediArduino
Perlinstallazione,potetefareriferimentoanchealpassaggioprecedente,soltanto
chepergliutentiMac,avreteunDMGconlapplicazionegiprontadaspostare
sulleapplicazioni.

NOTASOLOPERUTENTIMAC
PerreperirelelibreriediArduino,dovrete:
1. AprireilFinder
2. CliccaresuApplicazioni
3. TrovareeselezionarelapplicazionedinomeArduino
4. CliccarecoltastodestrodelmousesopraArduinoecliccaresuMostra
contenutopacchetto
5. AprirelecartelleContents>Resources>Java
Perlelibreriev22diArduinoandaresu:
1. Cartellepartendodalpunto5precedente:hardware>arduino>cores>arduino
2. Copiatetuttiifiles,trannemain.cppinunaltracartella,adesempiosu
ScrivaniadentrounacartelladinomeArduinoCores.
Perlelibrerieaggiuntive,tipoSD,Ethernet,ecc...
1. Cartellepartendodapunto5precedente:libraries

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina3/

Comeperleliberiev22,potetefareunaltracartellasuScrivaniadinome
ArduinoLibsecopiatedentrotuttelesottocartelle

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina4/

2.

InstallazioneAVRGCC
QuinelcasodiWindowseMac,linstallazioneautomatizzata,tramiteinstaller,
quindiseguiteipassaggienoncambiatelecartellediinstallazionechevengono
fornite.
PergliutentiLinux,perchihaSuse,Ubuntulinstallazionepossibiletramitela
gestionepacchetti(synaptic,yast),inaltricasiperchicomemelovolessefarea
mano,abrevefornirlaguidaallegataaquestodocumento.

InstallazionediAVRPluginsuEclipse
ComeprimacosaapriteEclipseespostatevisuHelp>InstallNewSoftwares,come
dascreenshot:

Appenaavretecliccatoavrete,unanuovafinestra,quidovretecliccaresulbottone
Add,chesitrovaadestradellafinestaeinserirequandosegue:
Name:AVRPlugin
Location:(illinkchetrovatesullaprimapaginadellaguida)
TerminatofateclicksulbottoneOK,vitornerallaschermataprecedenteeil
softwareinizierascaricaredalsitofornitolelencopacchettinecessari,voi
dovretesoloselezionareilpacchettoprincipalesenzaisorgenti:

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina5/

PoibastafareNext,daquiinpoivipartirlaproceduraguidata,cda
accettarealcunicampiperinfinearrivareallachiusuradellafinestra.
Unavoltachiusalafinestradovrebbecomparirviunaltrafinestrainfondoal
programmaconlavanzamentodeldownloaddelpacchettocheabbiamoselezionato.Il
procedimentononvelocissimoerichiedetempo,allafinevichiedertramiteuna
finestradidialogoilriavviodiEclipse.Effettuateloevedretechenelmenavrete
unanuovocampodenominatoAVR.

UtilizziamodeiWorkspacesgipronti
Persemplificarviillavorohopreparato2workspace,dautilizzareconEclipse,il
primosololelibrerieArduinov22,ilsecondountemplatediprovaperlanostra
applicazione.
Primadituttoscaricateiduefilesnecessari:ArduinoCoreeArduinoTemplate
Trovateifilesdascaricarequi,dentrolacartellaEclipse,scaricaresemprele
versioniaggiornate.
Oraunavoltascaricatiifilesestraetelisuldesktop,inmododaavereledue
cartelleaportatadimano,inomisonoArduinoCoreeArduinoTemplate.Questedue
cartelledevonoesserespostateallinternodellacartelladeiworkspacesdi
Eclipse,precedentementeimpostataduranteilprimoavviodelsoftware.
AdessodoveteaprireEclipsesegiapertononcisonoproblemiespostavi
sullatosinistrodentroallareaProjectExplorer,cliccateconiltastodestro
delmouseecliccatesuImport,poiselezionateGeneral>ExistingsProjectsinto
Workspaceavreteunaschermatacomelaseguente:

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina6/

OracliccatesuNexteavreteunanuovafinestra;inaltoallanuovafinestra
cliccatesuBrowse...eselezionateilpercorsodeiWorkspacesdiEclipse,appena
terminatoavretenuovanuovafinestra,coniworkspacesdaimportarecomela
seguente:

Iogiavevoiprogettiinseritieperfarviunesempionecaricoaltri,comunqueil
discorsononcambia;poifareFinish.Aquestopuntonellapartesinistradi
EclipseinProjectExplorervicomparirannoentramiiworkspaces.
Aquestopuntononcirestachesistemarliperfarlifunzionareconilvostro
PC,comeprimacosadobbiamofareunCleanProject,poiunRefreshinquestomodo
ilvostroEclipse,sistemaifilesdicompilazioneMakefileconivostripercorsi.
IniziamosubitodalprogettoArduinoCore,quindicomehodettobisognafare
entrambiipassaggi,perfarloselezionateilprogetto,poicoltastodestroeseguite
leoperazioniperaggiornareiprogetti:

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina7/


AppenaterminatiipassaggidiCleanProject,Refresh,cliccatesuBuild
Project,senonvisonoproblemi,comevedetesopradallasecondaimmaginevi
compare una cartella denominata Archives con un nuovo file, chiamato
libArduinoCore.a.Dimenticavodidirvicheinquestoworkspace,iohogiincluso
lelibreriediArduinov22,quindiincasouscisseronuovelibrerieevogliate
compilarle,vibastafareunCleanProject,poieliminaretuttiifilescontenuti
inquestoprogrettointendoifiles.C,.CPP,.Hespostareocopiarequellidelle
nuovelibrerie,poivibastafareBuildProjecteavretelanuovalibreria
compilata.Ultimacosaprimadiprocedereoltre,tuttiipercorsirelativial
compilatoreAVRGCC,vengonotrovatiautomaticamentequandoabbiamoinstallatoAVR
PlugininEclipse,quindiancheirelativifileperlacompilazionevengono
automaticamenteaggiornatiallinternodelprogetto.
OrapassiamoallasistemazionedelprogettoworkspacedinomeArduinoTemplate,
quilacosaunppicomplessa,abbiamoglistessipassaggidiArduinoCore,
quindiquantoabbiamofattofinoadora,maconladifferenzachequestoworkspace
noinonlouseremoperscrivereunprogrammaoperlasciarlocompilato,ciservir
solocomebaseperinuoviprogettichesvilupperemo;inoltrequipossiamoincludere
lelibrerieesternecomeadesempioSD,Ethernet,SPI,USBShield,ecc....

IlworkspaceArduinoTemplate
Passiamoallasistemazionedelworkspace,quindicomeabbiamofattoprimaper
ArduinoCore,loselezioniamoedeseguiamoCleanProjecteunRefresh,poici
fermiamounmomento,inquantoilBuildProjectnonlopossiamofaresubito.
Dobbiamosistemarealcunecose,laprimachecdaincluderenelprogettola
libreriadiArduinoCorecheabbiamoprecedentementecompilatolibArduinoCore.a,
quindivispiegocomeintegrarla,intresemplicipassaggiepoiavvieremola
compilazionetramiteBuildProjectperverificaresetuttosiacorretto.
1. PrimadituttospostarsisulprogettoArduinoCoreeaprirelacartella

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina8/

virtualeArchives,quindiselezionareilfilelibArduinoCore.apoicol
tastodestrofarecopiaCopy.
2. SpostarsisulprogettoArduinoTemplate,selezionandoproprioilworkspacee
nonlecartellealsuointerno
3. FaretastodestroepoiincollaPaste,inquestomodoavremolalibreria
copiatadentroallacartelladelnostroworkspace
Diseguitoleimmaginiperrenderelidea:

Passggio1

Passaggio2

Passaggio3

AdessopossiamoeffettuareilBuildProject,senoncisonostatierrorieavete
seguitotuttiipassaggiotterretequestorisultato:

Incasocontrarioinfondoallaguidavilascioiriferimentipereventuali
problematiche,inmodochepossiamorisolverle.
Nelcasoinvece,avreteunrisultatocomeilmio,dovretefaresoltantounClean
Projectelasciarequestoprogettopulito,cheuseretecometemplateperivostri
progetti.

UtilizareArudinoTemplatecomebasepernuoviprogetti
OravispiegocomeusareArudinoTemplatecomebaseounveroepropriotemplateper

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina9/

nuoviprogetti.Ilprocedimentomoltosemplice,perchigiutilizzasoftwarecome
EclipseoNetBeanspensochegisisianofattiunplidea.
Comeprimacosa,selezioniamoilworkspaceArduinoTemplate,poitastodestro
e poi copia Copy, successivamente clicchiamo sul bianco dellarea Project
Explorerinmododadeselezionaretuttiiworkspacesepoitastodestroincolla
Paste,quiabbiamounafinestradidialogo,dovecichiedeilnomedelnostro
workspace,quellodidefaultsempreCopyofArduinoTemplate,noiaquestopunto
bastacheinseriamounnomeinerentealnostroprogetto,adesempioGestioneLed
oppureMonitorSerialeecc..
AquestopuntoEclipse,replicatuttoilprogettoArduinoTemplateiunnuovo
workspace,perfadeglierrorichedobbiamocorreggerenoimanualmente.Per
correggerlibastacheeseguiamolaproceduraCleanProject,RefreshepoiBuild
Porject,maprimadiiniziarealavoraredobbiamocomunqueeseguireunClean
Project.InquestomodoEclipsecorreggetuttiipercorsieifileschesi
occuperannodellacompilazione.
Adessopossiamoiniziarealavorarealnostroprogetto.

ImpostareAVRperlediverseBoardseChips
Hoinseritoquestopassaggioqui,inquantoilnostrotemplate,lopossiamousareper
diversiprogetti,iohoconfiguratoiltemplateperlutilizzoconlaBoardoriginale
diArduinoconunATmega328giinstallato;perpossiamomodificarequestivalori
anchedopoaverclonatoilnostrotemplateperunnuovoprogetto.Perchivolesse
inveceusareiltemplatesempreperlastessaconfigurazione,pueffettuarequesto
passaggiodopochehaeffettuatoilpuntoIlWorkspaceArudinoTemplate,inquesto
modonondovrtoccarelaconfigurazioneognivolta.
Comeprimacosaselezioniamoilnostroprogettoacuidobbiamocambiarei
parametri,poifacciamotastodestroeselezioniamoinfondoalmenProperties
nellanuovafinestrasullatosinistroselezioniamoAVReloapriamo,quiabbiamo
duesottomen:
AVRDude
TargetHardware
Noncisonooperazionicomplessedaeseguire,inquantoquellochedobbiamoimpostare
sonosoloilmicrocontrollercheuseremoeilprogrammatore.Oraprimadispiegarvi
tengoaprecisareunacosadifondamentaleimportanza,pergliutentiWindows
possiamousarecomeprogrammatoreArduino,invecepergliutentiLinuxeMac
dobbiamousarecomeprogrammatorestk500v1altrimentiriceveremounerroredi
programmazioneoavolteunerorrecheilnostroprogrammatorenonrisponde,sulla
portaserialeindicata.
Passiamo oltre, selezionando AVRDude, qui subito sotto a Programmer
ConfigurationtroveretesicuramenteSTK500v1inquantolaguidalhoscrittasul
Mac,perpoterlocambiarebastacliccaresultastoadestraEditenellanuova
finestracheavremodavantiselezioneremodallalistalaterale(asinistra)ilnostro
programmatore,unavoltafattocambiamoilnomeSTK500v1,conilnostroperevitare
problemi,poiimpostiamolaporta/posizioneUSBelavelocitdellastessa.

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina10/

Perimpostarelaportamoltosemplice,vihofattoscaricarelIDEdi
Arduinoancheperquestomotivo,quindibastachelanciamolIDEdiArduinoevediamo
laportasullaqualeconnessoilnostroprogrammatore;pergliutentiWindows
sicuramentesarCOM??,pergliutentiLinuxeMacavrannolaposizione,come
/dev/tty.usbserial??oaltradicitura,annotiamoilpercorsopoiloimpostiamosul
Eclipse.
GliutentiLinuxeMacimposterannolaposizionecoscomelaleggono,senza
variazioninelmicasogiimpostatosu/dev/tty.usbserialA800evln,inveceper
gliutentiWindowsdovrannoscriverelaportainquestomodo//./COM??altrimenti
sescrivetesoloCOM??nonfunzioner.
Terminatalaconfigurazione,fateOK,perpoipassareaTargetHardware.
Quidobbiamoselezionareilchipinstallatosulnostroprogrammatore,nelcasonon
siatesicuridelmodelloedellafrequenzadiclock,potetetentareunLoadfrom
MCU,nellamaggiorpartedeicasiloriconoscedirettamentedalprogrammatore,nel
casoincuisifossesbagliato,impostatelomanualmenteeventualmenteleggendoil
datasheetdelmicrocontroller.
AllafinefateOKeaveteterminato.

CaricarelHEXtramiteEclipse
Quivisono2passaggimoltosemplici,unavoltascrittoilprogrammafateBuild
ProjectevigeneralHEXdopodicheselezionandoilprogetto,poitastodestro,
infondotrovateAVRenelsecondomenuUploadProjecttoTargetDevice,senon
vi sono problemi lo carica alla perfezzione, se invece avete sbagliato la
configurazioneoanchecomecapitatoame,aveteintegratodellelibrerieche
presentavanoerroriononeranocompatibili,lascritturavelaeseguepoiallafine
ricevereteunerrore.

Integrareliberieesternealnostroprogetto
Perintegrareleliberiealnostroprogettoipassaggisonodiversimanon
complicati,unavoltamemorizzatinoncisonoproblemi,infuturo.Comeprimo
procedimentodobbiamovederequalelibreriaintegrarenellanostraapplicazione,nel
casodellelibrerieforniteconArduino,bastacopiarelacartelladiriferimento
allalibreria,ioperlesempioutilizzerSPI;quindicispostiamosullacartella
checontienelelibrerieefacciamocopiaCTRL+CperWindows/Linux,CMD+CperMac,
comepassaggiosuccessivoapriamoEclipsesenonapertoecispostiamosulnostro
workspace/progetto al quale dobbiamo integrare la libreria. Per incollarla
allinternodelprogrettodobbiamoselezionarelacartellaprincipaleovveroilnome
delprogetto,poifaretastodestrodelmouseeincollaPasteoppuredirettamente
CTRL+VoCMD+V,inquestomodoavremoquestorisultato:

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina11/

OradobbiamosolodirealnostroprogettochelacartellaSPIcontenentela
libreriadeveesserecompilataechedeveanalizzareilcodicesorgente,quindi
avremmoaccessoatuttelefunzionidellaliberiaquantoeffettueremolincludedei
files.H.

Perquestopassaggio,bastaselezionareilprogetto,poitastodestrodelmousee
selezionareProperties,quinellanuovafinestrachevisualizzeremodobbiamo
sceglierelamendisinistraC/C++GeneralpoiPathsandSymbols.Nellanuova
schermatadobbiamoimpostarediversicampi,perpotersemprerendereilnostro
progettodinamicoequindicondividibileconaltrepersonesenzadoverognivolta
modificareipercorsi,iohoutilizzatolevaribilidiEclipseperrintracciarele
directory;quindipercaricareautomaticamenteilpercorsso,andremmoadutilizzare
unavariabiledinome${ProjName}.
OraandremmoadinserirelacartellaSPIinquestomodo/${ProjName}/SPI,
per gli utenti Windows il separatore del percorso cambia, quindi abbiamo
\${ProjName}\SPI.
Tornandoanoi,perognilibreriacheaggiungete,doveteinserireicampisu
IncludesinGNUCeGNUC++,poianchesuSourcesLocation.
Perpoterprocedere,cispostiamosuIncludesepoiinGNUCeclicchiamosu
Add,infineincolliamodentroilnuovopercorsoprecedentementesistematoe
spuntiamoIsaworkspacepathepoidiamoOK,evisualizzeretequantosegue:

OrafacciamolastessacosasuGNUC++,unavoltasistematoanchequestocampoci
spostiamosuSourceLocationeclicchiamosulbottoneAddFolder...,dalla
finestrachesiapreselezioniamolacartellaSPI,poiclicchiamoOK.Vediamo
subitochesuSourcefoldersonbuildpathcompareanchelanostracartellaSPI,
perfinirefacciamoOKinmododasalvarelenostremodificheetornareallo
sviluppodelprogetto.Unavoltasalvatoechiusalafinestradiconfigurazione
noteremosubitochelacartellaSPIcambiata,sembrachesiacomparsounsimbolo
blueconlaletteraC,questostaadindicarecheEclipseinfasedicompilazione
compileranchetuttalacartellaSPI.
VistochehoutilizzatolalibreriabasediArduinocoscomestata
preparata,allinternodiessadisonoancheunasottocartellacongliesempieun
fileditestodinomekeywords.txt,amioconsiglio,viconvienecancellarli
entrambiprimadicompilareocontinuarelaprogrammazioneereperiretalifiles
dallacartellaoriginale.

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina12/

Pereliminarlibastaselezionarlientrambiepoisuunodiessitastodestrodel
mouseedalmenuDelete.

Adessoilvostroprogettoprontoepossiamoinziareaprogrammare,di
seguitoilrisultatofinale:Ultimacosa,nelmain.cpppergliutentiWindows,
trovatelalineaHardwareSerialSerialconrelativocommento,inquantoho
riscontratoilproblemasolosuWindows,perpoternonvisualizzareglierorridi
tuttiiSerial,decommentatelariga,poiprimadicompilareladovetecommentare.

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina13/

PROBLEMIRISCONTRATIESOLUZIONE
Problema:Serial.???vienericonosciutocomeerrore
Soluzione:inserirenelprogettoinfasedisviluppoHardwareSerialSerial;
Problema:VedonellalistaproblemidiEclipse,migliaiadierroriewarnings
Soluzione:Tastodestronellafinestra,SelectAll,poidinuovomaDelete,
confermareeventualirichieste
Problema:Hoinseritounavariabilemanonlauso,compilamapoiAVRDudemid
errore
Soluzione:Commentalavariabilesenonlausiepoiriprova
Problema:AVRDudenoncaricalhex,dandoerroreallafine
Soluzione:Cistlavorandopercreareunelencodeivariproblemi,lamaggior
partelihocorretti.
Problema(niki77):
Percorsoerratosuambientewindows,relativoallalibreriaArduinoCore
Soluzione(niki77):
Risoltoaggiungendodoppioapicealpercorsodellalibreriain:
C/C++Build>Settings>AVRC++Linker>Libraries.
Scaricaretemplatev1.0.1.
Problema(lesto):
Errorenelmakefile,inambientearchlinux32bit
(avrgcc:error:unrecognizedoption'cref')
Soluzione:
NONDISPONIBILE:Inlavorazione
Problema(everlan):
problemasuArduinoTemplate.mapsembrachenonvienericonosciutootrovato
Soluzione:
InambienteMacsembravaessercideiproblemirelativiaipermessisulfile
hoeliminatoilfiledaltemplateinmodochevengacreatoognivoltachesi
eseguelacompilazionedelprogetto.

RIFERIMENTISUFORUMARDUINO
Perdomandeeproblemirelativiallaguidainquestionescrivetesulquestopost

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina14/

delforumdiArduinocheavevoapertoio:Cliccaqui

LIBRERIEARDUINOCOMPILATE
Nellacartellapubblica,hoinseritolelibreriediArduinoCoregicompilate,per
ognisistemaoperativosucuiabbiamotestatolaguida,questoperevitareaqualcuno
menoespertoproblemirelativiallalorocompilazione.Inomidelleliberiesono
<OS>_libArduinoCore_<VersioneArduino>.zip.

REVISIONI:CORE&TEMPLATE
ArduinoCore
v.1.0.0PacchettoinizialeperlacompilazionedellelibreriediArduinov22e
creazionefilelibArduinoCore.a

ArduinoTemplate
v.1.0.0PacchettoinizialeperlosviluppodiunprogettosuArduino
v.1.0.1Fixed:ProblemapercorsolibreriaArduinoCoreinambienteWindows
v.1.0.2Fixed:Problemaaggiornamento/creazionefileMAP.Ilfilestatorimosso
dal
template.
v.1.0.3Fixed:Disabilitatoinquantononvieneaggiornatoilpercorsodelfiledi
log

GuidarealizzatadaantwalLinkcartellapubblicaArudino
Pagina15/

Potrebbero piacerti anche