Configurazione delle schede Arduino quando ci si connette a un PC per la prima volta. Come realizzare una casa intelligente su Arduino con le tue mani Alimentatore Mega 2560

Arduino Mega è costruito sul microcontrollore ATmega2560 (). La scheda dispone di 54 ingressi/uscite digitali (14 dei quali possono essere utilizzati come uscite PWM), 16 ingressi analogici, 4 porte seriali UART, un oscillatore a cristallo da 16 MHz, un connettore USB, un connettore di alimentazione, un connettore ICSP e un reset pulsante. Per funzionare è necessario collegare la piattaforma al computer tramite un cavo USB oppure alimentarla tramite un adattatore AC/DC o una batteria. Arduino Mega 2560 è compatibile con tutte le schede di espansione progettate per piattaforme Duemilanove o.

Schema e dati iniziali

Brevi caratteristiche
Microcontrollore ATmega2560
Tensione operativa 5 V
Tensione in ingresso (consigliata) 7-12V
Tensione in ingresso (limite) 6-20 V
Ingressi/uscite digitali 54 (di cui 14 possono funzionare anche come uscite PWM)
Ingressi analogici 16
Corrente CC tramite ingresso/uscita 40mA
Corrente costante per uscita 3,3 V 50mA
Memoria flash 256 KB (di cui 8 KB utilizzati per il bootloader)
RAM 8KB
Memoria non volatile 4KB
Frequenza dell'orologio 16 MHz
Nutrizione

Arduino Mega può essere alimentato tramite connessione USB o da una fonte di alimentazione esterna. La fonte di alimentazione viene selezionata automaticamente.

L'alimentazione esterna (non USB) può essere fornita tramite un convertitore di tensione CA/CC (alimentatore) o una batteria. Il convertitore di tensione è collegato tramite un jack da 2,1 mm con polo positivo sul pin centrale. I fili della batteria sono collegati ai pin Gnd e Vin del connettore di alimentazione (POWER).

La piattaforma può funzionare con alimentazione esterna da 6 V a 20 V. Quando la tensione di alimentazione è inferiore a 7 V, il pin da 5 V potrebbe emettere meno di 5 V e la piattaforma potrebbe diventare instabile. Se si utilizza una tensione superiore a 12 V, il regolatore di tensione potrebbe surriscaldarsi e danneggiare la scheda. L'intervallo consigliato è compreso tra 7 V e 12 V.

La scheda Mega2560, a differenza delle versioni precedenti delle schede, non utilizza un microcontrollore USB FTDI. Per lo scambio di dati tramite USB viene utilizzato un microcontrollore Atmega8U2, programmato come convertitore da USB a seriale.

Pin di alimentazione:

  • VIN. L'ingresso viene utilizzato per fornire alimentazione da una fonte esterna (in assenza di 5 V dal connettore USB o altra fonte di alimentazione regolata). La tensione di alimentazione viene fornita attraverso questo pin. Se l'alimentazione viene fornita al connettore da 2,1 mm, è possibile alimentare questo ingresso.
  • 5 V. Una fonte di tensione regolata utilizzata per alimentare il microcontrollore e i componenti di bordo. L'alimentazione può essere fornita dal pin VIN tramite un regolatore di tensione o da un connettore USB o altra sorgente regolata da 5 V.
  • 3V3. La tensione del pin da 3,3 V è generata dal chip FTDI sulla piattaforma. Consumo massimo di corrente 50 mA.
  • GND. Terminali di messa a terra.
Memoria

Il microcontrollore ATmega2560 ha: 256 kB di memoria flash per la memorizzazione del codice del programma (4 kB vengono utilizzati per memorizzare il bootloader), 8 kB di RAM e 4 kB di EEPROM (che viene letto e scritto utilizzando la libreria EEPROM).

Ingressi e uscite

Ciascuno dei 54 pin digitali di Mega può essere configurato come ingresso o uscita utilizzando le funzioni pinMode() , digitalWrite() e digitalRead(). I pin funzionano con una tensione di 5 V. Ciascun pin ha un resistore di carico (standard disabilitato) di 20-50 kOhm e può far passare fino a 40 mA. Alcuni pin hanno funzioni speciali:

  • Bus seriale: 0 (RX) e 1 (TX); Bus seriale 1: 19 (RX) e 18 (TX); Bus seriale 2: 17 (RX) e 16 (TX); Bus seriale 3: 15 (RX) e 14 (TX). I pin vengono utilizzati per ricevere (RX) e trasmettere (TX) dati TTL. I pin 0 e 1 sono collegati ai pin corrispondenti del chip del bus seriale ATmega8U2.
  • Interrupt esterno: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3) e 21 (interrupt 2). Questi pin possono essere configurati per attivare un'interruzione su un valore basso, su un fronte di salita o di discesa o quando un valore cambia. Per i dettagli vedere la funzione attachInterrupt().
  • PWM: da 2 a 13 e 44-46. Entrambi i pin forniscono PWM a 8 bit utilizzando la funzione analogWrite().
  • SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). La comunicazione SPI viene effettuata tramite questi pin, ad esempio utilizzando la libreria SPI. Inoltre, i pin SPI possono essere emessi sul blocco ICSP, che è compatibile con le piattaforme Uno, Duemilanove e Diecimila.
  • LED: 13. LED integrato collegato al pin digitale 13. Se il valore del pin è alto, il LED è acceso.
  • I2C: 20 (SDA) e 21 (SCL). I pin forniscono la comunicazione I2C (TWI). Per realizzarlo viene utilizzata la libreria Wire (informazioni sul sito Wiring). La disposizione dei pin sulla piattaforma Mega non corrisponde a quella di Duemilanove o Diecimila.

La piattaforma Mega2560 dispone di 16 ingressi analogici, ciascuno con una risoluzione di 10 bit (ovvero, può assumere 1024 valori diversi). I pin standard hanno un campo di misura fino a 5 V rispetto alla terra, tuttavia è possibile modificare il limite superiore utilizzando il pin AREF e la funzione analogReference().

