KS0498 Keyestudio MEGA 2560 R3 Development Board(Compatible Arduino): Difference between revisions

From Keyestudio Wiki
Jump to navigation Jump to search
No edit summary
(15 intermediate revisions by the same user not shown)
Line 5: Line 5:
== Description ==
== Description ==
   
   
Keyestudio Mega 2560 R3 is a microcontroller board based on the ATMEGA2560-16AU , fully compatible with ARDUINO MEGA 2560 REV3.
Keyestudio Mega 2560 R3 is a microcontroller board based on the ATMEGA2560-16AU , fully compatible with ARDUINO MEGA 2560 R3.
It has 54 digital input/output pins (of which 15 can be used as PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a power jack, 1 ICSP header, and a reset button.  
It has 54 digital input/output pins (of which 15 can be used as PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a power jack, 1 ICSP header, and a reset button.  
The built-in ICSP port can burn the firmware for ATMEGA2560-16AU directly. This chip is burnt the firmware well before leaving the factory, therefore, we hardly use it. We can power on by USB wire, DC head and Vin GND pins.
The built-in ICSP port can burn the firmware for ATMEGA2560-16AU directly. This chip is burnt the firmware well before leaving the factory, therefore, we hardly use it. We can power on by USB wire, DC head and Vin GND pins.
Line 12: Line 12:
<br>
<br>


 
== Specification ==
== 2.Specification ==


* Microcontroller: ATMEGA2560-16AU
* Microcontroller: ATMEGA2560-16AU
Line 30: Line 29:
* LED_BUILTIN:D13
* LED_BUILTIN:D13


== 3.Element and Pin Interfaces: ==
== Element and Pin Interfaces: ==


Here is an explanation of what every element and interface of the board does:
Here is an explanation of what every element and interface of the board does:
<br>[[Image:2560.jpg|800px|frameless]]<br>
<br>[[Image:KS0498标注图 画板 1.jpg|500px|frameless]]<br>


{| width="80%" cellspacing="0" border="1"
{| width="80%" cellspacing="0" border="1"
|-
|-
| align="center" | '''Digital I/O'''
| align="center" | [[Image:KS0001 5-1.png|500px|frameless]]
| align="light" |
| align="light" | '''Digital I/O'''
Arduino MEGA has 54 digital input/output pins (of which 15 can be used as PWM outputs). These pins can be configured as digital input pin to read the logic value (0 or 1). Or used as digital output pin to drive different modules like LED, relay, etc. <br>
Arduino MEGA has 54 digital input/output pins (of which 15 can be used as PWM outputs). These pins can be configured as digital input pin to read the logic value (0 or 1). Or used as digital output pin to drive different modules like LED, relay, etc. <br>
Using [https://www.arduino.cc/reference/en/language/functions/digital-io/pinmode/ pinMode()], [https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/ digitalWrite()], and [https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/ digitalRead()] functions.<br>
Using [https://www.arduino.cc/reference/en/language/functions/digital-io/pinmode/ pinMode()], [https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/ digitalWrite()], and [https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/ digitalRead()] functions.<br>
Line 63: Line 62:
IIC communication pin
IIC communication pin
|-
|-
 
                                                                                   
| align="center" | [[Image:KS0001 5-6.png|500px|frameless]]
| align="center" | [[Image:KS0001 5-6.png|500px|frameless]]
| align="light" | '''ICSP (In-Circuit Serial Programming) Header'''
| align="light" | '''RESET Button'''
the AVR, an Arduino micro-program header consisting of MOSI, MISO, SCK, RESET, VCC, and GND. Connected to the ATMEGA16U2-MU.
You can reset your Arduino board
When connecting to PC, program the firmware to ATMEGA16U2-MU.
|-
|-


Line 82: Line 80:


| align="center" | [[Image:KS0001 5-9.png|500px|frameless]]
| align="center" | [[Image:KS0001 5-9.png|500px|frameless]]
| align="light" | '''ATMEGA 16U2-MU'''
| align="light" | '''CP2102'''
USB to serial chip, can convert the USB signal into serial port signal.
USB to serial chip, can convert the USB signal into serial port signal.
|-
|-
Line 118: Line 116:
| align="light" | '''IOREF'''
| align="light" | '''IOREF'''
This pin on the board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs for working with the 5V or 3.3V.  
This pin on the board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs for working with the 5V or 3.3V.  
|-
| align="center" | [[Image:KS0001 5-16.png|500px|frameless]]
| align="light" | '''RESET Header'''
Connect an external button to reset the board. The function is the same as reset button.


|-
|-
Line 130: Line 123:
|-
|-


| align="center" | [[Image:KS0001 5-16.png|500px|frameless]]
| align="light" | '''RESET Header'''
Connect an external button to reset the board. The function is the same as reset button.
|-
| align="center" | [[Image:KS0001 5-18.png|500px|frameless]]
| align="center" | [[Image:KS0001 5-18.png|500px|frameless]]
| align="light" | '''Power Pin 5V'''
| align="light" | '''Power Pin 5V'''
Line 146: Line 144:


| align="center" | [[Image:KS0001 5-21.png|500px|frameless]]
| align="center" | [[Image:KS0001 5-21.png|500px|frameless]]
| align="light" | '''RESET Button '''
You can reset your Arduino board, for example, start the program from the initial status. You can use the RESET button.
|-
| align="center" | [[Image:KS0001 5-22.png|500px|frameless]]
| align="light" | '''ICSP (In-Circuit Serial Programming) Header'''
| align="light" | '''ICSP (In-Circuit Serial Programming) Header'''
the AVR, an Arduino micro-program header consisting of MOSI, MISO, SCK, RESET, VCC, and GND. <br>
the AVR, an Arduino micro-program header consisting of MOSI, MISO, SCK, RESET, VCC, and GND. <br>
Line 157: Line 150:


|-
|-
| align="center" | [[Image:KS0001 5-23.png|500px|frameless]]
| align="center" | [[Image:KS0001 5-22.png|500px|frameless]]
| align="light" | '''Microcontroller '''
| align="light" | '''Microcontroller '''
Each Arduino board has its own microcontroller. You can regard it as the brain of your board.<br>
Each Arduino board has its own microcontroller. You can regard it as the brain of your board.<br>
The main IC (integrated circuit) on the Arduino is slightly different from the panel pair. Microcontrollers are usually from ATMEL. Before you load a new program on the Arduino IDE, you must know what IC is on your board. This information can be checked at the top of IC.
The main IC (integrated circuit) on the Arduino is slightly different from the panel pair. Microcontrollers are usually from ATMEL. Before you load a new program on the Arduino IDE, you must know what IC is on your board. This information can be checked at the top of IC.
|-
|-
 
| align="center" | [[Image:KS0001 5-23.png|500px|frameless]]
| align="center" | [[Image:KS0001 5-24.png|500px|frameless]]
| align="light" | '''Power LED Indicator'''
| align="light" | '''Power LED Indicator'''
Powering the Arduino, LED on means that your circuit board is correctly powered on. If LED is off, connection is wrong.
Powering the Arduino, LED on means that your circuit board is correctly powered on. If LED is off, connection is wrong.
|-
|-
|}
|}


<br>
<br>
== Specialized Functions of Some Pins: ==
1. Serial Communication: D0 (RX0) and D1 (TX1); Serial 1: D19 (RX1) and D18 (TX1); Serial 2: D17 (RX2) and D16 (TX2); Serial 3: D15 (RX3) and D14 (TX3). Used to receive (RX) and transmit (TX) TTL serial data. Pins 0 and 1 are also connected to the corresponding pins of the CP2102 USB-to-TTL Serial chip.
2. PWM Pins (Pulse-Width Modulation): D2 to D13, and D44 to D46.
Provide 8-bit PWM output with the analogWrite() function.
3. External Interrupts: D2 (interrupt 0), D3 (interrupt 1), D18 (interrupt 5), D19 (interrupt 4), D20 (interrupt 3), and D21 (interrupt 2).
These pins can be configured to trigger an interrupt on a low level, a rising or falling edge, or a change in level. See the attachInterrupt() function for details.
4. SPI communication: D53 (SS), D52 (SCK), D51 (MOSI), D50 (MISO).
These pins support SPI communication using theSPI library. The SPI pins are also broken out on the ICSP header, which is physically compatible with the Arduino Uno. 
5. IIC communication: D20 (SDA); D21 (SCL). Support TWI communication using the Wire library. 
== Install Arduino IDE and Driver ==
=== Installing Arduino IDE ===
When we get control board, we need to download Arduino IDE and driver firstly.
You could download Arduino IDE from the official website:
https://www.arduino.cc/, click the SOFTWARE on the browse bar, click “DOWNLOADS” to enter download page, as shown below:
<br>[[File:0085=04.png|500px|frameless|thumb]]<br>
There are various versions for Arduino, just download a suitable version for your system, we will take WINDOWS system as an example to show you how to download and install.
<br>[[File:04862png.png|500px|frameless|thumb]]<br>
There are two versions of IDE for WINDOWS system, you can choose between the Installer (.exe) and the Zip packages. We suggest you use the first one that installs directly everything you need to use the Arduino Software (IDE), including the drivers. With the Zip package you need to install the drivers manually. The Zip file is also useful if you want to create a portable installation.
<br>[[File:04863png.png|500px|frameless|thumb]]<br>
You just need to click JUST DOWNLOAD, then click the downloaded file to install it. And when the ZIP file is downloaded, you can directly unzip and start it.
=== Installing driver ===
Let’s install the driver of Keyestudio MEGA 2560 R3 Development Board.. The USB-TTL chip on 2560 R3 Development Board adopts CP2102 serial chip. The driver program of this chip is included in Arduino 1.8 version and above, which is convenient. Plug on USB port of board, the computer can recognize the hardware and automatically install the driver of CP2102.
If install unsuccessfully, or you intend to install manually, open the device manager of computer. Right click Computer----- Properties----- Device Manager.
<br>[[File:0085=07.png|500px|frameless|thumb]]<br>
There is a yellow exclamation mark on the page, which implies installing the driver of CP2102 unsuccessfully. Then we double click the hardware and update the driver.
<br>[[File:0085=08.png|500px|frameless|thumb]]<br>
Click “OK” to enter the following page, click “browse my computer for updated driver software”, find out the installed or downloaded ARDUINO software. As shown below:
<br>[[File:0085=09.png|500px|frameless|thumb]]<br>
There is a DRIVERS folder in Arduino software installed package([[File:0085=10.png|500px|frameless|thumb]]), open driver folder and you can see the driver of CP210X series chips.
We click “Browse”, then find out the driver folder, or you could enter “driver” to search in rectangular box, then click “next”, the driver will be installed successfully. (I place Arduino software folder on the desktop, you could follow my way)
<br>[[File:0085=11.png|500px|frameless|thumb]]<br>
Open device manager, we will find the yellow exclamation mark disappear. The driver of CP2102 is installed successfully.
<br>[[File:0085=12.png|500px|frameless|thumb]]<br>
<br>[[File:0085=13.png|500px|frameless|thumb]]<br>
=== Arduino IDE Setting ===
Click[[File:0486-12.png|200px|frameless|thumb]] icon,open Arduino IDE.
<br>[[File:0085=14.png|500px|frameless|thumb]]<br>
To avoid the errors when uploading the program to the board, you need to select the correct Arduino board that matches the board connected to your computer.
Then come back to the Arduino software, you should click Tools→Board, select the board. (as shown below)
<br>[[File:0498--1.png|500px|frameless|thumb]]<br>
Then select the correct COM port (you can see the corresponding COM port after the driver is successfully installed)
<br>[[File:04869png.png|500px|frameless|thumb]]<br>
<br>[[File:0498--3.png|500px|frameless|thumb]]<br>
Before uploading the program to the board, let’s demonstrate the function of each symbol in the Arduino IDE toolbar.
<br>[[Image:0085=17.png|500px|frameless]]<br>
A- Used to verify whether there is any compiling mistakes or not.
B- Used to upload the sketch to your Arduino board.
C- Used to create shortcut window of a new sketch.
D- Used to directly open an example sketch.
E- Used to save the sketch.
F- Used to send the serial data received from board to the serial monitor.
=== Start your first program ===
Open the file to select Example, choose BLINK from BASIC, as shown below:
<br>[[Image:048610png.png|500px|frameless]]<br>
<br>[[Image:048611png.png|500px|frameless]]<br>
Set board and COM port, the corresponding board and COM port are shown on the lower right of IDE.
<br>[[Image:048612png.png|500px|frameless]]<br>       
Click [[Image:0486-20.png|50px|frameless]] to start compiling the program, check errors.
<br>[[Image:048613png.png|500px|frameless]]<br>
Click  [[Image:0486-23.png|50px|frameless]]to upload the program, upload successfully.
<br>[[Image:048614png.png|500px|frameless]]<br>
Upload the program successfully, the onboard LED lights on for 1s, lights off for 1s. Congratulation, you finish the first program.
== Resources ==

Revision as of 08:41, 20 July 2020


0498.png




Description

Keyestudio Mega 2560 R3 is a microcontroller board based on the ATMEGA2560-16AU , fully compatible with ARDUINO MEGA 2560 R3. It has 54 digital input/output pins (of which 15 can be used as PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a power jack, 1 ICSP header, and a reset button. The built-in ICSP port can burn the firmware for ATMEGA2560-16AU directly. This chip is burnt the firmware well before leaving the factory, therefore, we hardly use it. We can power on by USB wire, DC head and Vin GND pins. To facilitate wiring, a 0.5 m USB wire is provided for you.


Specification

  • Microcontroller: ATMEGA2560-16AU
  • USB serial chip:CP2102
  • Operating Voltage: 5V
  • Input Voltage (recommended):DC 7-12V
  • Digital I/O Pins: 54 (D0-D53)
  • PWM Digital I/O Pins:15(D2-D13 D44-D46)
  • Analog Input Pins: 16(A0-A15)
  • DC Current per I/O Pin: 20 mA
  • DC Current for 3.3V Pin: 50 mA
  • Flash Memory: 256 KB of which 8 KB used by bootloader
  • SRAM: 8 KB
  • EEPROM: 4 KB
  • Clock Speed: 16 MHz
  • LED_BUILTIN:D13

Element and Pin Interfaces:

Here is an explanation of what every element and interface of the board does:
KS0498标注图 画板 1.jpg

KS0001 5-1.png Digital I/O

Arduino MEGA has 54 digital input/output pins (of which 15 can be used as PWM outputs). These pins can be configured as digital input pin to read the logic value (0 or 1). Or used as digital output pin to drive different modules like LED, relay, etc.
Using pinMode(), digitalWrite(), and digitalRead() functions.

KS0001 5-2.png GND

Ground pins

KS0001 5-3.png AREF

Reference voltage (0-5V) for analog inputs. Used with analogReference(). Configures the reference voltage used for analog input (i.e. the value used as the top of the input range).

KS0001 5-4.png SDA

IIC communication pin

KS0001 5-5.png SCL

IIC communication pin

KS0001 5-6.png RESET Button

You can reset your Arduino board

KS0001 5-7.png USB Connection

Arduino board can be powered via USB connector.
All you needed to do is connecting the USB port to PC using a USB cable.

KS0001 5-8.png D13 LED

There is a built-in LED driven by digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.

KS0001 5-9.png CP2102

USB to serial chip, can convert the USB signal into serial port signal.

KS0001 5-10.png TX LED

Onboard you can find the label: TX (transmit)
When Arduino board communicates via serial port, send the message, TX led flashes.

KS0001 5-11.png RX LED

Onboard you can find the label: RX(receive )
When Arduino board communicates via serial port, receive the message, RX led flashes.

KS0001 5-12.png Crystal Oscillator

How does Arduino calculate time? by using a crystal oscillator.
The number printed on the top of the Arduino crystal is 16.000H9H. It tells us that the frequency is 16,000,000 Hertz or 16MHz.

KS0001 5-13.png Voltage Regulator

To control the voltage provided to the Arduino board, as well as to stabilize the DC voltage used by the processor and other components.
Convert an external input DC7-12V voltage into DC 5V, then switch DC 5V to the processor and other components.

KS0001 5-14.png DC Power Jack

Arduino board can be supplied with an external power DC7-12V from the DC power jack.

KS0001 5-15.png IOREF

This pin on the board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs for working with the 5V or 3.3V.

KS0001 5-17.png Power Pin 3V3

A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.

KS0001 5-16.png RESET Header

Connect an external button to reset the board. The function is the same as reset button.

KS0001 5-18.png Power Pin 5V

Provides 5V output voltage

KS0001 5-19.png Vin

You can supply an external power input DC7-12V through this pin to Arduino board.

KS0001 5-20.png Analog Pins

Onboard has 16 analog inputs, labeled A0 to A15.

KS0001 5-21.png ICSP (In-Circuit Serial Programming) Header

the AVR, an Arduino micro-program header consisting of MOSI, MISO, SCK, RESET, VCC, and GND.
It is often called the SPI (serial peripheral interface) and can be considered an "extension" of the output. In fact, slave the output devices to the SPI bus host.
When connecting to PC, program the firmware to ATMEGA2560-16AU.

KS0001 5-22.png Microcontroller

Each Arduino board has its own microcontroller. You can regard it as the brain of your board.
The main IC (integrated circuit) on the Arduino is slightly different from the panel pair. Microcontrollers are usually from ATMEL. Before you load a new program on the Arduino IDE, you must know what IC is on your board. This information can be checked at the top of IC.

KS0001 5-23.png Power LED Indicator

Powering the Arduino, LED on means that your circuit board is correctly powered on. If LED is off, connection is wrong.



Specialized Functions of Some Pins:

1. Serial Communication: D0 (RX0) and D1 (TX1); Serial 1: D19 (RX1) and D18 (TX1); Serial 2: D17 (RX2) and D16 (TX2); Serial 3: D15 (RX3) and D14 (TX3). Used to receive (RX) and transmit (TX) TTL serial data. Pins 0 and 1 are also connected to the corresponding pins of the CP2102 USB-to-TTL Serial chip.

2. PWM Pins (Pulse-Width Modulation): D2 to D13, and D44 to D46. Provide 8-bit PWM output with the analogWrite() function.

3. External Interrupts: D2 (interrupt 0), D3 (interrupt 1), D18 (interrupt 5), D19 (interrupt 4), D20 (interrupt 3), and D21 (interrupt 2). These pins can be configured to trigger an interrupt on a low level, a rising or falling edge, or a change in level. See the attachInterrupt() function for details.

4. SPI communication: D53 (SS), D52 (SCK), D51 (MOSI), D50 (MISO). These pins support SPI communication using theSPI library. The SPI pins are also broken out on the ICSP header, which is physically compatible with the Arduino Uno. 

5. IIC communication: D20 (SDA); D21 (SCL). Support TWI communication using the Wire library. 

Install Arduino IDE and Driver

Installing Arduino IDE

When we get control board, we need to download Arduino IDE and driver firstly. You could download Arduino IDE from the official website: https://www.arduino.cc/, click the SOFTWARE on the browse bar, click “DOWNLOADS” to enter download page, as shown below:


thumb

There are various versions for Arduino, just download a suitable version for your system, we will take WINDOWS system as an example to show you how to download and install.


thumb

There are two versions of IDE for WINDOWS system, you can choose between the Installer (.exe) and the Zip packages. We suggest you use the first one that installs directly everything you need to use the Arduino Software (IDE), including the drivers. With the Zip package you need to install the drivers manually. The Zip file is also useful if you want to create a portable installation.


thumb

You just need to click JUST DOWNLOAD, then click the downloaded file to install it. And when the ZIP file is downloaded, you can directly unzip and start it.

Installing driver

Let’s install the driver of Keyestudio MEGA 2560 R3 Development Board.. The USB-TTL chip on 2560 R3 Development Board adopts CP2102 serial chip. The driver program of this chip is included in Arduino 1.8 version and above, which is convenient. Plug on USB port of board, the computer can recognize the hardware and automatically install the driver of CP2102.

If install unsuccessfully, or you intend to install manually, open the device manager of computer. Right click Computer----- Properties----- Device Manager.


thumb

There is a yellow exclamation mark on the page, which implies installing the driver of CP2102 unsuccessfully. Then we double click the hardware and update the driver.


thumb

Click “OK” to enter the following page, click “browse my computer for updated driver software”, find out the installed or downloaded ARDUINO software. As shown below:


thumb

There is a DRIVERS folder in Arduino software installed package(thumb), open driver folder and you can see the driver of CP210X series chips.


We click “Browse”, then find out the driver folder, or you could enter “driver” to search in rectangular box, then click “next”, the driver will be installed successfully. (I place Arduino software folder on the desktop, you could follow my way)


thumb


Open device manager, we will find the yellow exclamation mark disappear. The driver of CP2102 is installed successfully.
thumb

thumb

Arduino IDE Setting

Clickthumb icon,open Arduino IDE.


thumb

To avoid the errors when uploading the program to the board, you need to select the correct Arduino board that matches the board connected to your computer. Then come back to the Arduino software, you should click Tools→Board, select the board. (as shown below)


thumb

Then select the correct COM port (you can see the corresponding COM port after the driver is successfully installed)


thumb

thumb

Before uploading the program to the board, let’s demonstrate the function of each symbol in the Arduino IDE toolbar.
0085=17.png

A- Used to verify whether there is any compiling mistakes or not. B- Used to upload the sketch to your Arduino board. C- Used to create shortcut window of a new sketch. D- Used to directly open an example sketch. E- Used to save the sketch. F- Used to send the serial data received from board to the serial monitor.

Start your first program

Open the file to select Example, choose BLINK from BASIC, as shown below:



048610png.png


048611png.png

Set board and COM port, the corresponding board and COM port are shown on the lower right of IDE.


048612png.png

Click 0486-20.png to start compiling the program, check errors.


048613png.png

Click 0486-23.pngto upload the program, upload successfully.


048614png.png

Upload the program successfully, the onboard LED lights on for 1s, lights off for 1s. Congratulation, you finish the first program.


Resources