Guida Completa all'Alimentazione e Utilizzo di Arduino Mega

Questa guida raccoglie tutte le risorse utili su Arduino, inclusi tutorial, esperimenti e lezioni fondamentali.

Introduzione ad Arduino Mega 2560

L’ Arduino Mega 2560 è una scheda a microcontrollore basata sull' ATmega2560. Essa contiene tutto il necessario per gestire il microcontrollore, è sufficiente collegarsi a un computer con un cavo USB o alimentarlo con un adattatore AC-DC o batteria per iniziare.

Il Mega 2560 è compatibile con la maggior parte degli schermi progettati per la Arduino Duemilanove o Diecimila. Il Mega 2560 è un aggiornamento che sostituisce il Mega Arduino.

Installazione del Software Arduino (IDE)

Per iniziare a lavorare con Arduino Mega, è necessario installare il software (IDE). Per questo tutorial dovrete avere una Arduino UNO, una Genuino UNO una Arduino Mega 2560, oppure una Genuino Mega 2560.

  1. Andate su questo sito internet e scaricate l’ultima versione del software.
  2. Potete scegliere tra Installer (.exe) e la versione nel formato Zip file. Vi consigliamo di selezionare il primo che istallerà direttamente tutto ciò che serve per utilizzare Arduino Software (IDE), compresi i driver.
  3. Fate doppio click sull’icona Arduino (arduino.exe) creata automaticamente dal processo di istallazione.

Il software istallato comprende già molti progetti di esempio. Il programma che avete istallato è in grado di programmare molti tipi di scheda della famiglia Arduino, è quindi necessario che voi selezioniate il modello che state utilizzato.

Leggi anche: Cosa Mangiare con le Emorroidi

Collegamento e Alimentazione

L’ Arduino Mega può essere alimentato attraverso la connessione USB o con un alimentatore esterno. L'alimentazione è selezionata automaticamente e può essere fornita sia da un adattatore AC - DC o da batteria.

Il collegamento USB con il PC è necessario per programmare la scheda e non solo per alimentarla. L’Arduino UNO e Mega prelevano automaticamente l’alimentazione dalla porta USB (anche con adattatore da parete) o dall’alimentatore esterno eventualmente collegato alla presa jack.

L'adattatore può essere collegato inserendo una spina con il positivo sul pin centrale nella presa di alimentazione della scheda e può avere una tensione compresa tra 6 e 20 volt. Oppure si può alimentare dall’ esterno con una batteria, direttamente collegata ai pin GND e Vin della scheda.

Se si fornisce meno di 7 V con l’ adattatore esterno, il pin 5V può fornire meno di cinque volt e la scheda potrebbe essere instabile. Se si utilizza più di 12V, il regolatore di tensione potrebbe surriscaldarsi e danneggiare la scheda. Per cui, l'intervallo raccomandato è di 7 a 12 volt.

Configurazione della Porta Seriale

La scheda Arduino comunica con il PC attraverso una porta seriale (tramite la USB) che viene creata al momento della istallazione dei driver; è necessario quindi selezionare la porta seriale associata alla vostra scheda tramite il menu Strumenti | Porta . Il nome sarà simile a COM3 o superiore in quanto normalmente COM1 eCOM2 sono riservati per le porte seriali hardware presenti nel PC.

Leggi anche: Gastrite: Cosa Non Mangiare

Caricamento di uno Sketch

A questo punto è tutto pronto e non vi resta che fare l’upload dello sketch di esempio nella vostra scheda Arduino. Per farlo vi basterà cliccare sul pulsante Carica presente in alto a sinistra del vostro Arduino Software (IDE). Aspettate qualche secondo, durante i quali dovreste vedere lampeggiare velocemente i LED RX e TX presenti sulla vostra scheda. Congratulazioni!!

Caratteristiche Tecniche e Pin di Arduino Mega 2560

Dispone di 54 ingressi o uscite digitali, (di cui 14 possono essere utilizzate come uscite PWM), 16 ingressi analogici, 4 UART (porte seriali hardware), un cristallo oscillatore a 16 MHz, una connessione USB, un jack di alimentazione, un connettore ICSP che fornisce un link a dispositivi esterni, e un pulsante di reset.

  • PIN 5V: E’ l'uscita dell’ alimentazione regolata utilizzata per alimentare il microcontrollore e altri componenti sulla scheda. Questa può essere ricavata da VIN attraverso il suo regolatore, o essere fornita dall’ USB.
  • PIN 3V3: Fornisce una tensione di 3.3 volt ed é ricavata da VIN attraverso un regolatore dedicato, può fornire una corrente massima di 50 mA.

Pin Digitali