Coppia aggiuntiva di perni della piattaforma:

  • AREF. Tensione di riferimento per ingressi analogici. Utilizzato con la funzione analogReference().
  • Ripristina. Un segnale basso sul pin ripristina il microcontrollore. Tipicamente utilizzato per collegare un pulsante di reset su una scheda di espansione, che blocca l'accesso al pulsante sulla scheda Arduino stessa.
Connessione

La piattaforma Arduino Mega2560 contiene diversi dispositivi per comunicare con un computer, altri dispositivi Arduino o microcontrollori. ATmega2560 supporta 4 porte dati seriali UART per TTL. Il chip ATmega8U2 installato sulla scheda instrada una delle interfacce tramite USB, fornendo una porta COM virtuale ai programmi sul computer (le macchine Windows richiedono un file .inf per funzionare correttamente con una porta COM virtuale; i sistemi basati su OSX e Linux riconoscono automaticamente la porta COM). L'utilità Serial Monitor dell'ambiente di sviluppo Arduino consente di inviare e ricevere dati di testo quando si è connessi alla piattaforma. I LED RX e TX sulla piattaforma lampeggeranno quando i dati vengono trasmessi tramite il chip ATmega8U2 e la connessione USB (ma non quando si utilizza la trasmissione seriale tramite i pin 0 e 1).

Programmazione

Il microcontrollore ATmega2560 viene fornito con un bootloader preimpostato, che semplifica la scrittura di nuovi programmi senza l'uso di programmatori esterni. La comunicazione viene effettuata utilizzando il protocollo originale STK500.

È possibile non utilizzare un bootloader e programmare il microcontrollore tramite i pin del blocco ICSP (programmazione in-circuit). è in questo manuale.

