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
Microcontrollore | ATMega2560 |
Tensione operativa | 5 V |
Tensione in ingresso (consigliata) | 7-12 V |
Tensione in ingresso (limite) | 6-20 V |
Pin di ingresso/uscita digitale | 54 (di cui 15 utilizzabili come uscite PWM) |
Pin di ingresso analogico | 16 |
Corrente CC attraverso i terminali di ingresso/uscita | 20 mA |
Corrente CC tramite pin da 3,3 V | 50mA |
Memoria flash | 256 KB, di cui 8 KB utilizzati dal bootloader |
RAM SRAM | 8KB |
Memoria EEPROM non volatile | 4KB |
Frequenza dell'orologio | 16 MHz |
Lunghezza | 101,52 mm |
Larghezza | 53,3 mm |
Peso | 37 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
Numero pin Atmega2560 | Nome del pin ATmega2560 | Pin 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 | VCC | VCC |
11 | GND | GND |
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 | RIPRISTINA | RIPRISTINA |
31 | VCC | VCC |
32 | GND | GND |
33 | XTAL2 | XTAL2 |
34 | XTAL1 | XTAL1 |
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 | PL6 | Uscita digitale 43 |
42 | PL7 | Uscita 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 | VCC | VCC |
62 | GND | GND |
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 | VCC | VCC |
81 | GND | GND |
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 | AREF | Tensione di riferimento dell'ADC |
99 | GND | GND |
100 | AVCC | VCC |
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
Prodotto in negozio | Numero di pezzi inclusi | Prezzo | Costo 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 AliExpress | 1 | 451,83 sfregamenti. /6,68 USD (al 1 ottobre 2016) | 451,83 sfregamenti. /6,68 USD |
Arduino Mega 2560 su AliExpress | 1 | 486,32 sfregamenti. /7,19 USD (al 25 novembre 2018) | 486,32 sfregamenti. /7,19 USD |
Arduino Mega 2560 su AliExpress | 1 | 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:
- 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.
- 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:
- La casa intelligente è già diventata un classico campo di applicazione per Arduino.
- Locale caldaia automatizzato.
- Coltivazione in serra con supporto automatico dell'umidità del suolo e della composizione salina.
- Stazione metereologica.
- 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:
- Scheda Arduino Mega
- Ethernet schermata per Arduino.
- 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:
- Nessun rumore durante il funzionamento, poiché non sono presenti refrigeratori per il sistema di raffreddamento.
- Piccola quantità di spazio occupato.
- Prezzo basso.
- 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:
- Il cavo o la porta USB non sono inseriti completamente o sono danneggiati.
- 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.
- Bloccato dal programma antivirus.
- 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