Ciascuno dei 54 pin digitali sul Mega può essere usato come input o output, utilizzando le funzioni: pinMode (), digitalWrite () e digitalRead (). Operano a 5 volt. Ogni pin può fornire o ricevere un massimo di 40 mA ed è dotato di una resistenza di pull up (sconnessa di default) di 20-50 kOhm. Inoltre, alcuni pin hanno funzioni specializzate:

  • Serial: PIN0 (RX) PIN1 (TX), Serial1 PIN19 (RX) PIN18 (TX), Serial2 PIN17 (RX) PIN16 (TX), Serial3 PIN15 (RX) PIN14 (TX) . Utilizzando per ricevere (RX) e trasmettere (TX) dati seriali TTL.
  • Interrupt: PIN2 (interrupt 0), PIN3 (interrupt 1), PIN18 (interrupt 5), PIN19 (interrupt 4), PIN20 (interrupt 3), e PIN21 (interrupt 2). Questi pin possono essere configurati per attivare un interrupt su un livello basso, un fronte di salita o in discesa, o un cambiamento di valore.
  • SPI: PIN50 (MISO), PIN51 (MOSI), PIN52 (SCK), PIN53 (SS). Questi pin supportano la comunicazione SPI utilizzando la libreria SPI. I PIN SPI disponibili anche sul connettore ICSP, che è fisicamente compatibile con la, Uno e Duemilanove Diecimila.
  • LED: PIN13 Vi è un LED a bordo connesso al pin digitale 13. Quando il pin è a valore alto, il LED è acceso, quando il pin è a valore basso, il LED è spento.
  • I2C: PIN20 (SDA) e PIN21 (SCL). I2C Supporta (TWI) la comunicazione utilizzando la libreria Wire (documentazione sul sito web di cablaggio). Attenzione si noti che questi pin non si trovano nella stessa posizione del PIN I2C dell’ Arduino Duemilanove o Diecimila.

Ingressi Analogici

Il Mega2560 dispone di 16 ingressi analogici, ciascuno dei quali con risoluzione di10 bit (vale a dire 1.024 valori diversi). Ingresso tensione di riferimento per gli ingressi analogici. Portare questa linea a livello basso (GND) per resettare il microcontrollore.

Comunicazione

Arduino Mega2560 ha una serie di servizi per la comunicazione con un computer, un altro Arduino, o altri microcontrollori. L’ ATmega2560 fornisce quattro UART hardware per la comunicazione seriale a livello TTL (5V).

Leggi anche: Consigli Alimentari per l'Helicobacter

Tramite l’ ATmega8U2 (a bordo), le UART sono accessibili mediante la presa USB come porte COM virtuali, per il software sul computer (macchine con sistema operativo Windows avranno bisogno di un file. inf, mentre le macchine OSX e Linux riconosceranno la scheda come una porta COM automaticamente). Il software di Arduino include un monitor seriale che permette di inviare e ricevere semplici dati testuali verso la scheda a microprocessore.

Una libreria SoftwareSerial consente la comunicazione seriale su un qualsiasi PIN digitale del Mega2560. L’ ATmega2560 supporta anche I2C (TWI) e la comunicazione SPI. Il software di Arduino include una libreria Wire per semplificare l'uso del bus I2C (consultare la documentazione sul sito web di cablaggio per i dettagli).

Programmazione e Sketch

Il linguaggio di programmazione di Arduino (conosciuto come IDE, acronimo inglese di Integrated Development Environment ossia Ambiente di sviluppo integrato), che può essere scaricato liberamente dal sito ufficiale della piattaforma Arduino, è una versione semplificata dei linguaggi C e C++ con alcune funzioni aggiuntive per la gestione delle interfacce di input/output collegate alla scheda Arduino e che consentono al microcontrollore di dialogare con l’hardware del dispositivo progettato.

Il codice di programmazione o sketch viene scritto al PC nell’ambiente IDE e inviato tramite un collegamento USB alla scheda Arduino, dove viene eseguito per comandare il funzionamento del dispositivo esterno. In ogni sketch compare sempre la funzione setup, fondamentale per la configurazione iniziale del microcontrollore, e la funzione loop, ovvero il programma in sé, che si ripete in maniera ciclica.

Esempio:

void setup( ) { // istruzioni varie;}void loop( ) { // istruzioni da ripetere in modo ricorsivo;}

Affinché funzioni, lo sketch deve essere scritto rispettando le regole di sintassi del linguaggio di programmazione di Arduino. Le regole principali sono rappresentate dal simbolo // che consente di aggiungere un commento utile, dalle parentesi graffe { e } all'inizio e alla fine di una porzione di sketch, e dal punto e virgola ; dopo ogni istruzione.

Per memorizzare i dati, lo sketch distingue tra valori che possono cambiare durante l’esecuzione e valori che restano immutati, ricorrendo a variabili e costanti.

Esempio di variabile:

int valoreSensore = 0; // variabile valoreSensore a cui è assegnato il valore numero intero 0

Ma la parte fondamentale dello sketch è rappresentata dalle funzioni, che sono blocchi di codice a cui si assegna un nome che può essere utilizzato in varie parti dello sketch, e dalle strutture di controllo, che consentono di eseguire un’istruzione se si verifica una determinata condizione (struttura condizionale) o di ripetere più volte un gruppo di istruzioni (struttura iterativa). La struttura condizionale utilizza le istruzioni if ed else o l’istruzione switch, mentre la struttura iterativa utilizza le istruzioni for e while.

Riassumiamo con un esempio di funzione: digitalWrite(numero pin, valore) - imposta l'uscita del pin digitale su ALTO (5 V) o BASSO (0 V).

Bootloader e Reset Software

L’ ATmega2560 a bordo del Mega Arduino viene preprogrammato con un bootloader che ti permette di caricare il nuovo codice senza l'uso di un programmatore hardware esterno. Si comunica utilizzando il protocollo originale STK500. È anche possibile ignorare il bootloader e il programma del microcontrollore attraverso l'ICSP.

Piuttosto che l’ azionamento del pulsante di reset prima di un upload, l’ Arduino Mega2560 è progettato in modo che sia possibile azzerarlo dal software in esecuzione su un computer collegato. Una delle linee di flusso di controllo hardware (DTR) dell’ ATmega8U2 è collegato alla linea di reset dell’ ATmega2560 tramite un condensatore da 100 nanofarad.

Il Mega2560 ha una pista che può essere interrotta per disattivare il ripristino automatico. Le piazzole sono su entrambi i lati della pista e possono essere risaldati insieme per riattivarlo. E' etichettato come "RESET-EN".

Protezione da Sovracorrente

L’ Arduino Mega2560 ha un Polyfuse auto ripristinabile che protegge le porte USB del computer da cortocircuiti e sovracorrenti. Sebbene la maggior parte dei computer e provvista di protezioni interne, il fusibile fornisce un ulteriore livello di protezione.

Dimensioni Fisiche

La lunghezza e larghezza massima di PCB Mega2560 è di 4 e 2,1 pollici, rispettivamente, con il connettore USB e jack di alimentazione che si estende oltre la dimensione precedente. Ci sono tre fori per il fissaggio, é consigliabile fissarlo ad una superficie piana.

Compatibilità con gli Shield

Il Mega2560 è progettato per essere compatibile con la maggior parte degli shield progettati per l'Uno, o Diecimila Duemilanove. I pin digitali 0 a 13 (sono adiacenti a AREF e GND), gli ingressi analogici 0 a 5, le prese di tensione , e il connettore ICSP sono tutti in posizioni equivalenti.

Inoltre la UART principale (porta seriale) si trova sugli stessi pin (0 e 1), gli interrupt esterni 0 e 1 (pin 2 e 3 rispettivamente). SPI è disponibile tramite il connettore ICSP sia sul Mega2560 e Duemilanove / Diecimila. Si prega di notare che I2C non si trova sugli stessi pin del Mega (20 e 21) come la Duemilanove / Diecimila (ingressi analogici 4 e 5).

Comunicazione tra Schede Arduino

Collegamento tra una scheda Arduino Mega2560 e una Arduino 2009 tramite Bus seriale 485. Inizio della sfida, fare si che schede a micro processore di case produttrici diverse possano liberamente scambiarsi dati ed informazioni tra di loro.

Il primo passo è stato quello di realizzare una tabella per i codici operativi.

Lunghezza minima pari a 4 byte in caso di trasmissione di solo codice operativo senza dati ausiliari.

E con questo vi ho esposto le fondamenta per realizzare una comunicazione tra più schede sullo stesso BUS. Per realizzare un progetto simile bisogna da prima conoscere molto bene il funzionamento delle schede a microprocessore che faranno capo al BUS.

Gestione delle Risposte

  • Primo Caso - Il dispositivo è il destinatario del pacchetto ed il pacchetto viene riconosciuto valido.
  • Secondo Caso - Il dispositivo è il destinatario del pacchetto ed il pacchetto arriva incompleto.
  • Terzo Caso - Il dispositivo è il destinatario del pacchetto ed il pacchetto arriva completo ma il codice operativo è corrotto.

Errori di Comunicazione

  1. Secondo Caso - non perviene nessuna risposta (causa non nota, potrebbe essere un errore di trasmissione che ha corrotto l'indirizzo del destinatario o un'avaria al dispositivo) si reitera la richiesta per un numero limitato di volte per evitare lo stallo del sistema.
  2. Terzo Caso - Arriva correttamente la richiesta al dispositivo ma il codice operativo non rientra nell'insieme dei codici validi. Il dispositivo risponde con un codice particolare (BAD CODE) indicante questa situazione.
  3. Quarto Caso - Il pacchetto con la richiesta arriva incompleto. Il dispositivo risponde con un codice di TIMEOUT indicante questa situazione. Si reitera la richiesta.

tags: #alimentazione #arduino #mega #guida

Scroll to Top