Il codice firmware per il controller ATmega8U2 è disponibile per il download gratuito. Il controller ATmega8U2 dispone di un proprio bootloader DFU, attivabile chiudendo il jumper sul retro della scheda (accanto alla mappa dell'Italia) e riavviando il controller. Per scrivere un nuovo firmware è possibile utilizzare FLIP di Atmel (in Windows) o (in Mac OS X o Linux) oppure riscrivere il firmware con un programmatore esterno utilizzando l'input dell'ISP.

Riavvio automatico (soft).

Mega è progettato in modo tale che prima di scrivere un nuovo codice, il riavvio viene eseguito dal programma stesso e non premendo un pulsante sulla piattaforma. Una delle linee di controllo del flusso di dati (DTR) ATmega8U2 è collegata al pin di ripristino del microcontrollore ATmega2560 tramite un condensatore da 100 nF. L'attivazione di questa linea, ad es. l'invio di un segnale di basso livello riavvia il microcontrollore. Il programma Arduino, utilizzando questa funzione, carica il codice con un clic del pulsante Carica nell'ambiente di programmazione stesso. Il segnale di basso livello sulla linea DTR è coordinato con l'inizio della registrazione del codice, riducendo il timeout del bootloader.

La funzione ha un'altra applicazione. Il Mega2560 si riavvia ogni volta che viene collegato al programma Arduino su un computer Mac X o Linux (tramite USB). Per il mezzo secondo successivo al riavvio, il bootloader funziona. Durante la programmazione i primi byte del codice vengono ritardati per evitare che la piattaforma riceva dati errati (tutto tranne il codice del nuovo programma). Se stai eseguendo un debug una tantum di uno schizzo scritto nella piattaforma o inserendo altri dati la prima volta che lo esegui, devi assicurarti che il programma sul tuo computer attenda un secondo prima di trasferire i dati.

Su Mega2560 è possibile disabilitare la linea di riavvio automatico interrompendo la linea corrispondente. I contatti del chip su entrambe le estremità della linea possono quindi essere collegati a scopo di ripristino. La riga è contrassegnata con "RESET-EN". È anche possibile disabilitare il riavvio automatico collegando una resistenza da 110 Ohm tra la sorgente da 5 V e questa linea.

Protezione corrente del connettore USB

Arduino Mega2560 è dotato di un fusibile ripristinabile integrato che protegge la porta USB del computer da cortocircuiti e correnti di sovracorrente. Sebbene quasi tutti i computer abbiano una protezione simile, questo fusibile costituisce comunque una barriera aggiuntiva. Il fusibile interrompe automaticamente lo scambio di dati quando una corrente superiore a 500 mA passa attraverso la porta USB.

Caratteristiche fisiche e compatibilità con schede di espansione

La lunghezza e la larghezza del PCB Mega2560 sono rispettivamente 10,2 e 5,3 cm. Il connettore USB e il connettore di alimentazione superano queste dimensioni. Tre fori nella scheda ne consentono il montaggio su una superficie. La distanza tra i pin digitali 7 e 8 è 0,4 cm, mentre tra gli altri pin è 0,25 cm.

Arduino Mega2560 è compatibile con tutte le schede di espansione progettate per le piattaforme Uno, Duemilanove o Diecimila. La disposizione dei pin 0 - 13 (e adiacenti AREF e GND), ingressi analogici 0 - 5, connettore di alimentazione, blocco ICSP, porta seriale UART (pin 0 e 1) e interrupt esterno 0 e 1 (pin 2 e 3) su Mega corrisponde alla posizione sulle piattaforme di cui sopra. La comunicazione SPI può avvenire tramite il blocco ICSP, sia sulle piattaforme Duemilanove/Diecimila che Mega2560. Tuttavia, la disposizione dei pin (20 e 21) della comunicazione I2C sulla piattaforma Mega non corrisponde alla disposizione dei pin (ingressi analogici 4 e 5) su Duemilanove/Diecimila.

La scheda di sviluppo Arduino Mega 2560 è costruita sul microcontrollore ATmega2560. Dispone di 54 pin I/O digitali (15 dei quali possono essere utilizzati come uscite PWM), 16 ingressi analogici, 4 UART (porte seriali hardware), cristallo da 16 MHz, connessione USB, jack di alimentazione, header ICSP e pulsante di reset. Contiene tutto il necessario per lavorare con il microcontrollore; Per iniziare, collegalo semplicemente al computer utilizzando un cavo USB o alimentalo tramite un alimentatore CA/CC o una batteria. Arduino Mega 2560 è compatibile con la maggior parte delle schede di espansione progettate per Arduino Uno e Arduino Duemilanove.

Arduino Mega 2560 è un sostituto aggiornato di Arduino Mega.

Specifiche

MicrocontrolloreATMega2560
Tensione operativa5 V
Tensione in ingresso (consigliata)7-12 V
Tensione in ingresso (limite)6-20 V
Pin di ingresso/uscita digitale54 (di cui 15 utilizzabili come uscite PWM)
Pin di ingresso analogico16
Corrente CC attraverso i terminali di ingresso/uscita20 mA
Corrente CC tramite pin da 3,3 V50mA
Memoria flash256 KB, di cui 8 KB utilizzati dal bootloader
RAM SRAM8KB
Memoria EEPROM non volatile4KB
Frequenza dell'orologio16 MHz
Lunghezza101,52 mm
Larghezza53,3 mm
Peso37 g

Documentazione

Schemi, layout della scheda, dimensioni

Arduino Mega 2560 è una piattaforma hardware aperta. Puoi creare la tua scheda utilizzando i seguenti file:

Programmazione

Arduino Mega 2560 è programmato utilizzando l'IDE Arduino.

L'ATmega2560 su Arduino Mega 2560 viene fornito con un bootloader pre-flash, che ti consentirà di caricare nuovo codice nel controller senza la necessità di programmatori aggiuntivi.

Puoi anche bypassare il bootloader e eseguire il flashing del microcontrollore tramite l'intestazione ICSP utilizzando un Arduino ICSP o equivalente.

Avvertimento

L'Arduino Mega 2560 è dotato di un fusibile autoripristinante che protegge le porte USB del computer da cortocircuiti e sovracorrente. Sebbene la maggior parte dei computer fornisca una propria protezione interna, questo fusibile fornisce un ulteriore livello di protezione. Se la corrente attraverso la porta USB supera i 500 mA, il fusibile interrompe automaticamente la connessione finché il cortocircuito o il sovraccarico non vengono corretti.

Nutrizione

L'Arduino Mega 2560 può essere alimentato tramite una connessione USB o da una fonte di alimentazione esterna. La fonte di alimentazione viene selezionata automaticamente.

L'alimentazione esterna (non USB) può essere fornita da un adattatore CA/CC o da una batteria. L'adattatore può essere collegato utilizzando un jack di alimentazione da 2,1 mm con un pin positivo al centro. L'alimentazione della batteria può essere fornita ai pin Vin e GND del connettore POWER.

La scheda può funzionare con alimentazione esterna da 6 a 20 volt. Se l'alimentazione è inferiore a 7 volt, la potenza sul pin da 5 V potrebbe essere inferiore a 5 volt e la scheda potrebbe diventare instabile. Se viene utilizzata un'alimentazione superiore a 12 V, il regolatore di tensione potrebbe surriscaldarsi e danneggiare la scheda. Si consiglia di utilizzare una tensione di alimentazione compresa tra 7 e 12 volt.

Pin di alimentazione:

  • Vin. Ingresso alimentazione scheda quando si utilizza una fonte di alimentazione esterna (utilizzato quando non sono presenti 5 volt da una connessione USB o altra fonte di alimentazione regolata). È possibile fornire alimentazione tramite questo pin oppure, se la tensione di alimentazione viene fornita tramite il connettore di alimentazione, questa tensione di 5 V sarà disponibile anche su questo pin.
  • 5 V. Da questo pin si può prelevare la tensione regolata di 5V dall'uscita del regolatore presente sulla scheda. La scheda può essere alimentata tramite il connettore di alimentazione (7-12V), tramite il connettore USB (5V) o tramite il pin Vin sulla scheda (7-12V). L'applicazione della tensione attraverso i pin da 5 V e 3,3 V bypassa il regolatore e può danneggiare la scheda. Pertanto si sconsiglia di alimentare la scheda tramite questi pin.
  • 3V3. Alimentazione 3,3 volt fornita dal regolatore presente sulla scheda. Corrente massima 50 mA.
  • GND. Conclusioni della terra.
  • IOREF. Questo pin fornisce la tensione di riferimento con cui funziona il microcontrollore. Se configurata correttamente, la scheda di espansione può leggere la tensione sul pin IOREF e selezionare un'alimentazione adeguata o convertire i buffer di uscita per funzionare a 5 V o 3,3 V.

Memoria

L'ATmega2560 ha 256 kilobyte di memoria flash per la memorizzazione del codice del programma (di cui 8 kilobyte utilizzati dal bootloader), 8 kilobyte di SRAM e 4 kilobyte di EEPROM (che può essere letto e scritto utilizzando la libreria EEPROM).

Ingressi e uscite

Tabella di corrispondenza tra le porte ATmega2560 e i pin Arduino Mega 2560
Numero pin Atmega2560Nome del pin ATmega2560Pin corrispondente su Arduino Mega 2560
1 PG5 (OC0B)Pin digitale 4 (PWM)
2 PE0 (RXD0/PCINT8)Pin digitale 0 (RX0)
3 PE1 (TXD0)Pin digitale 1 (TX0)
4 PE2 (XCK0/AIN0)
5 PE3 (OC3A/AIN1)Pin digitale 5 (PWM)
6 PE4 (OC3B/INT4)Pin digitale 2 (PWM)
7 PE5 (OC3C/INT5)Pin digitale 3 (PWM)
8 PE6 (T3/INT6)
9 PE7 (CLKO/ICP3/INT7)
10 VCCVCC
11 GNDGND
12 PH0 (RXD2)Pin digitale 17 (RX2)
13 PH1 (TXD2)Pin digitale 16 (TX2)
14 PH2 (XCK2)
15 PH3 (OC4A)Pin digitale 6 (PWM)
16 PH4 (OC4B)Pin digitale 7 (PWM)
17 PH5 (OC4C)Pin digitale 8 (PWM)
18 PH6 (OC2B)Pin digitale 9 (PWM)
19 PB0 (SS/PCINT0)Pin digitale 53 (SS)
20 PB1 (SCK/PCINT1)Pin digitale 52 (SCK)
21 PB2 (MOSI/PCINT2)Pin digitale 51 (MOSI)
22 PB3 (MISO/PCINT3)Uscita digitale 50 (MISO)
23 PB4 (OC2A/PCINT4)Pin digitale 10 (PWM)
24 PB5 (OC1A/PCINT5)Pin digitale 11 (PWM)
25 PB6 (OC1B/PCINT6)Pin digitale 12 (PWM)
26 PB7 (OC0A/OC1C/PCINT7)Pin digitale 13 (PWM)
27 PH7 (T4)
28 PG3 (TOSC2)
29 PG4 (TOSC1)
30 RIPRISTINARIPRISTINA
31 VCCVCC
32 GNDGND
33 XTAL2XTAL2
34 XTAL1XTAL1
35 PL0 (ICP4)Uscita digitale 49
36 PL1 (ICP5)Uscita digitale 48
37 PL2(T5)Uscita digitale 47
38 PL3 (OC5A)Pin digitale 46 (PWM)
39 PL4 (OC5B)Pin digitale 45 (PWM)
40 PL5 (OC5C)Pin digitale 44 (PWM)
41 PL6Uscita digitale 43
42 PL7Uscita digitale 42
43 PD0 (SCL/INT0)Pin digitale 21 (SCL)
44 PD1 (SDA/INT1)Pin digitale 20 (SDA)
45 PD2 (RXDI/INT2)Pin digitale 19 (RX1)
46 PD3 (TXD1/INT3)Pin digitale 18 (TX1)
47 PD4 (ICP1)
48 PD5 (XCK1)
49 PD6 (T1)
50 PD7 (T0)Uscita digitale 38
51 PG0 (WR)Uscita digitale 41
52 PG1 (RD)Uscita digitale 40
53 PC0(A8)Uscita digitale 37
54 PC1 (A9)Uscita digitale 36
55 PC2 (A10)Uscita digitale 35
56 PC3 (A11)Uscita digitale 34
57 PC4 (A12)Uscita digitale 33
58 PC5 (A13)Uscita digitale 32
59 PC6 (A14)Uscita digitale 31
60 PC7 (A15)Uscita digitale 30
61 VCCVCC
62 GNDGND
63 PJ0 (RXD3/PCINT9)Pin digitale 15 (RX3)
64 PJ1 (TXD3/PCINT10)Pin digitale 14 (TX3)
65 PJ2 (XCK3/PCINT11)
66 PJ3 (PCINT12)
67 PJ4 (PCINT13)
68 PJ5 (PCINT14)
69 PJ6 (PCINT15)
70 PG2(ALE)Uscita digitale 39
71 PA7 (AD7)Uscita digitale 29
72 PA6 (AD6)Uscita digitale 28
73 PA5 (AD5)Uscita digitale 27
74 PA4 (AD4)Uscita digitale 26
75 PA3 (AD3)Uscita digitale 25
76 PA2(AD2)Uscita digitale 24
77 PA1 (AD1)Uscita digitale 23
78 PA0 (AD0)Uscita digitale 22
79 PJ7
80 VCCVCC
81 GNDGND
82 PK7 (ADC15/PCINT23)Pin analogico 15
83 PK6 (ADC14/PCINT22)Pin analogico 14
84 PK5 (ADC13/PCINT21)Pin analogico 13
85 PK4 (ADC12/PCINT20)Pin analogico 12
86 PK3 (ADC11/PCINT19)Pin analogico 11
87 PK2 (ADC10/PCINT18)Pin analogico 10
88 PK1 (ADC9/PCINT17)Pin analogico 9
89 PK0 (ADC8/PCINT16)Pin analogico 8
90 PF7 (ADC7)Pin analogico 7
91 PF6 (ADC6)Pin analogico 6
92 PF5 (ADC5/TMS)Pin analogico 5
93 PF4 (ADC4/TMK)Pin analogico 4
94 PF3 (ADC3)Pin analogico 3
95 PF2 (ADC2)Pin analogico 2
96 PF1 (ADC1)Pin analogico 1
97 PF0 (ADC0)Pin analogico 0
98 AREFTensione di riferimento dell'ADC
99 GNDGND
100 AVCCVCC

Ciascuno dei 54 pin digitali di Arduino Mega può essere utilizzato sia come input che come output utilizzando le funzioni pinMode(), digitalWrite() e digitalRead. Funzionano con una tensione di 5 volt. Ciascun pin può trasportare una corrente di 20 mA (consigliato) e dispone di un resistore pull-up interno (disabilitato per impostazione predefinita) di 20-50 kΩ. La corrente non deve superare il valore massimo di 40 mA per evitare di danneggiare il microcontrollore.

Inoltre, alcuni pin hanno funzioni speciali:

  • porta seriale: 0 (RX) e 1 (TX); porta seriale 1: 19 (RX) e 18 (TX); porta seriale 2: 17 (RX) e 16 (TX); porta seriale 3: 15 (RX) e 14 (TX). I pin vengono utilizzati per ricevere (RX) e trasmettere (TX) dati seriali a livelli TTL. I pin 0 e 1 sono collegati anche ai corrispondenti pin del convertitore USB-TTL sull'ATmega16U2;
  • interrupt esterni: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3) e 21 (interrupt 2). Questi pin possono essere configurati per attivare un'interruzione sul limite o sulla caduta di un impulso o su una modifica del livello del pin. Vedi Lavorare con gli interrupt su Arduino per maggiori dettagli;
  • PWM: pin da 2 a 13 e da 44 a 46. Fornire un output PWM a 8 bit utilizzando la funzione analogWrite();
  • SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Questi pin supportano la comunicazione SPI utilizzando la libreria appropriata. I pin SPI sono collegati anche all'header ICSP, che è fisicamente compatibile con le schede Arduino/Genuino Uno e le vecchie schede Arduino Duemilanove e Diecimila;
  • LED: 13. Il LED integrato è collegato al pin digitale 13. Quando il livello dei pin è alto, il LED si accende, quando il livello dei pin è basso, si spegne;
  • TWI: 20 (SDA) e 21 (SCL). Supporta la comunicazione TWI utilizzando la libreria Wire. Tieni presente che questi pin non sono gli stessi pin delle vecchie schede Arduino Duemilanove e Diecimila.

