FORUM RADIOAMATORIALE - HELP primi passi arduino
    FORUM RADIOAMATORIALE
Sostieni il nostro lavoro. Per altri modi leggi FAQ


FORUM RADIOAMATORIALE
Nome Utente:

Password:
 


Registrati
Salva Password
Password Dimenticata?

 

    


Menù riservato agli utenti registrati - Registrati  




 Tutti i Forum
 Discussioni
 AUTOCOSTRUZIONE
 HELP primi passi arduino
I seguenti utenti stanno leggendo questo Forum Qui c'è:


Tutti gli utenti possono inserire NUOVE discussioni in questo forum Tutti gli utenti possono rispondere in questo forum
  Bookmark this Topic  
| Altri..
Autore Discussione  

ik4clf

oltre 100 messaggi sul Forum



Inserito il - 10/07/2019 : 15:13:38  Link diretto a questa discussione  Mostra Profilo  Visita l'Homepage di ik4clf Invia a ik4clf un Messaggio Privato
chiedo aiuto
ho modificato un programmino trovato in rete, per la visualizzazione di valori resistenze.
La modifica apportata è stata quella di visualizzare su lcd il valore letto (e qui tutto bene)
Il problema è che mi ripete all'infinito il valore letto. Cosa ci scrivo nel codice?

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);



String unit=" ohm";
unsigned long Rzero;
int VD;

void setup() {
//Serial.begin(9600);
}


void loop()
{
pinMode(2,INPUT);
pinMode(4,INPUT);
pinMode(7,INPUT);
pinMode(8,INPUT);

Rzero = 470000;
pinMode(2,OUTPUT);
digitalWrite(2,HIGH);
delay(100);
VD = analogRead(A0);
pinMode(2,INPUT);

if (VD<105)
{
Rzero = 47000;
pinMode(4,OUTPUT);
digitalWrite(4,HIGH);
delay(100);
VD = analogRead(A0);
pinMode(4,INPUT);
}

if (VD<105)
{
Rzero = 4700;
pinMode(7,OUTPUT);
digitalWrite(7,HIGH);
delay(100);
VD = analogRead(A0);
pinMode(7,INPUT);
}

if (VD<105)
{
Rzero = 470;
pinMode(8,OUTPUT);
digitalWrite(8,HIGH);
delay(100);
VD = analogRead(A0);
pinMode(8,INPUT);
}

float RX = VD*Rzero/(1024-VD);
unit=" ohm";

if (RX>1000000)
{
RX = RX/1000000;
unit=" Mohm";
}
else
if (RX>10000)
{
RX = RX/1000;
unit=" Kohm";
}

if (VD>1020)
{
lcd.begin(20,4); // sixteen characters across - 2 lines
lcd.backlight();

lcd.setCursor(0,0);
lcd.print("lettura non valida");

//lcd.println();
}
else
{
lcd.print("OHM METER");
lcd.setCursor(0, 1);

lcd.print(RX,2);
lcd.print(unit);
//lcd.println();
}
delay(1000);
lcd.clear();
}






 Regione Emilia Romagna  ~ Prov.: Forlì-Cesena  ~ Città: Forlì centro  ~  Messaggi: 427  ~  Membro dal: 05/02/2009  ~  Ultima visita: 01/11/2024

iw2ndh

oltre 500 messaggi sul Forum



Inserito il - 10/07/2019 : 21:15:22  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di iw2ndh Invia a iw2ndh un Messaggio Privato
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);



String unit = " ohm";
unsigned long Rzero;
int VD;

