Ks0002 keyestudio Mega 2560 R3 Development Board: Difference between revisions
Keyestudio (talk | contribs) No edit summary |
Keyestudio (talk | contribs) |
||
(85 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[image:2560--.png|thumb|500px|right|Keyestudio 2560 R3 Board]] | |||
<br> | |||
==Introduction== | ==Introduction== | ||
Keyestudio Mega 2560 R3 is a microcontroller board based on the [http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf ATMEGA2560-16AU] , fully compatible with ARDUINO MEGA 2560 REV3.<br> | |||
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, 2 ICSP headers, and a reset button. <br> | |||
It contains everything needed to support the microcontroller. With its bootloader, program can be downloaded directly with USB and you don’t need to use other external programmer. <br> | |||
Just simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. <br> | |||
The Mega 2560 board is compatible with most shields designed for the Uno. <br> | |||
The 2560 R3 differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega16U2 programmed as a USB-to-serial converter.<br> | |||
The MEGA 2560 is designed for more complex projects. With 54 digital I/O pins, 16 analog inputs and a larger space for your sketch, it is the recommended board for 3D printers and robotics projects. This gives your projects plenty of room and opportunities.<br> | |||
<br> | |||
== Design of Power Supply == | == Design of Power Supply == | ||
There are two choices (direct power supply trough USB or external power supply) for the power supply system of Arduino Mega, and they can be automatically switched. External power supply can be AC-to-DC adapter or battery. Voltage input of this control board is 6V~12V, but if the supplied voltage is greater than 12V, the voltage stabilizing device will be likely to be overheated to damage Arduino MEGA. So we suggest the power supply should be 6.5~12V in operation and recommended supply is 7.5 or 9V. | |||
<br> | |||
== TECH SPECS == | |||
== | |||
{| class="wikitable" cellpadding="1" cellspacing="1" | {| class="wikitable" cellpadding="1" cellspacing="1" | ||
|- | |- | ||
! scope="row" | Microcontroller | ! scope="row" | Microcontroller | ||
| | | ATMEGA2560-16AU | ||
|- | |- | ||
! scope="row" | | ! scope="row" | Operating Voltage | ||
| 5V | | 5V | ||
|- | |- | ||
! scope="row" | Input Voltage (recommended) | ! scope="row" | Input Voltage (recommended) | ||
| 7-12V | | 7-12V | ||
|- | |- | ||
! scope="row" | | ! scope="row" | Digital I/O Pins | ||
| | | 54 (D0-D53) | ||
|- | |- | ||
! scope="row" | Digital I/O Pins | ! scope="row" | PWM Digital I/O Pins | ||
| | | 15 (D2-D13; D44-D46) | ||
|- | |- | ||
! scope="row" | Analog Input Pins | ! scope="row" | Analog Input Pins | ||
| 16 | | 16 (A0-A15) | ||
|- | |- | ||
! scope="row" | DC Current per I/O Pin | ! scope="row" | DC Current per I/O Pin | ||
| 20 mA | | 20 mA | ||
|- | |- | ||
! scope="row" | DC Current for 3.3V Pin | ! scope="row" | DC Current for 3.3V Pin | ||
| 50 mA | | 50 mA | ||
|- | |- | ||
! scope="row" | Flash Memory | ! scope="row" | Flash Memory | ||
| 256 KB of which 8 KB used by bootloader | | 256 KB of which 8 KB used by bootloader | ||
|- | |- | ||
! scope="row" | SRAM | ! scope="row" | SRAM | ||
| 8 KB | | 8 KB | ||
|- | |- | ||
! scope="row" | EEPROM | ! scope="row" | EEPROM | ||
| 4 KB | | 4 KB | ||
|- | |- | ||
! scope="row" | Clock Speed | ! scope="row" | Clock Speed | ||
| 16 MHz | | 16 MHz | ||
|- | |||
! scope="row" | LED_BUILTIN | |||
| D13 | |||
|} | |} | ||
<br> | <br> | ||
==PCB Dimensions== | |||
<br>[[Image:2560-1.jpg|700px|frameless]]<br> | |||
<br> | |||
==Element and Pin Interfaces== | |||
Here is an explanation of what every element and interface of the board does: | |||
<br>[[Image:2560 R3引脚标图.jpg|800px|frameless]]<br> | |||
== | {| width="80%" cellspacing="0" border="1" | ||
|- | |||
| align="center" | [[Image:KS0001 5-1.png|500px|frameless]] | |||
| 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> | |||
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> | |||
|- | |||
| align="center" | [[Image:KS0001 5-2.png|500px|frameless]] | |||
| align="light" | '''GND''' | |||
Ground pins | |||
|- | |||
| align="center" | [[Image:KS0001 5-3.png|500px|frameless]] | |||
| align="light" | '''AREF ''' | |||
Reference voltage (0-5V) for analog inputs. Used with [https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/ analogReference()]. | |||
Configures the reference voltage used for analog input (i.e. the value used as the top of the input range). | |||
|- | |||
| align="center" | [[Image:KS0001 5-4.png|500px|frameless]] | |||
| align="light" | '''SDA''' | |||
IIC communication pin | |||
|- | |||
| align="center" | [[Image:KS0001 5-5.png|500px|frameless]] | |||
| align="light" | '''SCL''' | |||
IIC communication pin | |||
|- | |||
| align="center" | [[Image:KS0001 5-6.png|500px|frameless]] | |||
| align="light" | '''ICSP (In-Circuit Serial Programming) Header''' | |||
the AVR, an Arduino micro-program header consisting of MOSI, MISO, SCK, RESET, VCC, and GND. Connected to the ATMEGA16U2-MU. | |||
When connecting to PC, program the firmware to ATMEGA16U2-MU. | |||
|- | |||
| align="center" | [[Image:KS0001 5-7.png|500px|frameless]] | |||
| align="light" | '''USB Connection''' | |||
Arduino board can be powered via USB connector. <br> | |||
All you needed to do is connecting the USB port to PC using a USB cable. | |||
|- | |||
| align="center" | [[Image:KS0001 5-8.png|500px|frameless]] | |||
| align="light" | '''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. | |||
|- | |||
| align="center" | [[Image:KS0001 5-9.png|500px|frameless]] | |||
| align="light" | '''ATMEGA 16U2-MU''' | |||
USB to serial chip, can convert the USB signal into serial port signal. | |||
|- | |||
| align="center" | [[Image:KS0001 5-10.png|500px|frameless]] | |||
| align="light" | '''TX LED''' | |||
Onboard you can find the label: TX (transmit)<br> | |||
When Arduino board communicates via serial port, send the message, TX led flashes. | |||
|- | |||
| align="center" | [[Image:KS0001 5-11.png|500px|frameless]] | |||
| align="light" | '''RX LED''' | |||
Onboard you can find the label: RX(receive )<br> | |||
When Arduino board communicates via serial port, receive the message, RX led flashes. | |||
|- | |||
| align="center" | [[Image:KS0001 5-12.png|500px|frameless]] | |||
| align="light" | '''Crystal Oscillator''' | |||
How does Arduino calculate time? by using a crystal oscillator.<br> | |||
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. | |||
|- | |||
| align="center" | [[Image:KS0001 5-13.png|500px|frameless]] | |||
| align="light" | '''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.<br> | |||
Convert an external input DC7-12V voltage into DC 5V, then switch DC 5V to the processor and other components. | |||
|- | |||
| align="center" | [[Image:KS0001 5-14.png|500px|frameless]] | |||
| align="light" | '''DC Power Jack''' | |||
Arduino board can be supplied with an external power DC7-12V from the DC power jack. | |||
|- | |||
== | | align="center" | [[Image:KS0001 5-15.png|500px|frameless]] | ||
| 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. | |||
void setup() { | |- | ||
| 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-17.png|500px|frameless]] | |||
| align="light" | '''Power Pin 3V3''' | |||
A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA. | |||
|- | |||
| align="center" | [[Image:KS0001 5-18.png|500px|frameless]] | |||
| align="light" | '''Power Pin 5V''' | |||
Provides 5V output voltage | |||
|- | |||
| align="center" | [[Image:KS0001 5-19.png|500px|frameless]] | |||
| align="light" | '''Vin ''' | |||
You can supply an external power input DC7-12V through this pin to Arduino board. | |||
|- | |||
| align="center" | [[Image:KS0001 5-20.png|500px|frameless]] | |||
| align="light" | '''Analog Pins''' | |||
Onboard has 16 analog inputs, labeled A0 to A15. | |||
|- | |||
| 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''' | |||
the AVR, an Arduino micro-program header consisting of MOSI, MISO, SCK, RESET, VCC, and GND. <br> | |||
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.<br> | |||
When connecting to PC, program the firmware to ATMEGA2560-16AU. | |||
|- | |||
| align="center" | [[Image:KS0001 5-23.png|500px|frameless]] | |||
| align="light" | '''Microcontroller ''' | |||
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. | |||
|- | |||
| align="center" | [[Image:KS0001 5-24.png|500px|frameless]] | |||
| 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. | |||
|- | |||
|} | |||
<br> | |||
==Specialized Functions of Some Pins== | |||
* '''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 ATmega16U2 USB-to-TTL Serial chip. | |||
* '''PWM Pins (Pulse-Width Modulation):''' D2 to D13, and D44 to D46. | |||
Provide 8-bit PWM output with the [https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/ analogWrite()] function. | |||
* '''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 [https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/ attachInterrupt()] function for details. | |||
* '''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. | |||
* '''IIC communication:''' D20 (SDA); D21 (SCL). Support TWI communication using the [https://www.arduino.cc/en/Reference/Wire Wire library]. | |||
<br> | |||
==Warnings== | |||
'''1.''' The Mega 2560 has a resettable polyfuse that protects your computer's USB ports from shorts and overcurrent. If more than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed.<br> | |||
'''2.''' Automatic (Software) Reset:<br> | |||
Rather than requiring a physical press of the reset button before an upload, the Mega 2560 board is designed in a way that allows it to be reset by software running on a connected computer. <br> | |||
'''3.''' The Mega 2560 board contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's labeled "RESET-EN". You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see [http://forum.arduino.cc/index.php/topic,22974.0.html this forum thread] for details. | |||
<br> | |||
==Detailed Use with ARDUINO Software as follows:== | |||
===Step1 | Download the Arduino environment (IDE)=== | |||
When you get the Mega 2560 development board, first you should install the Arduino software and driver. <br> | |||
We usually use the Windows software Arduino 1.5.6 version. You can download it from the link below: <br> | |||
https://www.arduino.cc/en/Main/OldSoftwareReleases#1.5.x<br> | |||
Or you can browse the ARDUINO website to download the latest version from this link, https://www.arduino.cc, pop up the following interface. | |||
<br>[[Image:KS0313-1.png|600px|frameless]]<br> | |||
Then click the '''SOFTWARE''' on the browse bar, you will have two options ONLINE TOOLS and DOWNLOADS. | |||
<br>[[Image:KS0313-2.png|600px|frameless]]<br> | |||
Click '''DOWNLOADS''', it will appear the latest software version of ARDUINO 1.8.5 shown as below. | |||
<br>[[Image:KS0313-3.png|600px|frameless]]<br> | |||
In this software page, on the right side you can see the version of development software for different operating systems. ARDUINO has a powerful compatibility. You should download the software that is compatible with the operating system of your computer.<br> | |||
We will take '''WINDOWS system''' as an example here. There are also two options under Windows system, one is installed version, the other is non-installed version. | |||
For simple installed version, first click '''Windows Installer''', you will get the following page.<br> | |||
<br>[[Image:KS0313-4.png|600px|frameless]]<br> | |||
<br>[[Image:KS0313-5.png|600px|frameless]]<br> | |||
This way you just need to click JUST DOWNLOAD, then click the downloaded file to install it. <br> | |||
For non-installed version, first click Windows ZIP file, you will also get the pop-up interface as the above figure.<br> | |||
Click JUST DOWNLOAD, and when the ZIP file is downloaded well to your computer, you can directly unzip the file and click the icon of ARDUINO software to start it. <br> | |||
<br> | |||
====Installing Arduino (Windows)==== | |||
Install Arduino with the exe. Installation package downloaded well. | |||
<br>[[File:Arduino Setup 1.jpg|800px|frameless|thumb]]<br> | |||
Click“I Agree”to see the following interface. | |||
<br>[[File:Arduino Setup 2.jpg|800px|frameless|thumb]]<br> | |||
Click “Next”. Pop up the interface below. | |||
<br>[[File:Arduino Setup 3.jpg|800px|frameless|thumb]]<br> | |||
You can press Browse… to choose an installation path or directly type in the directory you want.<br> | |||
Then click “Install” to initiate installation. | |||
<br>[[File:Arduino Setup 4.jpg|800px|frameless|thumb]]<br> | |||
Wait for the installing process, if appear the interface of Window Security, just continue to click Install to finish the installation. | |||
<br>[[File:Arduino1.5.6- setup 5.png|800px|frameless|thumb]]<br> | |||
<br> | |||
====Installing Driver==== | |||
Next, we will introduce the driver installation of Mega 2560 R3 development board. The driver installation may have slight differences in different computer systems. So in the following let’s move on to the driver installation in the WIN 7 system. <br> | |||
The Arduino folder contains both the Arduino program itself and the drivers that allow the Arduino to be connected to your computer by a USB cable. Before we launch the Arduino software, you are going to install the USB drivers.<br> | |||
<br>[[Image:KS0001-1.jpg|600px|frameless]]<br> | |||
Plug one end of your USB cable into the Arduino and the other into a USB socket on your computer.<br> | |||
When you connect Mega 2560 board to your computer at the first time, right click the icon of your “Computer” —>for “Properties”—> click the “Device manager”, under “Other Devices”, you should see an icon for “Unknown device” with a little yellow warning triangle next to it. This is your Arduino.<br> | |||
<br>[[Image:Driver 1.png|600px|frameless]]<br> | |||
Then right-click on the device and select the top menu option (Update Driver Software...) shown as the figure below.. | |||
<br>[[Image:Driver 2.png|600px|frameless]]<br> | |||
It will then be prompted to either “Search Automatically for updated driversoftware” or “Browse my computer for driver software”. Shown as below. In this page, select “Browse my computer for driver software”. | |||
<br>[[Image:Driver 3.png|600px|frameless]]<br> | |||
After that, select the option to browseand navigate to the “drivers” folder of Arduino installation. | |||
<br>[[Image:94 3-4.png|600px|frameless]]<br> | |||
Click “Next” and you may get a security warning, if so, allow the software to be installed. Shown as below. | |||
<br>[[Image:Driver 5.png|600px|frameless]]<br> | |||
Once the software has been installed, you will get a confirmation message. Installation completed, click “Close”. | |||
<br>[[Image:02Driver2.png|600px|frameless]]<br> | |||
Up to now, the driver is installed well. Then you can right click “Computer” —>“Properties”—>“Device manager”, you should see the device as the figure shown below. | |||
<br>[[Image:02Driver3.png|600px|frameless]]<br> | |||
<br> | |||
====Introduction for Arduino IDE Toolbar==== | |||
Double-click the icon of Arduino software downloaded well, you will get the interface shown below. | |||
<br>[[Image:Ks0313图片1.png|600px|frameless]]<br> | |||
('''Note:''' if the Arduino software loads in the wrong language, you can change it in the preferences dialog. See [https://www.arduino.cc/en/Guide/Environment-Languages the environment page] for details.) | |||
<br>[[Image:02IDE.png|600px|frameless]]<br> | |||
The functions of each button on the Toolbar are listed below: | |||
<br>[[Image:IDE.png|600px|frameless]]<br> | |||
{| class="wikitable" cellpadding="1" cellspacing="1" | |||
|- | |||
!scope="row" |[[Image:IDE 1.png|600px|frameless]] Verify/Compile | |||
| Check the code for errors | |||
|- | |||
!scope="row" |[[Image:IDE 2.png|600px|frameless]] Upload | |||
| Upload the current Sketch to the Arduino | |||
|- | |||
!scope="row" |[[Image:IDE 3.png|600px|frameless]] New | |||
| Create a new blank Sketch | |||
|- | |||
! scope="row" |[[Image:IDE 4.png|600px|frameless]] Open | |||
| Show a list of Sketches | |||
|- | |||
! scope="row" |[[Image:IDE 5.png|600px|frameless]] Save | |||
| Save the current Sketch | |||
|- | |||
! scope="row" |[[Image:IDE 6.png|600px|frameless]] Serial Monitor | |||
| Display the serial data being sent from the Arduino | |||
|- | |||
|} | |||
<br> | |||
===Step2| Connect the board=== | |||
Connect the Mega 2560 board to your computer using the USB cable. The green power LED should go on. | |||
<br>[[Image:02 Step2.jpg|600px|frameless]]<br> | |||
<br> | |||
===Step3| Select the Arduino Board === | |||
Open the Arduino IDE, you’ll need to click the “Tools”, then select the Board that corresponds to your Arduino. | |||
<br>[[Image:02 Step3.jpg|600px|frameless]]<br> | |||
<br> | |||
===Step4| Select the Serial Port=== | |||
Select the serial device of the Arduino board from the '''Tools | Serial Port menu'''. This is likely to be COM3 or higher (COM1and COM2 are usually reserved for hardware serial ports). To find out, you can disconnect your Arduino board and re-open the menu; the entry that disappears should be the Arduino board. Reconnect the board and select that serial port.<br> | |||
Here you should select COM 7 as below. | |||
<br>[[Image:02 Step4.jpg|700px|frameless]]<br> | |||
<br> | |||
'''Note:''' to avoid errors, the COM Port should keep the same as the Ports shown on Device Manager. | |||
<br>[[Image:02 Step4-1.jpg|700px|frameless]]<br> | |||
<br>[[Image:02 Step4-2.jpg|700px|frameless]]<br> | |||
<br> | |||
===Step5| Upload the Program=== | |||
Below is an example program for displaying the Hello World!<br> | |||
Copy and paste the code to the Arduino environment IDE. | |||
<pre> | |||
int val;//define variable val | |||
int ledpin=13;// define digital pin13 | |||
void setup() | |||
{ | |||
Serial.begin(9600);// set the baud rate at 9600. When connected to a specific device, (e.g. bluetooth), the baud rate needs to be the same with the device. | |||
pinMode(ledpin,OUTPUT);// initialize digital pin 13 as output. When using I/O ports on an Arduino, this kind of set up is always needed. | |||
} | |||
void loop() | |||
{ | |||
val=Serial.read();// read the instruction or character from PC to Arduino, and assign them to Val. | |||
if(val=='R')// determine if the instruction or character received is an “R”. | |||
{ // if it’s “R”, | |||
digitalWrite(ledpin,HIGH);// set the LED on digital pin 13 on. | |||
delay(500); | |||
digitalWrite(ledpin,LOW);// set the LED on digital pin 13 off. | |||
delay(500); | |||
Serial.println("Hello World!");// display“Hello World!”. | |||
} | |||
} | } | ||
</pre> | |||
<br> | |||
Then click verify button to check the errors. If compiling successfully, the message "Done compiling." will appear in the status bar. | |||
<br>[[Image:02 Step5.png|800px|frameless]]<br> | |||
<br> | |||
After that, click the “Upload” button to upload the code. Wait a few seconds - you should see the RX and TX leds on the board flashing. If the upload is successful, the message "Done uploading." will appear in the status bar. (Note: If you have an Arduino Mini, NG, or other board, you'll need to physically present the reset button on the board immediately before pressing the upload button.) | |||
<br>[[Image:02 Step5-1.png|800px|frameless]]<br> | |||
<br> | |||
===Step6| Open the Serial Monitor=== | |||
After that, click the serial monitor button to open the serial monitor. | |||
<br>[[Image:UNO monitor.png|600px|frameless]]<br> | |||
Then set the baud rate as 9600, enter an “R” and click Send, you should see the RX led on the board blink once, and then D13 led blink once, finally "Hello World!" is showed on the monitor, the TX led blink once. Congrats! | |||
<br>[[Image:Mega hello world.png|700px|frameless]]<br> | |||
<br> | |||
== Package List == | |||
* keyestudio MEGA 2560 R3 BOARD * 1pcs | |||
* USB cable * 1pcs | |||
<br>[[Image:图片1-KS0002.png|800px|frameless]]<br> | |||
<br> | |||
==Other Resources== | |||
* You might also want to look at:<br> | |||
[https://www.arduino.cc/en/Tutorial/HomePage the examples] for using various sensors and actuators;<br> | |||
[https://www.arduino.cc/reference/en/ the reference] for the Arduino language;<br> | |||
The text of the Arduino getting started guide is licensed under a [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 License]. Code samples in the guide are released into the public domain.<br> | |||
* Video: <br> | |||
http://video.keyestudio.com/ks0002/ | |||
* PDF <br> | |||
https://fs.keyestudio.com/KS0002 | |||
<br> | |||
==Troubleshooting== | |||
If you have problems, please see the [https://www.arduino.cc/en/Guide/Troubleshooting troubleshooting suggestions]. | |||
== Extensions == | |||
* [http://wiki.keyestudio.com/index.php/Ks0077(78,_79)_keyestudio_Super_Learning_Kit_for_Arduino keyestudio Super Learning Kit ] | |||
* [http://wiki.keyestudio.com/index.php/Ks0080(81,_82)keyestudio_Maker_Learning_Kit_for_Arduino keyestudio Maker Learning Kit ] | |||
<br> | |||
==Get One Now== | |||
* [https://www.keyestudio.com/1pcs-keyestudio-mega-2560-r3-development-board-1pcs-usb-cablemanual-for-arduino-mega-p0363.html '''Official Website''' ] | |||
* [https://www.amazon.com/dp/B016JWNYBE '''From Amazon'''] | |||
* [https://www.aliexpress.com/store/product/2014-the-last-new-MEGA-2560-R3-development-board-FOR-arduino-an-improved-version/1452162_32247818078.html?spm=2114.12010612.8148356.1.3ef32ca4pylpyF '''From Aliexpress''' ] | |||
* [https://www.ebay.com/itm/132517027123 '''From eBay''' ] | |||
[[Category: Arduino Board]] | [[Category: Arduino Board]] |
Latest revision as of 11:26, 29 April 2021
Introduction
Keyestudio Mega 2560 R3 is a microcontroller board based on the ATMEGA2560-16AU , fully compatible with ARDUINO MEGA 2560 REV3.
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, 2 ICSP headers, and a reset button.
It contains everything needed to support the microcontroller. With its bootloader, program can be downloaded directly with USB and you don’t need to use other external programmer.
Just simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.
The Mega 2560 board is compatible with most shields designed for the Uno.
The 2560 R3 differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega16U2 programmed as a USB-to-serial converter.
The MEGA 2560 is designed for more complex projects. With 54 digital I/O pins, 16 analog inputs and a larger space for your sketch, it is the recommended board for 3D printers and robotics projects. This gives your projects plenty of room and opportunities.
Design of Power Supply
There are two choices (direct power supply trough USB or external power supply) for the power supply system of Arduino Mega, and they can be automatically switched. External power supply can be AC-to-DC adapter or battery. Voltage input of this control board is 6V~12V, but if the supplied voltage is greater than 12V, the voltage stabilizing device will be likely to be overheated to damage Arduino MEGA. So we suggest the power supply should be 6.5~12V in operation and recommended supply is 7.5 or 9V.
TECH SPECS
Microcontroller | ATMEGA2560-16AU |
---|---|
Operating Voltage | 5V |
Input Voltage (recommended) | 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 |
PCB Dimensions
Element and Pin Interfaces
Here is an explanation of what every element and interface of the board does:
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. | |
GND
Ground pins | |
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). | |
SDA
IIC communication pin | |
SCL
IIC communication pin | |
ICSP (In-Circuit Serial Programming) Header
the AVR, an Arduino micro-program header consisting of MOSI, MISO, SCK, RESET, VCC, and GND. Connected to the ATMEGA16U2-MU. When connecting to PC, program the firmware to ATMEGA16U2-MU. | |
USB Connection
Arduino board can be powered via USB connector. | |
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. | |
ATMEGA 16U2-MU
USB to serial chip, can convert the USB signal into serial port signal. | |
TX LED
Onboard you can find the label: TX (transmit) | |
RX LED
Onboard you can find the label: RX(receive ) | |
Crystal Oscillator
How does Arduino calculate time? by using a crystal oscillator. | |
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. | |
DC Power Jack
Arduino board can be supplied with an external power DC7-12V from the DC power jack. | |
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. | |
RESET Header
Connect an external button to reset the board. The function is the same as reset button. | |
Power Pin 3V3
A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA. | |
Power Pin 5V
Provides 5V output voltage | |
Vin
You can supply an external power input DC7-12V through this pin to Arduino board. | |
Analog Pins
Onboard has 16 analog inputs, labeled A0 to A15. | |
RESET Button
You can reset your Arduino board, for example, start the program from the initial status. You can use the RESET button. | |
ICSP (In-Circuit Serial Programming) Header
the AVR, an Arduino micro-program header consisting of MOSI, MISO, SCK, RESET, VCC, and GND. | |
Microcontroller
Each Arduino board has its own microcontroller. You can regard it as the brain of your board. | |
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
- 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 ATmega16U2 USB-to-TTL Serial chip.
- PWM Pins (Pulse-Width Modulation): D2 to D13, and D44 to D46.
Provide 8-bit PWM output with the analogWrite() function.
- 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.
- 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.
- IIC communication: D20 (SDA); D21 (SCL). Support TWI communication using the Wire library.
Warnings
1. The Mega 2560 has a resettable polyfuse that protects your computer's USB ports from shorts and overcurrent. If more than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed.
2. Automatic (Software) Reset:
Rather than requiring a physical press of the reset button before an upload, the Mega 2560 board is designed in a way that allows it to be reset by software running on a connected computer.
3. The Mega 2560 board contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's labeled "RESET-EN". You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see this forum thread for details.
Detailed Use with ARDUINO Software as follows:
Step1 | Download the Arduino environment (IDE)
When you get the Mega 2560 development board, first you should install the Arduino software and driver.
We usually use the Windows software Arduino 1.5.6 version. You can download it from the link below:
https://www.arduino.cc/en/Main/OldSoftwareReleases#1.5.x
Or you can browse the ARDUINO website to download the latest version from this link, https://www.arduino.cc, pop up the following interface.
Then click the SOFTWARE on the browse bar, you will have two options ONLINE TOOLS and DOWNLOADS.
Click DOWNLOADS, it will appear the latest software version of ARDUINO 1.8.5 shown as below.
In this software page, on the right side you can see the version of development software for different operating systems. ARDUINO has a powerful compatibility. You should download the software that is compatible with the operating system of your computer.
We will take WINDOWS system as an example here. There are also two options under Windows system, one is installed version, the other is non-installed version.
For simple installed version, first click Windows Installer, you will get the following page.
This way you just need to click JUST DOWNLOAD, then click the downloaded file to install it.
For non-installed version, first click Windows ZIP file, you will also get the pop-up interface as the above figure.
Click JUST DOWNLOAD, and when the ZIP file is downloaded well to your computer, you can directly unzip the file and click the icon of ARDUINO software to start it.
Installing Arduino (Windows)
Install Arduino with the exe. Installation package downloaded well.
Click“I Agree”to see the following interface.
Click “Next”. Pop up the interface below.
You can press Browse… to choose an installation path or directly type in the directory you want.
Then click “Install” to initiate installation.
Wait for the installing process, if appear the interface of Window Security, just continue to click Install to finish the installation.
Installing Driver
Next, we will introduce the driver installation of Mega 2560 R3 development board. The driver installation may have slight differences in different computer systems. So in the following let’s move on to the driver installation in the WIN 7 system.
The Arduino folder contains both the Arduino program itself and the drivers that allow the Arduino to be connected to your computer by a USB cable. Before we launch the Arduino software, you are going to install the USB drivers.
Plug one end of your USB cable into the Arduino and the other into a USB socket on your computer.
When you connect Mega 2560 board to your computer at the first time, right click the icon of your “Computer” —>for “Properties”—> click the “Device manager”, under “Other Devices”, you should see an icon for “Unknown device” with a little yellow warning triangle next to it. This is your Arduino.
Then right-click on the device and select the top menu option (Update Driver Software...) shown as the figure below..
It will then be prompted to either “Search Automatically for updated driversoftware” or “Browse my computer for driver software”. Shown as below. In this page, select “Browse my computer for driver software”.
After that, select the option to browseand navigate to the “drivers” folder of Arduino installation.
Click “Next” and you may get a security warning, if so, allow the software to be installed. Shown as below.
Once the software has been installed, you will get a confirmation message. Installation completed, click “Close”.
Up to now, the driver is installed well. Then you can right click “Computer” —>“Properties”—>“Device manager”, you should see the device as the figure shown below.
Introduction for Arduino IDE Toolbar
Double-click the icon of Arduino software downloaded well, you will get the interface shown below.
(Note: if the Arduino software loads in the wrong language, you can change it in the preferences dialog. See the environment page for details.)
The functions of each button on the Toolbar are listed below:
Step2| Connect the board
Connect the Mega 2560 board to your computer using the USB cable. The green power LED should go on.
Step3| Select the Arduino Board
Open the Arduino IDE, you’ll need to click the “Tools”, then select the Board that corresponds to your Arduino.
Step4| Select the Serial Port
Select the serial device of the Arduino board from the Tools | Serial Port menu. This is likely to be COM3 or higher (COM1and COM2 are usually reserved for hardware serial ports). To find out, you can disconnect your Arduino board and re-open the menu; the entry that disappears should be the Arduino board. Reconnect the board and select that serial port.
Here you should select COM 7 as below.
Note: to avoid errors, the COM Port should keep the same as the Ports shown on Device Manager.
Step5| Upload the Program
Below is an example program for displaying the Hello World!
Copy and paste the code to the Arduino environment IDE.
int val;//define variable val int ledpin=13;// define digital pin13 void setup() { Serial.begin(9600);// set the baud rate at 9600. When connected to a specific device, (e.g. bluetooth), the baud rate needs to be the same with the device. pinMode(ledpin,OUTPUT);// initialize digital pin 13 as output. When using I/O ports on an Arduino, this kind of set up is always needed. } void loop() { val=Serial.read();// read the instruction or character from PC to Arduino, and assign them to Val. if(val=='R')// determine if the instruction or character received is an “R”. { // if it’s “R”, digitalWrite(ledpin,HIGH);// set the LED on digital pin 13 on. delay(500); digitalWrite(ledpin,LOW);// set the LED on digital pin 13 off. delay(500); Serial.println("Hello World!");// display“Hello World!”. } }
Then click verify button to check the errors. If compiling successfully, the message "Done compiling." will appear in the status bar.
After that, click the “Upload” button to upload the code. Wait a few seconds - you should see the RX and TX leds on the board flashing. If the upload is successful, the message "Done uploading." will appear in the status bar. (Note: If you have an Arduino Mini, NG, or other board, you'll need to physically present the reset button on the board immediately before pressing the upload button.)
Step6| Open the Serial Monitor
After that, click the serial monitor button to open the serial monitor.
Then set the baud rate as 9600, enter an “R” and click Send, you should see the RX led on the board blink once, and then D13 led blink once, finally "Hello World!" is showed on the monitor, the TX led blink once. Congrats!
Package List
- keyestudio MEGA 2560 R3 BOARD * 1pcs
- USB cable * 1pcs
Other Resources
- You might also want to look at:
the examples for using various sensors and actuators;
the reference for the Arduino language;
The text of the Arduino getting started guide is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the guide are released into the public domain.
- Video:
http://video.keyestudio.com/ks0002/
- PDF
https://fs.keyestudio.com/KS0002
Troubleshooting
If you have problems, please see the troubleshooting suggestions.
Extensions