L'Arduino Mega 2560 ha 16 ingressi analogici, ciascuno dei quali fornisce una risoluzione di 10 bit (ovvero 1024 valori diversi). Per impostazione predefinita misurano la tensione da 0 a 5 volt, sebbene sia possibile modificare il limite superiore del loro intervallo utilizzando il pin AREF e la funzione analogReference(). E un altro paio di spille sul tabellone:

  • AREF. Tensione di riferimento per ingressi analogici. Utilizzato insieme a analogReference() ;
  • Ripristina. Un livello basso su questo pin provoca il riavvio del microcontrollore. Tipicamente utilizzato per aggiungere un pulsante di reset sulle schede di espansione, bloccando l'accesso al pulsante di reset sulla scheda Arduino stessa.

Connessione

La scheda Arduino Mega 2560 ha una serie di funzionalità per comunicare con un computer, con un'altra scheda o con altri microcontrollori. L'ATmega2560 fornisce quattro porte UART hardware per la comunicazione seriale a livelli TTL (5 volt). L'ATmega16U2 (ATmega8U2 sulle schede versione 1 e 2) sulla scheda collega una di queste porte UART a USB e fornisce una porta COM virtuale per la comunicazione con il software sul computer (le macchine Windows avranno bisogno di un file inf, le macchine OSX e Linux lo rileveranno scheda come porta COM, automaticamente). L'IDE Arduino include un monitor della porta seriale che consente di inviare e ricevere semplici dati di testo dalla scheda. I LED RX e TX sulla scheda si accendono quando i dati vengono trasferiti tramite il chip ATmega8U2/ATmega16U2 e la connessione USB (ma non quando i dati vengono trasferiti tramite i pin 0 e 1 della porta seriale).