void setup()
{
pinMode(2, INPUT);
pinMode(4, INPUT);
pinMode(7, INPUT);
pinMode(8, INPUT);

Rzero = 470000;
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
delay(100);
VD = analogRead(A0);
pinMode(2, INPUT);

if (VD < 105)
{
Rzero = 47000;
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
delay(100);
VD = analogRead(A0);
pinMode(4, INPUT);
}

if (VD < 105)
{
Rzero = 4700;
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
delay(100);
VD = analogRead(A0);
pinMode(7, INPUT);
}

if (VD < 105)
{
Rzero = 470;
pinMode(8, OUTPUT);
digitalWrite(8, HIGH);
delay(100);
VD = analogRead(A0);
pinMode(8, INPUT);
}

float RX = VD * Rzero / (1024 - VD);
unit = " ohm";

if (RX > 1000000)
{
RX = RX / 1000000;
unit = " Mohm";
}
else if (RX > 10000)
{
RX = RX / 1000;
unit = " Kohm";
}

if (VD > 1020)
{
lcd.begin(20, 4); // sixteen characters across - 2 lines
lcd.backlight();

lcd.setCursor(0, 0);
lcd.print("lettura non valida");

//lcd.println();
}
else
{
lcd.print("OHM METER");
lcd.setCursor(0, 1);

lcd.print(RX, 2);
lcd.print(unit);
//lcd.println();
}
// delay(1000);
// lcd.clear();
}


void loop()
{

}






 Regione Lombardia  ~ Prov.: Bergamo  ~  Messaggi: 911  ~  Membro dal: 05/08/2007  ~  Ultima visita: 21/11/2024 Torna all'inizio della Pagina

ik4clf

oltre 100 messaggi sul Forum



Inserito il - 11/07/2019 : 15:44:20  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di ik4clf Invia a ik4clf un Messaggio Privato
iw2ndh ha scritto:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

................


grazie ma così non funziona...non legge la resistenza






 Regione Emilia Romagna  ~ Prov.: Forlì-Cesena  ~ Città: Forlì centro  ~  Messaggi: 427  ~  Membro dal: 05/02/2009  ~  Ultima visita: 01/11/2024 Torna all'inizio della Pagina

i1ndp

oltre 1000 messaggi sul Forum


Inserito il - 11/07/2019 : 17:43:14  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di i1ndp Invia a i1ndp un Messaggio Privato
Dovresti però dire cosa vorresti che facesse.
L'applicazione Arduino esegue sempre un loop eseguendo sempre lo stesso percorso a meno di eventi esterni , stati porte , eventi timer , e altro che ne modificano il comportamento.
Nel tuo codice (abbastanza oscuro in certe parti) non vedo niente che possa modificarnee il percorso.
nando






 Regione Piemonte  ~ Prov.: Biella  ~ Città: magnano  ~  Messaggi: 1382  ~  Membro dal: 03/07/2008  ~  Ultima visita: 03/11/2024 Torna all'inizio della Pagina

ix1ixg

oltre 2000 messaggi sul Forum



Inserito il - 11/07/2019 : 18:12:34  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di ix1ixg Invia a ix1ixg un Messaggio Privato
Ciao LCF,

qualcosa mi dice che fai prima a riscrivere tutto il codice...

tanto per dirtene una, questa parte è piuttosto ambigua:

if (VD<105)
{
Rzero = 47000;
pinMode(4,OUTPUT);
digitalWrite(4,HIGH);
delay(100);
VD = analogRead(A0);
pinMode(4,INPUT);
}

if (VD<105)
{
Rzero = 4700;
pinMode(7,OUTPUT);
digitalWrite(7,HIGH);
delay(100);
VD = analogRead(A0);
pinMode(7,INPUT);
}

if (VD<105)
{
Rzero = 470;
pinMode(8,OUTPUT);
digitalWrite(8,HIGH);
delay(100);
VD = analogRead(A0);
pinMode(8,INPUT);
}

cioè se VD è minore di 105 a Rzero viene assegnato prima 47k poi 4.7k infine 470... alla fine Rzero varrà sempre e comunque 470...

Ti consiglio di ripartire da zero in modo da non portarti dietro o/errori altrui e di costruirti il tuo progetto... per farlo bastano poche righe di codice qualcosa tipo:

char str[50];
float ohm;

void setup()
{
// setti le periferiche
}

void loop() // ciclo infinito che legge e stampa i valori
{
VD = analogRead(...);

// dalla tensione calcoli la resistenza in funzione del carico
//...
//...
sprintf(str,”%f Ohm”,ohm);
lcd.clear();
lcd.print(str);
delay(300); // con 1000 ammuffisci aspettando la prossima lettura...
}


