Difference between revisions of "SunFounder Mercury Board"
Line 1: | Line 1: | ||
− | + | ||
− | Overview | + | =Overview= |
SunFounder Mercury board is totally compatible with the official Arduino Mega2560, with also ATmega2560 as the processor, the same Optiboot bootloader as Uno. | SunFounder Mercury board is totally compatible with the official Arduino Mega2560, with also ATmega2560 as the processor, the same Optiboot bootloader as Uno. | ||
− | Also it has 54 digital I/Os pins, 16 analog inputs, 256KB program storage, 16MHz crystal oscillator, etc. | + | Also it has 54 digital I/Os pins, 16 analog inputs, 256KB program storage, 16MHz crystal oscillator, etc.<br> |
− | Features that make it unique: beautiful red PCB, parallel yellow and red pins, colorful design; uses FTDI232R for USB-to-serial; adopts Type-C, so far the only USB port that supports reversible plug orientation; all I/O ports with two pins (male and female), free to use - just plug Dupont wires regardless of M or F; adds a 5V power switch to control the board power, which may be expected by mass hobbyists (switch off the board when not in use, avoiding frequent plugging); reset button at the board side for convenience; Atmega2560 Microcontroller is packaged in patch which can save much space. | + | Features that make it unique: beautiful red PCB, parallel yellow and red pins, colorful design; uses FTDI232R for USB-to-serial; adopts Type-C, so far the only USB port that supports reversible plug orientation; all I/O ports with two pins (male and female), free to use - just plug Dupont wires regardless of M or F; adds a 5V power switch to control the board power, which may be expected by mass hobbyists (switch off the board when not in use, avoiding frequent plugging); reset button at the board side for convenience; Atmega2560 Microcontroller is packaged in patch which can save much space.<br> |
− | Introduction | + | =Introduction= |
− | The SunFounder Mercury Board is a microcontroller board based on the ATmega2560. 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, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; | + | The SunFounder Mercury Board is a microcontroller board based on the ATmega2560. 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, an ICSP header, and a reset button. It contains everything needed to support the microcontroller;<br> |
− | Power Types(USB Port/Jack) | + | =Power Types(USB Port/Jack)= |
− | Every Arduino board needs a way to be connected to a power source. You can power the Mercury board by connecting it to your computer via a Type-C USB cable, or by an AC-to-DC adapter or battery. The jack supports a voltage range of 7-12V. Though you're not recommended to use as up to12V, because the adapter is AC to DC, a slight fault in the filter can cause the board to be burnt. You may consider our 9V adapter (on Amazon http://www.amazon.com/dp/B01ABTKHIO). | + | Every Arduino board needs a way to be connected to a power source. You can power the Mercury board by connecting it to your computer via a Type-C USB cable, or by an AC-to-DC adapter or battery. The jack supports a voltage range of 7-12V. Though you're not recommended to use as up to12V, because the adapter is AC to DC, a slight fault in the filter can cause the board to be burnt. You may consider our 9V adapter (on Amazon http://www.amazon.com/dp/B01ABTKHIO). <br> |
− | You can upload the code to the board via the USB cable. | + | You can upload the code to the board via the USB cable.<br> |
− | Speaking of power, there is a power switch which is unique among Arduino compatibles. After you've finished an experiment or want to take a break, just switch off the board – in the long term, USB plugging/unplugging can be reduced. | + | Speaking of power, there is a power switch which is unique among Arduino compatibles. After you've finished an experiment or want to take a break, just switch off the board – in the long term, USB plugging/unplugging can be reduced. <br> |
− | Pins (5V, 3.3V, GND, Analog, Digital, PWM, AREF) | + | =Pins (5V, 3.3V, GND, Analog, Digital, PWM, AREF)= |
− | The Mercury board has pins of several functions, which is marked on the board. | + | The Mercury board has pins of several functions, which is marked on the board.<br> |
− | GND: ground. There are multiple GND pins on Mercury. They are connected with each other, so you can connect any of them in your circuit. | + | GND: ground. There are multiple GND pins on Mercury. They are connected with each other, so you can connect any of them in your circuit. <br> |
5V&3.3V: There are 5V and 3.3V voltage regulator chips on the board, thus able to supply 5V and 3.3V. You can choose which to use based on actual situations. | 5V&3.3V: There are 5V and 3.3V voltage regulator chips on the board, thus able to supply 5V and 3.3V. You can choose which to use based on actual situations. | ||
Analog pins: You can tell from the pin name A0-A15: A is short for analog. These pins can read values of analog sensors and convert them to digital ones which we can read. By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and analogReference() function. All analog pins support I/O function and can be used as digital pins, though we don't usually do. | Analog pins: You can tell from the pin name A0-A15: A is short for analog. These pins can read values of analog sensors and convert them to digital ones which we can read. By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and analogReference() function. All analog pins support I/O function and can be used as digital pins, though we don't usually do. | ||
Line 50: | Line 50: | ||
Schematic | Schematic | ||
提供PDF浏览 | 提供PDF浏览 | ||
− | http://wiki.sunfounder.cc/images/7/74/SunFounder_MARS_Schematic.pdf | + | [http://wiki.sunfounder.cc/images/7/74/SunFounder_MARS_Schematic.pdf][[File:PDF.jpg]]<br> |
How to Use | How to Use | ||
Preparations | Preparations |
Revision as of 07:36, 6 April 2017
Contents
Overview
SunFounder Mercury board is totally compatible with the official Arduino Mega2560, with also ATmega2560 as the processor, the same Optiboot bootloader as Uno.
Also it has 54 digital I/Os pins, 16 analog inputs, 256KB program storage, 16MHz crystal oscillator, etc.
Features that make it unique: beautiful red PCB, parallel yellow and red pins, colorful design; uses FTDI232R for USB-to-serial; adopts Type-C, so far the only USB port that supports reversible plug orientation; all I/O ports with two pins (male and female), free to use - just plug Dupont wires regardless of M or F; adds a 5V power switch to control the board power, which may be expected by mass hobbyists (switch off the board when not in use, avoiding frequent plugging); reset button at the board side for convenience; Atmega2560 Microcontroller is packaged in patch which can save much space.
Introduction
The SunFounder Mercury Board is a microcontroller board based on the ATmega2560. 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, an ICSP header, and a reset button. It contains everything needed to support the microcontroller;
Power Types(USB Port/Jack)
Every Arduino board needs a way to be connected to a power source. You can power the Mercury board by connecting it to your computer via a Type-C USB cable, or by an AC-to-DC adapter or battery. The jack supports a voltage range of 7-12V. Though you're not recommended to use as up to12V, because the adapter is AC to DC, a slight fault in the filter can cause the board to be burnt. You may consider our 9V adapter (on Amazon http://www.amazon.com/dp/B01ABTKHIO).
You can upload the code to the board via the USB cable.
Speaking of power, there is a power switch which is unique among Arduino compatibles. After you've finished an experiment or want to take a break, just switch off the board – in the long term, USB plugging/unplugging can be reduced.
Pins (5V, 3.3V, GND, Analog, Digital, PWM, AREF)
The Mercury board has pins of several functions, which is marked on the board.
GND: ground. There are multiple GND pins on Mercury. They are connected with each other, so you can connect any of them in your circuit.
5V&3.3V: There are 5V and 3.3V voltage regulator chips on the board, thus able to supply 5V and 3.3V. You can choose which to use based on actual situations.
Analog pins: You can tell from the pin name A0-A15: A is short for analog. These pins can read values of analog sensors and convert them to digital ones which we can read. By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and analogReference() function. All analog pins support I/O function and can be used as digital pins, though we don't usually do.
Digital pins: Pins 0-53 are digital pins. Each of the 54 digital pins on the Mega can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive 20 mA as recommended operating condition and has an internal pull-up resistor (disconnected by default) of 20-50 k ohm. A maximum of 40mA is the value that must not be exceeded to avoid permanent damage to the microcontroller.
They can be used for digital input and output. Digital signals are only 0 and 1.
The name of some pins begins with a # (#3, #5, #6, etc.); they act as normal digital pins, but can also be used for something called Pulse-Width Modulation (PWM). The pins are similar to analog output ones. For example, making an RGB LED flash various colors (refer to the page under LEARN->Get Tutorials) is realized by changing the output value of the PWM pin to control LED colors.
The digital pins 0 and 1 can also be used as serial data sending and receiving ports, 0(RX) and 1(TX). Both have an indicator LED, which will blink when you're uploading sketches to Mercury, meaning the board is communicating with your computer via serial interface. In addition, some pins have specialized functions:
• Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16 (TX); Serial 3: 15 (RX) and 14 (TX). 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. • External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), and 21 (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. • PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with the analogWrite() function. • SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI communication using the SPI library. The SPI pins are also broken out on the ICSP header, which is physically compatible with the Arduino /Genuino Uno and the old Duemilanove and Diecimila Arduino boards. • LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off. • TWI: 20 (SDA) and 21 (SCL). Support TWI communication using the Wire library. Note that these pins are not in the same location as the TWI pins on the old Duemilanove or Diecimila Arduino boards.
RESET: To rerun the program. It is connected with the RESET button. Just press it down to reset the board. IOREF: provides a reference voltage for digital I/O ports. Most of the time you can leave this pin alone. AREF: provides a reference voltage for analog I/O ports. Most of the time you can leave this pin alone. It is sometimes used to set an external reference voltage (between 0V and 5V) as the upper limit for the analog input pins. Parameters
- ATmega2560 Microcontroller
- FTDI232R for USB-to-serial and Type-C USB Port
- Operating Voltage: 5V; Input Voltage: 7-12V (9V preferred)
- Parallel male and female I/O Pins
- 5V power switch to control the board power
- 54 digital I/Os Pins (15 ports support PWM output)
- 16 analog Inputs
- ICSP port for bootloader
- 256KB program storage (8KB for bootloader)
- 8KB RAM
- 4KB EEPROM
- 16 MHz crystal oscillator
- Output: 5V, 3.3V input compatible
- Compatible with all peripheral modules for Arduino Mega2560
Schematic
提供PDF浏览
[1]
How to Use
Preparations
Type-C USB cable *1
SunFounder Mercury Board * 1
PC * 1
Install Arduino Software (IDE)
If you haven't installed the Arduino Integrated Development Environment (IDE) yet, go to https://www.arduino.cc/en/Main/Software .
On the page, check the software list on the right side under Download the Arduino Software. Find the version that suits your operation system and click to download. For the details of installing steps, you can refer to the guide on Installing the Arduino IDE.
For Windows Users
For detailed installation, you can refer to the steps for Windows users in Installing Arduino IDE. It would be quite simple really: just download the zip package needed and unzip and then install step by step following the instructions.
Plug in the Mercury Board
Connect the Mercury board to your computer via a USB Type-C cable. Now you need to know whether the power switch is ON or OFF. Observe that if the green power indicator LED brightens and the LED connected to pin 13 blinks slowly, it means the switch is pushed at ON state. The USB connection with the PC is necessary to program the board and not just to power it up.
If you've downloaded the Windows Installer, when you plug the board into the computer, the system will install the driver automatically. After a while, there may appear a prompt message (some computers may not prompt), which means the driver is installed successfully. You can check the port which the board is connected to, by going to Device Manager -> Ports. Then you can see USB Serial Port (COMx) (x means the port number. E.g. In my computer it's COM50; but yours should be different). If this appears, it means your computer have recognized the board.
Open IDE Double click the Arduino icon (arduino.exe) created by the installation process. Then an empty IDE window will appear. Now open an example sketch (code file) to learn the basics. Select File > Examples >01.Basics > Blink. Then Tools ->Board->Arduino/Genuino Uno.
Then select Tools ->Port and select the port you just checked on Device Manager.
Click the Upload icon to upload the sketch to your board. And the icon Compile to compile sketches (usually used to refer to a code file), which always checks the code. Also when you click Upload, the code will be compiled. The sketches can be uploaded to the board when there is nothing wrong with them. Therefore, generally you just need to click Upload.
If "Done uploading" appears at the bottom of the window, it means the sketch has been successfully uploaded. And if you see the pin 13(L) LED starts to flicker, it means the code has been successfully run.
For more details about Arduino IDE, go to Arduino Software (IDE) http://www.arduino.cc/en/Guide/Environment If your sketch fails upload, go to Troubleshooting http://www.arduino.cc/en/Guide/Troubleshooting When the board is not used, push the power switch to OFF. For Linux Users It may be a little more complex to install IDE on Linux. Refer to the installation steps for Linux users on Installing Arduino IDE page mentioned previously. Plug in the Mercury Board Connect the Mercury board to your computer via a USB Type-C cable. Now you need to know whether the power switch is ON or OFF. Observe that if the green power indicator LED brightens and the LED connected to pin 13 blinks slowly, it means the switch is pushed at ON state. The USB connection with the PC is necessary to program the board and not just to power it up.
The serial port for Mercury will be assigned by the computer. Open the IDE Double click the Arduino icon (arduino.exe) created by the installation process. Then an empty IDE window will appear.
Now open an example sketch (code file) to learn the basics. Select File > Examples. There are some built-in examples sketches included in the IDE. As a beginner, you can start from studying these examples. Before uploading the code to your board, first you need to select the correct board. For example, select Adruino/Genuino Uno if you’re using an Uno board.
Then select Port. The port here (/dev/ttyUSB1) may be different from the Arduino board name (Uno, etc.).
Click the right arrow button to upload the sketch to the Arduino board. If "avrdude:ser_open():cann’t open device”/dev/ttyUSB1”:Permission denied" is prompted, you need the permission to open the serial port. Take the following steps. Open a terminal and type in: ls –l /dev/ttyUSB* Then the following contents will appear: crw-rw---- 1 root dialout 166,0 May 11 17:52 /dev/ttyUSB1 The data we need is "dialout" (the group owner of the file). Now we just need to add a user to the group: sudo usermod -a -G dialout <username> "<username>" is your user name in Linux. Type in the password. Note: After the modification, you need to log out and log in again to validate it. Now open IDE and upload the sketch. If "Done uploading" appears at the bottom of the window, it means the sketch has been successfully uploaded. And you can see the LED connected to pin 13 flickers on the board.
For Mac OS X Users Just download the Arduino IDE and then copy it into application folder to complete installtion. Refer to the installation steps for Mac OS X users on Installing Arduino IDE Plug in the Board Connect the board to your computer via a USB Type-C cable. Now you need to know whether the power switch is ON or OFF. Observe that if the green power indicator LED brightens and the LED connected to pin 13 blinks slowly, it means the switch is pushed at ON state. The USB connection with the PC is necessary to program the board and not just to power it up.
The serial port for the controller will be assigned by the computer.
Using the IDE
Double-click the Arduino icon (arduino.exe) created by the installation process
Then the Arduino IDE will appear.
Now let's some basic operations in IDE with an example code. Click File > Examples >01.Basics > Blink and a new window will show up.
then port, The port here (/dev/tty.usbserial-A504NIZ9) may be different from the Arduino board name (Uno, etc.).
Resource
AT mega328P datasheet
FTDI Driver Download
FT232R datasheet