La libreria SoftwareSerial consente di organizzare la comunicazione seriale attraverso qualsiasi pin digitale dell'Arduino Mega 2560.

Arduino Mega 2560 supporta anche la comunicazione tramite TWI e SPI. L'IDE di Arduino include una libreria Wire per semplificare l'utilizzo del bus TWI. Per la comunicazione tramite SPI viene utilizzata la libreria SPI.

Negozi e prezzi

Prezzi per Arduino Mega 2560
Prodotto in negozioNumero di pezzi inclusiPrezzoCosto stimato per 1 pezzo.
1 406,51 sfregamenti. /6,01 USD
(al 25 novembre 2018)
406,51 sfregamenti. /6,01 USD
Arduino Mega 2560 su AliExpress1 451,83 sfregamenti. /6,68 USD
(al 1 ottobre 2016)
451,83 sfregamenti. /6,68 USD
Arduino Mega 2560 su AliExpress1 486,32 sfregamenti. /7,19 USD
(al 25 novembre 2018)
486,32 sfregamenti. /7,19 USD
Arduino Mega 2560 su AliExpress1 502,56 sfregamenti. /7,43 USD
(al 25 novembre 2018)

Quando sviluppi progetti su Arduino, prima o poi incontrerai due problemi:

  • la necessità di ridurre al minimo lo spazio;
  • mancanza di porte I/O funzionali.

Il primo problema può essere risolto semplicemente - con l'aiuto di schede in miniatura: nano, mini, pro mini, micro, digispark attiny 85. Se la scheda nano e altre mini-schede ripetono la funzionalità di un normale Arduino UNO, avendo atmega328/168 a bordo, poi schede con Attiny85 e it. Questi sono adatti a progetti semplici con funzionalità minime.

La seconda domanda si risolve con due metodi:

  1. Espansione del numero di pin tramite registri a scorrimento, tipo 74HC595. Sfortunatamente, questo metodo non consente l'uso del PWM per i pin estesi e funziona solo per i segnali di uscita.
  2. Integrazione di più schede in un unico sistema e loro comunicazione tramite diverse interfacce di scambio dati; tuttavia, questo metodo è piuttosto complicato e non sempre giustificato.

Puoi risolvere questo problema in modo diverso: qui una grande scheda Arduino mega 2560 o il suo analogo con supporto host USB - ADK Arduino - verranno in soccorso, ma prima le cose.

Maggiori informazioni su Arduino su Atmega 2560

Cominciamo con l'apparenza. Dall'immagine sopra è ovvio che la scheda Arduino mega 2560 r3 (la versione attuale al momento in cui scrivo) è lunga il doppio della UNO. Dispone di 54 porte I/O, 15 delle quali possono funzionare come sorgente di segnale PWM per controllare in modo fluido potenza, corrente, velocità, luminosità, in generale, tutto ciò che può essere regolato utilizzando la modulazione di larghezza di impulso, inoltre 16 porte analogiche possono elaborare segnali da sensori ed essere utilizzato come uscita digitale.

Per la comunicazione tra diversi dispositivi sono previste fino a 4 interfacce UART, il loro ruolo è svolto dai pin 0, 1, 14-19. Una delle porte è diretta all'USB tramite il microcontrollore ATmega8U2: qui viene utilizzato al posto del controller USB-TTL tipico delle schede più giovani e il suo firmware è disponibile per il download gratuito. Le tecnologie SPI e I2C sono fornite per la comunicazione con vari display e altri attuatori.

Specifiche

  • Microcontrollore: ATmega2560
  • Frequenza dell'orologio: 16 MHz
  • Voltaggio: 5V
  • Voltaggio limite: 5-20 V
  • Tensione di alimentazione consigliata: 7-12 V
  • Massimo. corrente da un'uscita: 40 mA
  • Pin digitali: 54
  • Pin digitali con supporto PWM: 15
  • Ingressi analogici: 16
  • Memoria flash: 256 KB (8 di essi sono utilizzati dal bootloader)
  • SRAM: 8KB
  • EEPROM: 4KB

Piedinatura della scheda

Di seguito sono riportate la piedinatura e le assegnazioni dei pin: le informazioni più importanti per lo sviluppatore.