una volta che lo vedi funzionare puoi implementare anchge l' autoranging...

per il resto, da quanto ne sò, la funzione loop dovrebbe rappresentare il classico while(1) contenuto interno della funzione main di un classico programma in C... con loop si sono un tantino allargati... lasciandolo vuoto, senza altri punti di intervento (interrupt ecc.) il micro esegue la func. setup dopodichè entra in deadlock...

Se vuoi studiare il C lascia perdere sistemi con micro...
Se vuoi studiare l' elettronica, lascia perdere sistemi con micro
Se vuoi lavorare in maniera professionale utilizza i vari development tool previsti dalla casa madre (Atmel Studio, Mplab per citare i più conosciuti)

Se conosci cosi tanto bene il C e il micro utilizzato da pensare di non aver bisogno di un debugger arduino è una scelta ottima...

Se voi comandare un device per valutarne le prestazioni in tempi ristretti, arduino è un' ottima scelta, sempre a a patto di non utilizzare una delle tantissime librerie bacate e malfunzionanti che girano per la rete.

Ciao a Tutti, Dave.






 Messaggi: 2207  ~  Membro dal: 15/05/2007  ~  Ultima visita: 01/02/2024 Torna all'inizio della Pagina

ik4clf

oltre 100 messaggi sul Forum



Inserito il - 11/07/2019 : 20:42:10  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di ik4clf Invia a ik4clf un Messaggio Privato
ringrazio tutti per le risposte. Non voglio diventare uno specialista del C++, o meglio, mi piacerebbe ma sono troppo ignorante però nulla mi vieta di imparare qualcosa, a suo tempo mi arrangiavo bene in DB4.
questo è il link da dove ho scaricato e poi modificato per la visualizzazione su lcd http://www.raffaeleilardo.it/rtest.htm così se trovate delle castronerie non è colpa mia

grazie per il tempo che perdete con me
Paolo






 Regione Emilia Romagna  ~ Prov.: Forlì-Cesena  ~ Città: Forlì centro  ~  Messaggi: 427  ~  Membro dal: 05/02/2009  ~  Ultima visita: 01/11/2024 Torna all'inizio della Pagina

ik1bxn

oltre 1000 messaggi sul Forum


Inserito il - 11/07/2019 : 21:38:26  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di ik1bxn Invia a ik1bxn un Messaggio Privato
Una precisazione che non vuole essere assolutamente una critica
Dave purtroppo Arduino non è un C canonico diciamo che è un parente :-)
E' importante tenere a mente che qualunque sketch per Arduino ha
- una prima sezione dove vengono definite le ibrerie di riferimento (include) la natura delle variabili ed altre amenità
- una sezione chiamata setup che viene eseguita SOLO al caricamento dello sketch nella quale sono indicati i "preset" (perdonate il termine) tipo l'apertura di una comunicazione via terminale o il dialogo con un display e o se un pin è di input o di output e così via
- una sezione chiamata loop che viene ciclicamente ripetuta all'infinito che contiene il nostro "programma" ad esempio la lettura di un'input o il controllo di un valore all'interno di svariate funzioni (case, if, while ecc)

Detto ciò cominciano i "razzi" per fargli fare le cose che vogliamo, ma secondo me occorre prima prendere un po di familiarità e su internet si trovano ottime guide ad esempio le lezioni di Michele Maffucci https://www.maffucci.it/area-studenti/arduino/

2 cents al volo :-)
73 - Giorgio

dimenticavo, se qualcuno ha voglia di imparare ad usare Arduino senza necessariamente mettersi a comprare materiale questo è un'ottimo simulatore (direi il migliore) che permette di usare le diverse schede Arduino, scirvere lo sketch, provarlo e mette a disposizione un debugger piuttosto benfatto (si possono inserire breakpoint,visualizzare i contenuti delle variabili,forzarne il valore,eseguire lo sketch step-by-step e altro ancora) insomma un modo per fare tutto a tavolino HI http://virtronics.com.au/Simulator-...Arduino.html costa una manciata di dollari ma secondo me li vale tutti






