mercoledì 20 aprile 2016

Introduzione:

Se siete alle prime armi con le MCU vi consiglio di acquistare un buon libro base sulla programmazione in MikroBasic.
Ve ne posso indicare uno (premetto non ho accordi con l'autore) di quelli che ho letto all'inizio del mio percorso formativo.
Questo è il passo fondamentale da fare prima di cimentarsi nell'universo Web nel quale troverete di tutto ed avere già una buona infarinatura vi permette di evitare di perdere tempo in forum inutili dove vengono pubblicate cose non verificate e non funzionanti, creando nella vostra testa solamente confusione.

PIC MCU (MicroController Unit)



Blog Scritto da: Leonardo Moretti

Concludo col dire che tutto quello pubblicato nel blog è frutto di studio su libri, web e di esperienza di auto costruzione , non verranno trattati argomenti di altri autori di mia conoscienza anche perché sarebbe inutile ripetere nozioni già trattate da altre fonti.

Non vi fate scoraggiare se spesso i forum non vi aiutano a risolvere tutti i problemi, tenete conto che chi naviga nei forum sta imparando come voi ; e purtroppo chi le cose le sa non è sempre disposto a condividerle con voi, non vi fate scoraggiare ed andate avanti perché i risultati arriveranno.

Introduzione:
Cosa è una  MCU ? Un microcontrollore, una specie di Micro Calcolatore completo, ossia un Circuito integrato al cui interno esiste una CPU  una ALU, porte PIO, registri di controllo, un clock, un comparatore, una RAM, ed una rom dove appoggiare dati ed il programma che lo farà funzionare.
A che cosa serve? Per creare moltissimi progetti digitali es. Oscillatori, controlli di qualsiasi tipo (irrigatori, termostati crepuscolari, stufe e caldaie), strumenti (volmetri ,amperometri, generatori funzioni, oscilloscopi), applicazioni mediche, insomma tutto quello che deve essere controllato.


Materiale necessario per iniziare ad imparare:



  •  Un Buon Programmatore: Il Pick Kit 3 (che non vi da mai errori)


  •  Una Scheda Madre ovvero Scheda di sviluppo dove poter testare 
  la funzionalità del vostro codice.
  Se avete dimistichezza con il disegno circuitale (Eagle, DipTrace, Ki Cad)
  potrete costruirvene una di vostro gradimento, anche perchè quelle che ho
  trovato io funzionavano soltanto con livelli logici Pull-Up ossia
  il livello 1 era 0 volt e lo 0 logico erano i 5V, antipatico per chi sta
  imparando e non solo.  


Oppure Auto costruita:




  • Un buon Compiatore Editor Io vi consiglio Vivamente
  il  MikroBasic Pro Compiler  oppure il MikroC

lunedì 18 aprile 2016

6 

ALCUNI PROGETTI CON IL PIC 8-PIN 12F683 


TRASMISSIONE INFRAROSSO RC5 PER TELECOMANDI: (12F683)


RC5 è uno standard di trasmissione infrarosso per sistemi in ricezione e trasmissione comandi per ogni tipo di dispositivo elettronico telecomandato. Ce ne sono diversi di standard trasmissivi ad infrarossi uno di questi è appunto RC5 , altri sono Sony SIRC e NEC.
Il seguente progetto è testato e funzionante ed è completo di sistema di trasmissione e ricezione oltre che dal modulino di ricezione. (in configurazione Pull-Up)
L'autore originale non è il sottoscritto ma mi sono occupato di tradurre il codice in Mikrobasic per un modello di MCU pic differente dall'originale (introvabile dalle mie parti) ma molto simile.

TRASMETTITORE  INFRAROSSO RC5:
Di seguito vi riporto lo schema a blocchi di questa piccola MCU a 8 Mhz.









E' stata scelta una MCU piccola perché servivano solamente 4 o 5 tasti per controllare il sistema ricevente e soprattutto un modello di MCU che avesse nel proprio interno il modulo PWM. (modulatore a frequenza ad impulsi) 
Per il resto la piccola MCU è uguale alla sua gemella 16F675 ; di seguito riporto subito lo schema elettrico del Sistema trasmissivo IR con il relativo Codice:

l'intero Progetto del Trasmettitore (standard RC5) con il relativo codice lo si può scaricare dal link di Google Drive qui:




RICEVITORE INFRAROSSO RC5:
Il ricevitore allo stesso modo è stato realizzato utilizzando un modello analogo di Controllore PIC (12F683) ma non è escluso si possa usarne un altro con più piedini (anche senza PWM interno) a patto che anche il programma sia modificato e personalizzato in base alla MCU usata.
Di seguito verrà riportato lo schema del sistema del ricevitore con relativo Modulino di ricezione a parte , in configurazione Pull Up , è importante questa configurazione perché il programma è stato scritto per ricevere i dati con i livelli logici invertiti. (livello 1 = 0 Volt mentre il livelo 0 = +5V)

Schema elettrico del Sistema di Ricezione IR



NB: la parte di sinistra (LA RESISTENZA R1 100Ohm , IR1 Diodo Led Trasmettitore ed il ponte j3) la si può cancellare dato che non è necessaria al progetto dato che voi in questo caso dovrete solamente ricevere l'informazione infrarossa dal ricevitore.

l'intero Progetto del Ricevitore (standard RC5) con il relativo codice lo si può scaricare dal link di Google Drive qui:

Ricevitore Infrarosso RC5

//=========================//
Pagina Scritta da Leonardo Moretti

venerdì 1 aprile 2016

ALCUNI LINK UTILI ALLO STUDIO



PRIMI PROGETTI CON IL PIC 18-PIN 16F88   Parte 2 

SCHEDA AUDIO AD4 WTV-020-SD PILOTATA DALLA MCU:16F88

Il seguente progetto consiste nel far suonare alcuni suoni o brani memorizzati nella schedina Mini-SD (si raccomanda SanDisk 2gb) ospitata dalla scheda audio WTV-020-SD.
La qualità di questi suoni non è alla pari di un brano mp3 infatti più che lettori musicali questa scheda viene usata per far parlare i Robot, i Contapassi, gli altimetri per i parapendii ;insomma tutti quei progetti dove non è possibile leggere un display LCD per esempio.

Il motore principale del programma è racchiuso nella funzione Wtv020_SendCommand(dim commando as word); Essa infatti si occupa di sincronizzare i due segnali CL(clock) e DA(dati) della trasmissione seriale rendendo possibile il corretto funzionamento della scheda audio.
In realtà i pin della MCU coinvolti sono in totale quattro:
RS(signal reset) sul piedino RA1, CL(clock) sul piedino RA2, DA(Dati) sul pin RA3 , queste come uscite verso la scheda audio; Infine BS (se lo si vuole connettere) collegato sul piedino RB4 come ingresso verso il pic, questo ultimo segnale informa solamente il pic che la scheda audio non sta suonando è ready ma come vi dicevo non è indispensabile perché si possono inviare comandi anche senza aspettare che la schedina abbia finito di suonare il brano. 
Nella funzione Main viene gestito l'avanzamento retrocessione del brano da suonare.
In particolare PlayNext è collegato sul pin RB1 e PlayPrew al pin RB0 del PIC.

La scheda WTV-020-SD è molto economica la si trova ad un costo piuttosto basso (circa 3€) su siti internet e può funzionare anche senza una MCU semplicemente collegando dei pulsanti come nello schema del suo DataSheet.
Importante caricare la scheda SD (alloggiata nella scheda Audio) dei solo file AD4 creati con il programma chiamato 4D-SOMO-Tool.

La foto di questa scheda è la seguente:

Mentre lo schema elettrico del sistema completo è il seguente:


 l'intero Progetto con il relativo codice lo si può scaricare dal link di Google Drive qui:

I file audio AD4 sono sul seguente link di google Drive:

Il programma per convertire i file Wav in AD4 sono sul seguente link:
AD4 Converter


//=========================//
Pagina Scritta da Leonardo Moretti



7

PRIMI PROGETTI CON IL PIC 18-PIN 16F88   Parte 1

Altra piccola premessa sui Fusi di questa MCU a 18 Piedini (fuse in English):
essi sono rappresentati da una serie di parametri iniziali i quali vanno ad influire sul comportamento dei moduli hardware interni al PIC stesso. Essi vengono impostati sulle proprietà del progetto sul compilatore. Una classica configurazione è la seguente:



Oscillator selection:Permette di scegliere il clock interno a 4mhz oppure un clock esterno più preciso.
Watchdog Timer: Se stai usando l'interrupt interno con il Timer0, timer1 oppure il timer2 e ti serve un divisore prescaler (per variare più o meno velocemente il tempo di generazione degli interrupt interni dei timers prima citati) puoi affidare il divisore o al WDT(Watchdog Timer) o al TIMER0. (solo nel caso si usi il Timer0)
Infatti per il Timer2 e 3 si può usare soltanto il WDT.
GP3 o MCLR :Definisce il comportamento del pin: come semplice linea dati o come MCLR.
Program Memory Code: Come si intuisce abilita il PIC a proteggere il codice del programma contenuto in esso.
Data Code Protection: Abilita o disabilita la memoria EEprom dall'essere scritta dal programma principale contenuto nel PIC e scritto da voi.
CCP1: pin Selection: Permette anche di decidere in quale PIN (RB0 o RB3) deve lavorare modulo PWM, (modulatore di frequenze ad impulsi)

TASTIERA ANALOGICA E RICONOSCIMENTO DEL TASTO PREMUTO:16F88

Il progetto è collegato ad una tastiera analogica collegata sul pin RA0 del Pic. La tastiera per ogni pressione del tasto genera una differenza di potenziale diversa da ogni altro tasto premuto. (tastiera di 12 tasti) Da notare che il programma lavora in Polling e non in interrupt , ciò significa che ciclicamente il programma effettua dei campionamenti sulla uscita della tastiera analogica.
Una volta acquisito il valore del potenziale della tastiera degli IF che (contenuti nella funzione Unità chiamata cosi perchè è possibile espandere il codice aggiungendo anche le decine) permettono il riconoscimento del tasto.
Il programma è scritto per il PIC 16F88 frequenza clock esterno di 4 Mhz
dotato di ADC (convertitore analogico digitale )

Il calcolo per sapere il numero byte all'uscita del convertitore (ADC) e quello di questa formula

x= Vin (VDigMax) / Vref

Dove:
Vin è la tensione sul Pin della tastiera, VDdigMax è il massimo valore rappresentabile dal convertitore Interno (ADC) tale valore intero è: 1024 , Vref è l'alimentazione della tastiera e del Pic ossio 5V.
In pratica se dovete acquisire una tensione di 3,7 volt il numero convertito dal convertitore interno A/D sara dato dal calcolo 3,2x1024/5=655,36 0ssia si tolgono i numeri dopo la virgola e si ottiene il numero 655.



I rami che collegano i Led della Retro Illuminazione possono tranquillamente essere rimossi e rendere lo schema più semplificato. 


Faccio notare ogni qual volta si usa un display 16x2 occorre frapporre tra +5Vcc ed il piedino MCRL una resistenza da 4,7k altrimenti ci saranno problemi di visualizzazione sul Display.

 l'intero Progetto con il relativo codice lo si può scaricare dal link di Google Drive qui:
Controllo per tastiera Analogica

//=========================//


MENU SU DISPLAY 16x2 GESTITO DA ENCODER: 16F88

Questo progetto è composto da due parti fondamentali: 
  • La gestione di un menù con tre voci comprese ciascuna di un sotto menù
  • La gestione di un Encoder Rotativo compreso di uno switch posto sull'asse dell'Encoder.
Questa è una idea  mi era venuta perché avevo necessità di gestire al meglio il piccolo pic a 18 piedini; allora ho pensato che se invece dei pulsanti usassi un encoder che era in grado di raccogliere il tutto in un oggetto unico, ci avrei guadagnato in praticità che in economia.
Un'altra idea era di rendere dinamico ed interattivo il mio programma principale (modificando il valore di alcune variabili al suo interno) in modo che si comportasse in maniera diversa; così è nata l'esigenza di creare un menu interattivo gestito appunto da questo Encoder.

Prima di passare al programma però vanno fatte due precisazioni su come funziona l'Encoder Rotativo ed il menu da esso gestito:
L'Encoder rotativo è formato al suo interno da due sensori: CLK e TD questi generano due segnali sfasati (meccanicamente) di 90° , questo sfasamento permette di distinguere se stiamo ruotando l'Encoder verso destra o verso sinistra. Più precisamente se ruoto a sinistra l'encoder i due segnali commuteranno con lo stesso livello logico, invece se ruoterò l'asse dell'encoder verso destra i due segnali commuteranno a livelli logici Opposti, Come in figura:

    
Da notare che sia sul fronte di discesa che sul fronte di salita i due segnali o sono uguali o nell'altro caso sono diversi, il tutto è stato fatto gestire dal programma nella routine di Interrupt B0 collegando il piedino CLK con quello RB0 (del Pic).
Un'altra cosa che ho imparato con l'esperienza è stata che non tutti gli encoder sono ottici, quelli più economici sono meccanici e questa parola equivale a dire rimbalzi tra le transizioni da livello logico 1 allo 0 e viceversa. Il risultato è che quando viene generato l'Interrupt sul piedino RB0 il codice scritto nel pic non sa distinguere se avete girato l'encoder a sinistra o a destra, il risultato è che l'encoder risulta ingestibile. Per ovviare a questo problema si può frapporre tra i due segnali (CLK e TD) e massa  due condensatori (da 10Pf a 10000Pf a vostra scelta) , ciò permette di eliminare il rimbalzo dei due segnali dell'Encoder durante le loro transizioni da 0 a 1 e viceversa. 

Quì di seguito viene riportato lo schema elettrico del Progetto:


In data 06.04.2016 il progetto è stato Migliorato e reso più stabile.
Io ora credo di avervi dato così le basi per sviluppare i vostri futuri progetti ora metteteci il vostro, buon lavoro.

  l'intero Progetto con il relativo codice lo si può scaricare dal link di Google Drive qui:

//=========================//

GENERATORE ONDA QUADRA CON ENCODER ROTATIVO 1Hz A 12Khz: 16F88

Questo è un progetto più semplice rispetto al precedente , si tratta di gestire una frequenza variabile mediante l'uso della funzione Sound, ovviamente girando l'asse dell'Encoder varia la frequenza generata dalla funzione Sound.
Il display vi mostra il valore della frequenza che state generando sulla porta A2 (PORTA.2).

Di seguito vi mostro lo schema elettrico del progetto:

Vi consiglio di collegare in serie all'altoparlante da 8ohm una resistenza da 220ohm perchè il pic non gestisce correnti maggiori di 20ma. Di fatti dalla legge di Ohm R=5v/0.02A=250ohm.


Vi ricordo, per ciò che concerne l'encoder rotativo meccanico due condensatori (da 10Pf a 10000pf a vostra scelta) in modo da evitare i rimbalzi, come in Foto:




l'intero Progetto con il relativo codice lo si può scaricare dal link di Google Drive qui:
//=========================//
Pagina Scritta da Leonardo Moretti
5 

PRIMI PROGETTI CON IL PIC 8-PIN 12F675 parte 2









PRIMI PROGETTI CON IL PIC 8-PIN 12F675  parte 1

 PILOTA MOTORE PASSO PASSO: (step motor)

Far Muovere un Motorino passo-passo con il pic 12F675 o 12F629
Prima di tutto procuriamoci il materiale:
  • Alimentatore multi presa da 5V (se usate quello con più uscite dovrete usare l'integrato che vi regola la tensione fissa su 5V LM7805)
  • Costruitevi (o compratevi) con il mille fori o sviluppandovi con l'uso dei fogli (toner transfer) la scheda Madre in modo da renderla compatibile e riciclabile per tutti i progetti che volete realizzare. (ricordate sviluppate prima i prototipi su questa scheda). Usate molti ponti di modo tale da poter all'evenienza cablare la vostra scheda ed adattarla a ogni configurazione.





Schema elettrico Scheda di sviluppo 12F675



  • Scaricatevi dal sito MikroBasic pro ver. Demo  il compilatore più adatto al vostro percorso di studi di informatica. (io vi consiglio il basic anche se c'è meno codice da scaricare in giro)

  • Il Programmatore , per esperienza vi consiglio il PicKit 3 lo trovate su Amazon a 30€ oppure anche su Aliexpress (arriva dopo un mese ma lo pagate la metà)

  • Per finire Procuratevi , sempre su Aliexpress oppure Amazon il Motorino Passo Passo con la relativa scheda Pilota di Potenza (Driver):








  • Una breve introduzione sui Fusi (Fuse in English) , essi sono rappresentati da una serie di parametri iniziali i quali vanno ad influire sul comportamento dei moduli hardware interni al PIC stesso. Essi vengono impostati sulle proprietà del progetto sul compilatore. Una classica configurazione è la seguente:




  • Oscillator selection:Permette di scegliere il clock interno a 4mhz oppure un clock esterno più preciso.
    Watchdog Timer: Se stai usando l'interrupt interno con il Timer0, timer1 oppure il timer2 e ti serve un divisore prescaler (per variare più o meno velocemente il tempo di generazione degli interrupt interni dei timers prima citati) puoi affidare il divisore o al WDT(Watchdog Timer) o al TIMER0. (solo nel caso si usi il Timer0)
    Infatti per il Timer2 e 3 si può usare soltanto il WDT.
    GP3 o MCLR :Definisce il comportamento del pin: come semplice linea dati o come MCLR.
    Program Memory Code: Come si intuisce abilita il PIC a proteggere il codice del programma contenuto in esso.
    Data Code Protection: Abilita o disabilita la memoria EEprom dall'essere scritta dal programma principale contenuto nel PIC e scritto da voi.


    Ora Possiamo Cominciare Scrivere il Programma

    l'intero Progetto con il relativo codice lo si può scaricare dal link di Google Drive qui:

    //=========================//


    GIOCO DI LUCI A TRE COLORI PER ALBERO DI NATALE CON CREPUSCOLARE: 12F675

    Il progetto supporta più 60 Led per ogni colore (o pin del Pic) anche perché dotato di Transistor NPN. Inoltre le batterie per le quali è stato collaudato non sono le 4 normali batterie stilo da 1,5V ma 4 Ricaricabili Stilo da 1,2V. Faccio questa precisazione perché la corrente generata dalla Fotoresistenza è tale da generare una differenza di potenziale (ai capi del convertitore ADC) tarata gia nel Programma.

    Il calcolo per sapere il numero byte all'uscita del convertitore (ADC) e quello di questa formula

    x= Vin (VDigMax) / Vref
    dove:
    Vin è la tensione in entrata del ADC , VDigitMax è il numero intero massimo che il convertitore da 10Bit può convertire 1024 , e Vref rappresenta la tensione della batteria 3,8V. (batt. ricaricabili)

    Ho anche misurato il consumo Medio e Massimo del circuito sulla batteria ed era rispettivamente 40mA e 60mA. (per una batteria di 2000mA immaginate la durata), a questo aggiungete che di giorno la MCU va In Stand-By vi lascio Immaginare. 

    Lo schema elettrico è questo:



     l'intero Progetto con il relativo codice lo si può scaricare dal link di Google Drive qui:
    Alcune raccomandazioni:
    Qualora si volesse realizzare il progetto per montarlo all'esterno si raccomanda di usare una scatola di derivazione a tenuta stagna, di rivestire l'interno con il polistirolo giallo ad alta densità (di colore giallo usato per l'edilizia) ed inoltre rivestire il pacco di batterie con il rivestimento nero usalo per i tubi dell'acqua e di mettere il tutto (insieme al circuito) dentro la scatola di derivazione.
    Questo perché l'acqua ed il freddo non pregiudichino il funzionamento del progetto.


    Pagina Scritta da Leonardo Moretti

    //=========================//

    giovedì 31 marzo 2016

    2 

    PRIME NOZIONI SUI PIC MCU (Micro Controller Unit) 

     


    Questa MCU pic è una delle più piccole della famiglia la lettera F sta ad indicare che è possibile riprogrammare più volte la sua ROM anche dopo pa prima volta. (al contrario la lettera C si può programmare una volta sola). Se Scarichiamo il DataSheet inerente a questa MCU scopriremo che vengono spiegati i vari Dispositivi riassunti in blocchi, come nella figura sottostante:

    • Si comincia con la CPU (il Cervello di questo microcontrollore) , questa unità si occupa di gestire tutto il traffico Dati all'interno del Chip ed all'esterno tramite le porte di Input ed Output.
    • la ALU (unita logica aritmetica) come dice la parola stessa essa opera in simbiosi diretta con la CPU ed effettua i calcoli si qualsiasi tipo, esempio: Spostamenti di Bit nei registri, Somme, Sottrazioni, Divisioni, Prodotti, Seni, Coseni ,Logaritmi, Confronti  tra i bit e le variabili e tanto altro.
    • La RAM e una memoria volatile (togliendo l'alimentazione al controllore si perdono i dati in questo tipo di memoria) permette al programma di essere , in fase iniziale di essere caricato in essa e di essere subito dopo Eseguito dal Microcontrollore.
    • ROM è la memoria non volatile (anche togliendo l'alimentazione al controllore i dati rimangono scritti in questo tipo di memoria). Essa è divisa in due: Una parte sarà occupata dal nostro programma la Flash Program Memory (scritto da noi per fare operare il Controllore) all'atto della scrittura con l'apposito Programmatore descritto nell'introduzione. L'Altra rappresenta una memoria di appoggio EEPROM dove il nostro programma potrebbe scrivere alcuni settaggi da non perdere mai. La ROM e riscrivibile milioni di volte.
    • Le Porte PIO(Parallel Input Output) e SIO(Serial Input Output) che possono essere programmate o in Uscita (per pilotare altri dispositivi), oppure in ingresso (per ricevere dati dai dispositivi esterni).
    • ADC è un convertitore Analogico digitale collegato ai piedini RA0,RA1,RA2,RA3 (è possibile anche spegnerlo ed usare i pin in modo digitale).
    • Il comparatore di segnali in ingresso
    • Un oscillatore interno di 8 Mhz se non vogliamo occupare i pins del nostro piccolo Pic e dedicarli tutti ai segnali di uscita o ingresso.
    • I moduli timer : TIMER 0 TIMER 1 e TIMER2, sono utilissimi in caso si vogliano gestire a tempi determinati alcuni controlli ad essi è collegata una variabile che si incrementa fino a raggiungere un valore massimo oltre il quale viene generato un interrupt interno. I blocchi di codice che si scrivono nella procedura di interrupt influiscono in maniera minima sulla CPU. Le procedure di interrupt in genere devono essere più corte possibili in modo che la CPU ritorni presto a svolgere le sue funzioni usuali. L'impressione che questi sistemi danno all'utilizzatore finale è che il microcontrollore svolge più controlli ed azioni (più o meno) allo stesso momento, una sorta di MultiTasking.
    • I registri , ce ne sono diversi e servono per controllare il funzionamento (il modo di comportarsi) di tutti i moduli sopra elencati e la loro grandezza e di 8bit.
    Per ulteriori Informazioni su questa MCU (microcontrollore)  scaricatevi il DataSheet inerente a questo Modello.


    //=========================//
    Pagina Scritta da Leonardo Moretti

    Indice degli Argomenti:


    1. INTRODUZIONE
    2. PRIME NOZIONI SUI PIC MCU (Micro Controller Unit)
    3. PRIMI PROGETTI CON IL PIC 8-PIN 12F675   Parte 1
    4. PRIMI PROGETTI CON IL PIC 8-PIN 12F675   Parte 2  (in costruzione)
    5. ALCUNI PROGETTI CON IL PIC 8-PIN 12F683
    6. PRIMI PROGETTI CON IL PIC 18-PIN 16F88   Parte 1 
    7. PRIMI PROGETTI CON IL PIC 18-PIN 16F88   Parte 2  (in costruzione) 

    8.  ALCUNI LINK UTILI ALLO STUDIO


    Avvertenze:


    Queste sono pagine personali non soggette ad aggiornamento periodico che si devono considerare sempre in costruzione e, quindi, non è data garanzia che il materiale contenuto sia corretto o funzionante. Tutto il materiale viene fornito così come è senza nessuna forma di
    garanzia sulla sua validità.
    L'autore non si ritiene responsabile per eventuali danni, diretti o indiretti, di qualsiasi natura che ne dovessero derivare a persone o a cose, per l'uso del materiale contenuto in queste pagine.
    L'uso delle informazioni o dei programmi, la costruzione e l'utilizzo dei circuiti presenti in queste pagine, avviene completamente a rischio e pericolo dell'utilizzatore.
    I circuiti presentati sono intesi per un uso hobbistico/didattico.
    Sono liberi l'utilizzo e l'autocostruzione per uso personale, ma non è consentita la costruzione per fini commerciali.
    Tutti i programmi e i files possono essere utilizzati liberamente per uso personale, ma non possono essere venduti o inclusi o diffusi in alcuna raccolta o pacchetto commerciale.
    Tutto il materiale contenuto in queste pagine può essere liberamente usato per uso personale ma non può essere copiato in altre pagine (se non citandone la fonte) o diffuso con altri mezzi, e in ogni caso
    non deve essere alterato o modificato.
    Tutti i marchi registrati appartengono ai rispettivi proprietari. Se involontariamente testi, immagini o altro, presenti in queste pagine, dovessero ledere qualche diritto, avvertitemi al più presto e
    provvederò alla completa rimozione.
    Inoltre tutto il materiale di terze parti che verrà consigliato è privo di interessi commerciali e rappresenta solamente un consiglio di un personale percorso formativo.
    E' gradita ogni segnalazione di errore o imprecisione.