Le dimensioni della scheda Arduino MEGA 2560 sono 10,16 cm per 5,3 cm, contro UNO – 6,9 cm per 5,3. Da un lato la scheda si è rivelata un po' grande, dall'altro le dimensioni maggiorate consentono di lavorare comodamente con un potente microcontrollore.

Per ulteriori immagini e un diagramma schematico di Mega, consultare il nostro sito Web all'indirizzo. La più comune ora è la scheda Arduino mega 2560 rev3. Rispetto alle prime revisioni, sono stati apportati numerosi miglioramenti relativi al riavvio della scheda durante il firmware, all'affidabilità del caricamento dei dati e altri aggiornamenti minori.

Chipboard Atmega2560 Arduino MEGA 2560

Atmega2560 è un chip molto potente. Lo sviluppatore ha a disposizione ben 256 kB di Flash (in Arduino 8 kB sono occupati dal bootloader), 8 kB di SRAM e 1 kB di EEPROM. Arduino con un tale cuore funziona a una frequenza di 16 MHz, tuttavia, come le schede di fascia bassa: UNO e molte altre.

La scheda può essere alimentata da un connettore di alimentazione rotondo da 2,1 mm con un segno più al centro, oppure da una porta USB, la sorgente viene selezionata automaticamente. Vale la pena notare che con una tensione di alimentazione di 7-20 volt, la scheda funziona perfettamente, ma con meno, ad esempio, 5 volt, possono verificarsi situazioni con funzionamento instabile. Per favore prendere nota.

Piedinatura della CPU

Di seguito lo schema della piedinatura del chip, per ingrandire cliccare sull'immagine:

Come fonte sono perfetti sia i convertitori AC/DC di rete, ad esempio per una striscia LED (12 V), sia batterie ricaricabili o una cella della batteria agli ioni di litio con convertitore step-up alla tensione richiesta i valori sono adatti.

Progetti basati su board

L'utilizzo di Arduino MEGA 2560 ha reso possibile realizzare un sistema di microcontrollore veramente grande e complesso. Ad esempio, esiste un progetto molto interessante che ha ricevuto supporto nella Federazione Russa e si sta sviluppando attivamente: si tratta di Arduino Mega Server. Il microcontrollore è così potente che può diventare un intero server per siti Internet o cloud.

L'unica limitazione su un server di questo tipo è la quantità di memoria, poiché le schede di memoria micro SD possono essere utilizzate come memoria ed Ethernet supporta una quantità di memoria massima di 32 GB.

Arduino Mega Server è un progetto serio con ampie funzionalità che supporta tutte le tecnologie di cui un webmaster ha bisogno:

  • HTML;
  • Javascript e altri.

Nelle pagine che crei, e il loro numero è limitato solo dalle dimensioni e dalla capacità della scheda di memoria, puoi monitorare lo stato del controller in tempo reale e controllarne gli ingressi e le uscite utilizzando i pulsanti sull'interfaccia web del sito. Il supporto per molte librerie Javascript renderà l'interfaccia bella e moderna.

Utilizzando Arduino Mega Server, puoi realizzare potenti sistemi di controllo automatizzato ramificato con controllo remoto e monitoraggio di tutti i parametri o archiviazione sul cloud domestico. Nella figura sotto vedi uno screenshot della pagina di controllo della casa intelligente dal sito ufficiale del progetto.

Ecco un piccolo elenco di progetti realizzati con Arduino Mega Server:

  1. La casa intelligente è già diventata un classico campo di applicazione per Arduino.
  2. Locale caldaia automatizzato.
  3. Coltivazione in serra con supporto automatico dell'umidità del suolo e della composizione salina.
  4. Stazione metereologica.
  5. E altro ancora.

Ottieni un sistema operativo per lavorare con Arduino da un computer o smartphone tramite un'interfaccia web. Tuttavia, vale la pena realizzare le capacità e la potenza del microcontrollore Arduino mega 2560, sebbene la scheda stessa sia più potente dei suoi predecessori, ma per gli standard moderni è moralmente obsoleta. Questi sono gli stessi 8 bit e 8 KB di RAM. La velocità con cui scarichi i dati dal server sarà ridotta, ma sarà sufficiente per le pagine web.

Kit di montaggio del server Arduino

Per costruire un progetto Arduino Mega Server, è necessario disporre di almeno tre componenti:

  1. Scheda Arduino Mega
  2. Ethernet schermata per Arduino.
  3. Scheda di memoria micro SD.

I restanti componenti vengono reclutati in base alle funzioni assegnate al server. Per familiarizzare con tutte le sfumature e la documentazione tecnica, puoi scaricare tutti i materiali e le librerie necessarie dal sito ufficiale del progetto hi-lab.ru.

Nel momento in cui scriviamo il progetto Arduino Mega Server è supportato su tre piattaforme, due delle quali superano le prestazioni del mega 2560:

  • Arduino mega2560;
  • Arduino Due (MCU a 32 bit, 84 MHz, 512 kB di memoria e 96 kB di RAM divisi in due banchi - 64 kB e 32 kB);
  • Genuino 101 (Intel Quark - come processore, 32 bit, 32 MHz, 24 KB di RAM).

Altri progetti interessanti su Arduino Mega 2560

I sistemi di controllo domestico intelligente stanno guadagnando popolarità. Esistono molte implementazioni di casa intelligente, alcune di esse sono controllate tramite un'interfaccia web, come descritto nella sezione precedente. La foto sotto mostra un esempio del layout di tale sistema.

Qui, per comunicare con uno smartphone, viene utilizzato uno scudo speciale, il suo nome è “1shield”. Con l'app ufficiale puoi connetterti al tuo scudo tramite WiFi o Bluetooth. Per farlo funzionare con Arduino, devi scaricare la libreria 1shield, una libreria speciale.

Barista elettronico con Arduino

Se non puoi vivere senza i tuoi cocktail preferiti, ma non vuoi imparare a prepararli, un barista robotico Arduino ti aiuterà.

Il progetto si è basato su Arduino Mega; per implementare il meccanismo per spostare il bicchiere e versare le bevande, sono stati utilizzati un motore passo-passo (per il movimento longitudinale del contenitore) e un servoazionamento per aprire le valvole del robot. Di seguito è riportato uno schema esemplificativo del dispositivo.