Modificato da - ik1bxn in data 11/07/2019 21:47:15

  Firma di ik1bxn 
Giorgio - Sez. ARI 15.05 Novi Ligure https://www.ik1bxn.it/wp/

 Regione Liguria  ~ Prov.: Genova  ~ Città: Busalla  ~  Messaggi: 1903  ~  Membro dal: 14/02/2009  ~  Ultima visita: Ieri Torna all'inizio della Pagina

ik1bxn

oltre 1000 messaggi sul Forum


Inserito il - 11/07/2019 : 22:11:52  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di ik1bxn Invia a ik1bxn un Messaggio Privato
Paolo prova con questo sketch che dovrebbe fare quello che desideri ed è già pronto per pilotare un display 16x2 (lo trovi qui https://www.progettiarduino.com/69-...istenze.html)
L'ho appena compilato e non da errori, allego di seguito lo sketch scaricato dal link:

// Arduino Ohm meter, Misura resistenze
// Autore Fancello Salvatore
// Per maggiori info: www.progettiarduino.com

int analogPin= 0; // Pin Analogico A0
int raw= 0;
int Vin= 5; // Volt in uscita dal Pin 5V di Arduino
float Vout= 0;
float R1= 1000; // impostare il valore della resistenza nota in Ohm
float R2= 0;
float buffer= 0;

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
lcd.begin(16, 2); //Inizializzazione display
Serial.begin(9600); //Apro la comunicazione seriale
}

void loop()
{
raw= analogRead(analogPin);
if(raw)
{
buffer= raw * Vin;
Vout= (buffer)/1024.0;
buffer= (Vin/Vout) -1;
R2= R1 * buffer;
Serial.print("Vout: ");
Serial.println(Vout);
Serial.print("R2: ");
Serial.println(R2);
lcd.print("OHM METER");
lcd.setCursor(0, 1);
lcd.print("R2: ");
lcd.print(R2);
delay(1000);
lcd.clear();
}
}






  Firma di ik1bxn 
Giorgio - Sez. ARI 15.05 Novi Ligure https://www.ik1bxn.it/wp/

 Regione Liguria  ~ Prov.: Genova  ~ Città: Busalla  ~  Messaggi: 1903  ~  Membro dal: 14/02/2009  ~  Ultima visita: Ieri Torna all'inizio della Pagina

ix1ixg

oltre 2000 messaggi sul Forum



Inserito il - 11/07/2019 : 23:40:10  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di ix1ixg Invia a ix1ixg un Messaggio Privato
Ciao a Tutti,

Giorgio, tranquillo, nessun problema, io rispetto i punti di vista di tutti e non sono permaloso...

Conosco a grandi linee il funzionamento del compilatore in questione e se devo essere sincero non è che mi convinca più di tanto... chi lo ha pensato, avrebbe fatto meglio ad allinearsi con i classici compilatori in modo da “iniziare” gli interessati al metodo più utilizzato...

Guardando la descrizione del simulatore che hai linkato, la mia attenzione si è subito focalizzata sulle limitation... mi è bastato leggere la prima “Pointers not implemented “ per farmi desistere dal continuare la lettura... cioè i puntatori sono la punta diamante del linguaggio C... sono loro che forniscono il massimo di versatilità e potenzialità al linguaggio... la cosa più importante, non è stata implementata... alla fine rimango sempre un po' con gli stessi dubbi... di preciso, per cosa è stata progettata questa schedina ? Per imparare a programmare non credo proprio, da quanto si può vedere... Per sviluppare qualcosa di professionale ? Anche da questo punto di vista ho qualche dubbio… come professionista non mi appoggerei mai a nulla di simile... Forse per far nascere un po' di interesse... come avevo scritto sopra, invece, trovo utile il sistema per eseguire qualche test alla veloce... il problema, dal mio punto di vista è che hanno cercato di semplificare un argomento, che semplice non è per nulla... per far funzionare bene un sistema, oltre che alla parte informatica bisogna conoscere bene anche la parte elettronica... per fare un altro esempio... il codice che hai postato, benchè semplice contiene delle imprecisioni... ad esempio se il valore della R sotto misura risulta essere di 0 Ohm o comunque di un valore sufficientemente basso da far leggere all' adc un valore di 0 otterremo una divisione per 0 che genererà un errore matematico gestibile come eccezione (questo nei “normali” compilatori, con questo e con quali risultati, non ne ho idea...) forse la si può maneggiare, forse no... o forse neppure serve in questo contesto... quello che voglio sottolineare è che viene rappresentato un concetto che utilizzato in altri contesti comporterebbe dei blocchi inaspettati... se poi ricerchi la precisione nella misura, bisogna tenere conto che benchè si possano misurare resistori sino a circa 1 MOhm da 510 KOhm ad 1 MOhm lo scarto nella lettura è circa del 50%... discorsone fatto comunque assolutamente senza alcuna polemica giusto per il piacere di chiaccherare con persone piacevoli...

Paolo, non ti scoraggiare, tutti siamo ignoranti in qualcosa (ora inizio ad esprimermi con i luoghi comuni... conosco qualcuno che non sa fare in altra maniera...) la differenza la fa chi si impegna per migliorarsi... Il C io lo consiglio sempre come linguaggio di medio livello... se hai voglia di impararlo ti riserverà sicuramente parecchie soddisfazioni... forse è anche uno dei linguaggi più semplici dato il ristretto numero di parole chiave... Riguardo al progetto, ti sei limitato ad includere le routines per la stampa... i vari salti condizionali ambigui, li hai ereditati dal codice recuperato in rete... (non stò neppure a leggere e approfondire perchè se tanto mi dà tanto...) Se ti serve un Ohmmetro, prova il codice di Giorgio, se invece vuoi imparare qualcosa in più sei nel posto giusto... qualcuno pronto a rispondere più o meno lo trovi.

Ciao a Tutti, Dave.






Modificato da - ix1ixg in data 11/07/2019 23:45:13

 Messaggi: 2207  ~  Membro dal: 15/05/2007  ~  Ultima visita: 01/02/2024 Torna all'inizio della Pagina

ik1bxn

oltre 1000 messaggi sul Forum


Inserito il - 12/07/2019 : 08:24:55  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di ik1bxn Invia a ik1bxn un Messaggio Privato
Assolutamente d’accordo con la tua analisi Dave !
ma parlando di Arduino ci si deve posizionare ad un livello più basso.
Arduino permette a praticamente chiunque e in breve tempo di costruire ”scatolotti” che fanno ciò che ci serve o ci piace senza doversi svenare e trovando fiumi di documentazione sul web.
Certamente nulla di professionale può essere basato su Arduino ne e soprattutto uno strumento di misura degno di questo nome.

Il siimulatore che ho linkato è uno strumento tutto software al quale si da in pasto lo sketch ed è di grande aiuto per capire dove ci sono errori o testare i risultati ma rimane al livello di Arduino (di cosa siano ed a cosa servano ad esempio i puntatori non gliene importa nulla).

Concludendo io suggerisco a chi è intrigato di giocare con Arduino, scornarsi col punto e virgola dimenticato o la graffa mancante, vuotare il web cercando la soluzione ma soprattutto capendo e imparando qualcosa...poi ciascuno vedrà se approfondire o abbandonare o salire oer passare a soluzioni piu serie ed affidabili
73 a tutti
... Dave mi hai fatto tornare in mente il docente che ad un corso sulle MFC tanti anni fa diceva “dovete pensare in C e sognare in C” :-)






  Firma di ik1bxn 
Giorgio - Sez. ARI 15.05 Novi Ligure https://www.ik1bxn.it/wp/

 Regione Liguria  ~ Prov.: Genova  ~ Città: Busalla  ~  Messaggi: 1903  ~  Membro dal: 14/02/2009  ~  Ultima visita: Ieri Torna all'inizio della Pagina