Conclusioni sulla scheda Arduino Mega

Ce ne sono molti in rete, sia sostenitori che oppositori dell'architettura a 8 bit delle schede Arduino: stanno cercando di soppiantarle con schede di debug della famiglia STM e talvolta vengono paragonate ai microcomputer a scheda singola. Tuttavia, l’era di Arduino continuerà per molto tempo, poiché è una piattaforma semplice per imparare in modo divertente l’elettronica e i microcontrollori.

Inoltre, il server Arduino mega 2560 recensito oggi è una boccata d'aria fresca per l'intera piattaforma. D'accordo che è bello poter configurare un server personale per i tuoi siti web con il supporto delle tecnologie necessarie e un basso consumo energetico. Non dovresti confrontare questa idea con i server su vecchio hardware di computer e così via, i vantaggi sono evidenti:

  1. Nessun rumore durante il funzionamento, poiché non sono presenti refrigeratori per il sistema di raffreddamento.
  2. Piccola quantità di spazio occupato.
  3. Prezzo basso.
  4. Basso consumo energetico.

Studia i microcontrollori e implementa l'alta tecnologia nella tua vita quotidiana.

La scheda Arduino Mega 2560 è progettata per creare progetti che non hanno le capacità di un normale Arduino Uno. Questo dispositivo ha il numero massimo di pin e un set esteso di interfacce tra tutte le schede della famiglia Arduino. Arduino Mega ha anche più memoria integrata. In questo articolo vedremo più da vicino le caratteristiche principali della scheda.



Schema della scheda Arduino Mega

Caratteristiche dell'Arduino Mega 2560

Pin della scheda Arduino Mega 2650

Pin digitali

Spillo Indirizzamento in uno schizzo Appuntamento speciale PWM
Pin digitale 0 0 RX (seriale)
Perno digitale 1 1 TX (seriale)
Perno digitale 2 2 Interrompere l'ingresso 0 PWM
Perno digitale 3 3 Interrompere l'ingresso 1 PWM
Perno digitale 4 4 PWM
Perno digitale 5 5 PWM
Perno digitale 6 6 PWM
Perno digitale 7 7 PWM
Perno digitale 8 8 PWM
Perno digitale 9 9 PWM
Perno digitale 10 10 PWM
Perno digitale 11 11 PWM
Perno digitale 12 12 PWM
Perno digitale 13 13 LED integrato PWM
Perno digitale 14 14 TX (Seriale3)
Perno digitale 15 15 RX (Seriale3)
Perno digitale 16 16 TX (Seriale2)
Perno digitale 17 17 RX (Seriale2)
Perno digitale 18 18 TX (Seriale1)

Interrompere l'ingresso 5

Perno digitale 19 19 RX(Seriale1)

Ingresso di interruzione 4

Perno digitale 20 20 SDA I2C

Interrompere l'ingresso 3

Perno digitale 21 21 I2C SCL

Interrompere l'ingresso 2

Pin digitale 22-43 22-43
Perno digitale 44 44 PWM
Perno digitale 45 45 PWM
Perno digitale 46 46 PWM
Perno digitale 47 47
Perno digitale 48 48
Perno digitale 49 49
Perno digitale 50 50 MISO
Perno digitale 51 51 MOSI
Perno digitale 52 52 SCK
Perno digitale 53 53 SCL

Pin analogici

La scheda Arduino Mega ha 16 ingressi analogici. Ognuno di essi è collegato a un ADC a 10 bit, quindi lo sketch può produrre 1024 livelli di valori utilizzando la funzione analogRead(). L'intervallo predefinito di tensione a terra sui pin analogici è 0-5 V. Questo intervallo può essere modificato utilizzando la funzione analogReference() e il pin AREF.

Connessione al computer

Il collegamento al computer e la compilazione dello schizzo vengono eseguiti di serie per la maggior parte delle schede della famiglia Arduino. Utilizzando il chip ATmega16U2, il dispositivo viene definito come una porta COM attraverso la quale è possibile trasferire i dati e flashare il microcontrollore.

Alimentatore per Arduino Mega 2560

L'alimentatore per la scheda Mega è simile all'alimentatore precedentemente discusso per l'Ardini Uno. La tensione operativa è di 5 V, l'alimentazione viene fornita tramite l'alimentatore integrato o tramite un dispositivo USB collegato o direttamente.

In queste istruzioni, ad esempio, considereremo come iniziare con il sistema operativo Windows. Per i sistemi operativi Microsoft (Windows 2000/Vista) le differenze sono minime e riguardano principalmente i nomi delle schede in Gestione periferiche. In altri ambienti operativi, come Linux, FreeBSD, Mac OS X, ecc., la procedura di installazione è notevolmente diversa. Se hai bisogno di organizzare il lavoro con questo software, ti consigliamo di cercare le risposte alle domande sul sito Web principale dello sviluppatore //www.arduino.cc.

Prendiamo Arduino Uno come piattaforma connessa. La differenza con le altre tavole è minima.

Cavo per comunicazione con PC

Per trasferire i dati da un personal computer ad Arduino, è necessario trovare il cavo appropriato. Il cavo non è fornito con le singole schede; è incluso solo nello starter kit Arduino per i progettisti-programmatori praticanti.

ArduinoUNO,Arduino Meg 2560 sono collegati tramite un cavo con connettori USB di tipo A. Questo cavo viene spesso utilizzato per collegare una stampante o uno scanner.

Arduino Leonardo, Arduino Dovuto Per la connessione dispongono di presa micro USB tipo B.

Arduino Nano, Freeduino Nano collegato tramite presa mini USB tipo B.

Per connettere Freeduino MaxSerial Avrai bisogno di un cavo per porta seriale 9M-9F.

C'è un problema : L'IDE di Arduino non si avvia.

Rimedio.

Molto probabilmente, sul computer è installato un JRE (Java Runtime Environment) inappropriato, necessario per eseguire applicazioni grafiche.

Torna alla reinstallazione dell'IDE Arduino: questa volta il programma di installazione inizierà il lavoro di configurazione di JRE.