iz2hfg

oltre 5000 messaggi sul Forum



Inserito il - 12/07/2019 : 12:05:52  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di iz2hfg  Clicca per vedere l'indirizzo MSN di iz2hfg Invia a iz2hfg un Messaggio Privato
ik1bxn ha scritto:


<<... Dave mi hai fatto tornare in mente il docente che ad un corso sulle MFC tanti anni fa diceva “dovete pensare in C e sognare in C” :-) >>


Ciao a tutti e condivido molti degli interventi e qui perdonatemi ma non posso non commentare con ironia quanto affermato dall'amico Giorgio, perché come dire.......molti molti anni fa (di fatto nel pieno Giurassico dell'IT.......) in un corso analogo invece del FORTRAN molti di noi (incluso ovviamente il sottoscritto) in realtà pensavano solo alla "F" e quindi di fatto sognavano di "smanettare" solo le migliori..... (;-)) tutto questo si traduceva in scarsi risultati......come dire....in entrambi i campi!

Un caro saluto








  Firma di iz2hfg 
73 de Franco, IZ2HFG
SWL I2-1794
- Alla prima luce del quinto giorno, all'alba, guarda ad Est.....
- Habere non haberi!
- So di non sapere!
- Sono sempre pronto ad imparare, non sempre a lasciare che mi insegnino.
- Contro la stupidità, neanche gli dei possono lottare con successo.
=-> NO MSG PRIVATI <-=
QRZ:
https://www.qrz.com/db/iz2hfg
WebSite:
https://iz2hfg.jimdo.com
QSL:
https://www.eqsl.cc
e-mail:
iz2hfg(AT)gmail.com
((((73))))

 Regione Lombardia  ~ Prov.: Varese  ~ Città: Viggiù  ~  Messaggi: 5626  ~  Membro dal: 18/11/2005  ~  Ultima visita: Ieri Torna all'inizio della Pagina

ik1bxn

oltre 1000 messaggi sul Forum


Inserito il - 12/07/2019 : 12:13:56  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di ik1bxn Invia a ik1bxn un Messaggio Privato


Immagine:

35,21 KB






  Firma di ik1bxn 
Giorgio - Sez. ARI 15.05 Novi Ligure https://www.ik1bxn.it/wp/

 Regione Liguria  ~ Prov.: Genova  ~ Città: Busalla  ~  Messaggi: 1903  ~  Membro dal: 14/02/2009  ~  Ultima visita: Ieri Torna all'inizio della Pagina

ix1ixg

oltre 2000 messaggi sul Forum



Inserito il - 12/07/2019 : 18:36:29  Link diretto a questa risposta  Mostra Profilo  Visita l'Homepage di ix1ixg Invia a ix1ixg un Messaggio Privato
Ciao a Tutti,

si Giorgio, per fare qualche esperimento è molto comodo, conoscendo bene C e assembler il livello di precisione ottenuto è piuttosto elevato (ad esempio per realizzare un qualsiasi misuratore) anche se alla fine è limitato da come è realizzata la schedina stessa dalla quale dipende anche un livello di affidabilità piuttosto relativo...

Dopo tanti anni di utilizzo, credo che un linguaggio di programmazione diventi come una seconda lingua... personalmente mi capita spesso di riportare formule matematiche scritte in C come anche l' utilizzo degli operatori... alla fine a forza di usarli prendono il sopravvento sulla lingua corrente... per ora i sogni non sono ancora stati intaccati, capirò quando succederà che il momento giusto per un controllo psichiatrico sarà arrivato... Molto meglio come scrive Franco. Pensare e sognare in F...ortan... mooolto più appagante !

Ciao a Tutti, Dave.






 Messaggi: 2207  ~  Membro dal: 15/05/2007  ~  Ultima visita: 01/02/2024 Torna all'inizio della Pagina
  Discussione  
  Bookmark this Topic  
| Altri..
 
Vai a:

Arifidenza.it | Attività  - ARI Fidenza | Home La Sezione - ARI Fidenza
Questa pagina è stata generata in 0,25 secondi.