Collegare le schede Arduino al computer

Dopo aver eseguito con successo l'IDE Arduino, è il momento di collegare qualche piattaforma Arduino al tuo computer. Come già saprai, il collegamento delle schede Arduino al PC avviene tramite un cavo USB.

Collegando la console Arduino al PC un LED “ON” si accenderà e l'altro “L” inizierà a lampeggiare. Ciò significa che l'alimentazione viene fornita tramite il cavo e il microcontrollore ha iniziato a eseguire il programma Blink preimpostato in fabbrica.

Non resta che scoprirlo quale numero di porta COM ha assegnato il computer alla nostra scheda Arduino? , che è importante affinché il software IDE Arduino funzioni correttamente con il nuovo dispositivo.

Il numero della porta COM si trova nella scheda “Gestione dispositivi”, scheda “Porte (COM e LPT)”.

Sui sistemi Windows, molto probabilmente al nostro Arduino Uno con interfaccia seriale verrà assegnata una delle porte COM1 o COM2. Per un Arduino con controller USB, la porta di ingresso sarà COM4, ​​COM5, COM6 o superiore.

Sui sistemi Linux la porta seriale sarà USB0 o USB1.

In "Gestione dispositivi" è stato visualizzato un nuovo dispositivo Arduino: ciò significa che il sistema operativo ha riconosciuto la nostra scheda, ha trovato un driver USB adatto e ha assegnato un numero alla sua interfaccia. Quando si collega insieme un'altra scheda Arduino, le verrà assegnato un numero di porta diverso.

C'è un problema: Quando colleghi la scheda Arduino al computer, non viene visualizzata in Gestione dispositivi.

Rimedio:

  1. Il cavo o la porta USB non sono inseriti completamente o sono danneggiati.
  2. Non esiste alcun driver per questa scheda Arduino. Se hai un Arduino cinese o di un altro produttore sconosciuto, prova a reinstallare manualmente il driver USB.
  3. Bloccato dal programma antivirus.
  4. La scheda Arduino è difettosa.

Nell'IDE Arduino aperto, vai su: Strumenti > Porta > seleziona il numero della porta COM - indica al programma il numero di porta a cui è collegata la piattaforma del microprocessore Arduino.

Affinché il programma firmware IDE di Arduino non abbia dubbi su con cosa dovrà lavorare, indichiamo il tipo della nostra scheda collegata. Per fare ciò, vai al menu: Strumenti > Scheda > seleziona il tipo della tua scheda Arduino.

C'è un problema: Non c'è una singola porta COM nella scheda Porta.

Rimedio.

Ovviamente la connessione tra il dispositivo Arduino e il computer è interrotta. Ripristina una connessione stabile al tuo PC.

Oppure non c'è nessun autista. Puoi scaricarlo alla fine dell'articolo.

Come verificare la connessione di un dispositivo Arduino

Tutti i dati numerici ricevuti tramite la porta COM vengono inviati al Port Monitor nello stesso comodo ambiente grafico Arduino IDE. Pertanto, cliccando sull'icona corrispondente “Port Monitor” nell'angolo in alto a destra della console o trovando la voce corrispondente nel menu Strumenti, puoi vedere dal cambiamento dei numeri nella finestra che si apre che i dati vengono trasmessi tramite il cavo USB , il che significa che la scheda Arduino è collegata in modo sicuro.

Si prega di notare che nella parte inferiore della finestra Port Monitor vengono visualizzate le informazioni sulla velocità di funzionamento con la porta COM “19200 baud” (19200 bps). Questa velocità è impostata di default nello sketch preinstallato sulla scheda Arduino. Questo sketch contiene la riga Serial.begin(19200), in cui è possibile impostare qualsiasi baud rate richiesto, ma ciò è possibile solo quando si lavora tramite cavo USB. Se il trasferimento dei dati avviene tramite un canale radio Bluetooth, è necessario impostare in anticipo il tasso di cambio con la porta COM, esattamente lo stesso che selezioniamo durante il debug del modulo Bluetooth.

C'è un problema: L'IDE di Arduino è incredibilmente lento durante la navigazione nei menu.

Rimedio.

In Gestione dispositivi, nella scheda Seriale Bluetooth, disattiva la connessione Bluetooth al tuo telefono cellulare. Tutte le connessioni esterne tramite Bluetooth consumano in modo significativo la memoria virtuale.

La connessione è stabilita, l'ambiente di sviluppo è configurato: ora hai tra le mani uno strumento ben funzionante per eseguire il flashing di qualsiasi microcontrollore della serie AVR: ATtiny, ATmega, AT90S, AT90CAN, AT90PWM.

L’ambiente di sviluppo IDE di Arduino dispone di molti esempi già pronti per vari compiti, ma per verificare la reattività della scheda al lampeggio è sufficiente apportare piccole modifiche al programma Blink preinstallato (lampeggio del LED “L” sulla scheda).

È sufficiente apportare le modifiche alla riga di ritardo (1000) nello sketch Blink aperto, fare clic su "Carica" ​​e rilevare le modifiche nel funzionamento della scheda Arduino.

Impostando il ritardo (500), il LED “L” lampeggerà due volte più spesso, con un ritardo di mezzo secondo.

Impostando il ritardo (100), il LED "L" si accenderà e si spegnerà 10 volte più velocemente rispetto all'impostazione di fabbrica, ovvero ogni 100 millisecondi.

C'è un problema : durante il caricamento di uno schizzo, è apparso un errore del tipo "non sincronizzato".

Rimedio.

Ciò significa che la piattaforma Arduino collegata non è stata riconosciuta dal sistema operativo. Torna all'impostazione del numero di porta COM e del modello di scheda corretti nel menu Strumenti IDE di Arduino.

E infine, se hai acquistato una scheda Arduino su qualche mercato cinese online, molto spesso sorgono problemi quando si collega la scheda: semplicemente non viene rilevata. Per risolvere questo problema, gli artigiani hanno creato un autista.

Inseguitore fatto in casa per pannelli solari utilizzando Arduino

Pubblicazioni sull'argomento