2017년 2월 5일 일요일

Seeeduino Mega



Seeeduino Mega

Introduction

Seeeduino Mega is a powerful micro-controller derived from Arduino Mega. It features ATmega2560 processor which brings a large number of I/O pins, as much as 70 digital I/O, 16 analog inputs, 14 PWM, and 4 hardware serial ports. Compared to Arduino Mega, we shrunk the volume of Arduino Mega by at least 30% and made it 100% compatible with Seeed Shield products. And as a member of Seeeduino series, Seeeduino Mega inherits deliberate details from Seeeduino, like selectable operating voltage(3.3V/5V), right angle reset button, and so on.

Application Ideas

  • Internet of Things
  • DIY
  • Robot
  • Smart House
  • 3D Printer
  • Industrial
Here are some funny projects for your reference.
888 LED CubeHexapod RobotDIY Arduino 3D Printer
Make it NowMake it NowMake it Now

Features

  • Compatible with most Arduino Duemilanove and Diecimila Shields
  • ATmega 2560 @ 16MHz
  • Selectable 5V/3.3V operation
  • 70 Digital IO
  • 16 Analog inputs
  • 14 PWM outputs
  • 4 Hardware serial ports (UART)
  • Small form factor, 30% smaller than Arduino Mega
  • Easy to program, no additional hardware is required to load firmware – just plug to a USB port and you’re good to go.
  • ICSP Header
  • Can be powered through a battery or through a AC to DC adaptor

Specification

ItemValue
MicrocontrollerATmega2560
Operating Voltage5V/3.3V
Input Voltage7-12V
Digital I/O Pins70
PWM Channels14
Analog Input Channels16
DC Current per I/O Pin20 mA
Flash Memory256 KB
RAM8 KB
EEPROM4 KB
Clock Speed16 MHz

Hardware Overview

The image below shows an overview of Seeeduino Mega hardware features. The pin-out and alternate functions of various pins of Seeeduino Mega are shown in the pin-out diagram. This could be used as a quick reference.
  • Mini USB Mini USB Port is used to connect the board to your PC for programming and for powering up.
  • Mode Switch Slide switch used to allow or avoid automatic reset and upload.
  • Power Switch Slide switch used to change the logic level and power output of the board to either 5V or 3.3V. Nowadays many new and great sensors are being develop to work with 3.3V, with other duino boards you would need to place a logic level converter between the board and these sensor(s), with the Seeeduino Mega all you have to do is slide the switch!
  • DC Input The DC Input allows your Seeeduino Mega to be powered from a wall adapter so that you can supply more power to your project if needed, for example when using DC motors or other high power devices. The DC input can be 7V-12V. As peak current is 2A when model is power on, DC Power is your better choice then USB power.
  • Reset This button is conveniently placed on the side to allow you to reset the Seeeduino board even when a shield is placed on top. This is not the case in other Arduino boards where the button is placed on top making it hard to access.
  • ICSP This is the ICSP connection for the ATmega328P, it is located in the standard ICSP/SPI position for Arduino Uno, Due, Mega, and Leonardo compatible hardware (e.g. shields) that may use this connector. The SPI pins in this port: MISO, SCK, and MOSI, are also connected to digital pins 12, 13, and 11 respectively just like those of the Arduino Uno.
  • Digital Pins There are up to 70 digital pins in Seeeduino Mega. Click here to see the pin mapping between Arduino Pins and Atmega2560 pins. Each of the 70 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. 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.
    • 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.
    • Analog: The Mega 2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). 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.
    • AREF: Reference voltage for the analog inputs. Used with analogReference().
    • Reset: Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.
    • The no marked pins: Use them with operating the Register.

Install the Driver

First of all, you need to:
  • Get a Micro-USB cable You need a Micro-USB cable first; the data cable of an Android Phone will do fine. If you can’t find one, you can buy one here.
  • Connect the board Connect the Arduino board to your computer using the USB cable. The green power LED (labelled PWR) should go on.
For Windows
Note
This drive is available for Windows XP, Windows Vista, Windows 7, Windows 8/8.1 and Windows 10.
enter image description here
  • Plug in your board and wait for Windows to begin its driver installation process. After a few moments, the process will fail, despite best efforts.
  • Click on the Start Menu, and open up the Control Panel.
  • While in the Control Panel, navigate to System and Security. Next, click on System. Once the System window is up, open the Device Manager.
  • Look under Ports (COM & LPT). You should find an open port named “Seeeduino Mega”. If there is no COM & LPT section, look under “Other Devices” for “Unknown Device”.
  • Right click on the “Seeeduino Mega” port and choose the “Update Driver Software” option.
  • Next, choose the “Browse my computer for Driver software” option.
  • Finally, navigate to and select the driver file named “Seeeduino Mega.inf”
  • Windows will finish up the driver installation from there.
For Mac OSX
You don’t need to install any drivers.

Getting Started

Note
This part is based on Arduino 1.6.9 under Windows 10.
First of all, you need to Install an Arduino Software.
Launch the Arduino application
Double-click the Arduino application (arduino.exe) you have previously downloaded.
Note
If the Arduino Software loads in a different language, you can change it in the preferences dialog. See the Arduino Software (IDE) page for details.
Open the Blink example
Open the LED blink example sketch: File > Examples >01.Basics > Blink.
enter image description here
Add Seeeduino to your Arduino IDE
Click on File > Preference, and fill Additional Boards Manager URLs with below url:https://raw.githubusercontent.com/Seeed-Studio/Seeeduino-Boards/master/package_seeeduino_index.json
Click OK to finish the setting. Then Click on Tools > Board > Boards Manager, find Seeeduino by Seeed Studio, and Install it.
enter image description here
Select your board
You’ll need to select the entry in the Tools > Board menu that corresponds to your Arduino. Selecting a Seeeduino Mega 2560.
enter image description here
Select your serial port
Select the serial device of the Arduino board from the Tools | Serial Port menu. This is likely to be COM3 or higher (COM1 and 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.
enter image description here
Note
On the Mac, this should be something with /dev/tty.USBmodem.
Upload the program
Now, simply click the “Upload” button in the environment. Wait a few seconds and if the upload is successful, the message “Done uploading.” will appear in the status bar.
enter image description here
A few seconds after the upload finishes, you should see the pin 13 (L) LED on the board start to blink (in orange). If it does, congratulations! You’ve gotten Arduino up-and-running. If you have problems, please see the troubleshooting suggestions.

Getting Started on Linux

For using on Linux, please go to Installing Arduino on Linux

Resources

FAQ

What is the different between Arduino Mega with Seeeduino Mega?
Seeeduino Mega is a powerful microcontroller derived from Arduino Mega. And there are the mainly difference list:
  • Use a mini USB to power and program
  • Add 3.3/5V system power switch
  • Add automatic reset mode swtich
  • Smaller size

Help us make it better

Thank you for choosing Seeed. A couple of months ago we initiated a project to improve our documentation system. What you are looking at now is the first edition of the new documentation system. Comparing to the old one, here is the progresses that we made:
  • Replaced the old documentation system with a new one that was developed from Mkdocs, a more widely used and cooler tool to develop documentation system.
  • Integrated the documentation system with our official website, now you can go to Bazaar and other section like Forum and Community more conveniently.
  • Reviewed and rewrote documents for hundreds of products for the system’s first edition, and will continue migrate documents from old wiki to the new one.
An easy-to-use instruction is as important as the product itself. We are expecting this new system will improve your experience when using Seeed’s products. However since this is the first edition, there are still many things need to improve, if you have any suggestions or findings, you are most welcome to submit the amended version as our contributor or give us suggestions in the survey below, Please don’t forget to leave your email address so that we can reply.
Happy hacking

Seeeduino GPRS



Seeeduino GPRS

Introduction

Seeeduino GPRS is a IoT panel, you can connect to the internet through GPRS wireless network with it. Making/answering voice calls and sending/receiving SMS messages are also supported. Meanwhile, Seeeduino GPRS supports FM radio function and bluetooth communication. Seeeduino GPRS is base on Atmage32U4 and SIM800H. Atmage32U4 is a microcontroller and it is compatible with Arduino. SIM800H support Quad-band 850/900/1800/1900MHz, it can transmit Voice, SMS and data information with low power consumption. SIM800H also brings some extra features like for example Bluetooth and FM radio. It is designed with power saving technique so that the current consumption is as low as 0.1mA in sleep mode.

Application Ideas

  • Internet of Things
  • Smart House
  • Wearable Designed
  • DIY Phone
  • Industrial
Here is some funny project for your reference.
Arduino GPS/GSM TrackerArduino Phone 2.0Arduino GPRS Weather Station
Make it NowMake it NowMake it Now

Features

  • Compatible with standard Arduino Leonardo
  • Quad-Band 850/900/1800/1900MHz
  • Headset jack
  • Convenient external SIM card holder
  • Control via AT commands
  • Supports Bluetooth
  • Supports FM Radio
  • Current < 2A
  • Arduino Leonardob Bootloader

Specification

SIM800H Model
ParameterValue
GPRS ModelSIM800H
Quad-Band850/900/1800/1900MHz
GPRS multi-slot class12/10
GPRS mobile station classB
Standard GSM phase2/2+
FM76~109MHz
BluetoothCompliant with 3.0+EDR
Supply voltage range3.4 ~ 4.4V
AVR Arduino Microcontroller
ParameterValue
MicrocontrollerATmega32u4
Flash Memory32KB
SRAM2.5kB
EEPROM1kB
Clock Speed16MHz
Operating Voltage5V
Digital I/O Pins20
PWM Channels7
Analog Input Channels12

Hardware Overview

The images below show an overview of Seeeduino GPRS hardware features. The pin-out and alternate functions of various pins of Seeeduino GPRS are shown in the pin-out diagram. This could be used as a quick reference.
  • Power Switch Slide switch used to change the logic level and power output of the board to either 5V or 3.3V. Nowadays many new and great sensors are being develop to work with 3.3V, with other duino boards you would need to place a logic level converter between the board and these sensor(s), with the Seeeduino GPRS board all you have to do is slide the switch!
  • DC Input The DC Input allows your Seeeduino GPRS board to be powered from a wall adapter so that you can supply more power to your project if needed, for example when using DC motors or other high power devices. The DC input can be 9V-12V and peak current is 2A. But there’s a hardware bug in Seeeduino GPRS that you have to notice. When an external power input, there’s very short 6V at the 5V pin, last about 2ms. It is risk to destroy the device that connected to 5V. So we recommend that don’t use the DC Input to power the system. And we had considered to fix the bug already, but will not come out very soon.
  • Breakout for SIM800h You can debug Sim800h by this interface.
  • ICSP This is the ICSP connection for the ATMEGA32U4-MUR, it is located in the standard ICSP/SPI position for Arduino Uno, Due, Mega, and Leonardo compatible hardware (e.g. shields) that may use this connector. The SPI pins in this port: MISO, SCK, and MOSI, please note that those pins DIDN’T connect to D11~D13.
  • LED PWR2 SIM800H Power Indication
  • LED STA Operating Status Indication
  • LED NET
StatusSIM800H Behavior
OffSIM800H is not running
64ms on/800ms offSIM800H not registered the network
64ms on/3000ms offSIM800H registered the network
64ms on/300ms offSIM800H communication is established

Install the Driver

First of all, you need to:
  • Get a Micro-USB cable You need a Micro-USB cable first; the data cable of an Android Phone will do fine. If you can’t find one, you can buy one here.
  • Connect the board Connect the Arduino board to your computer using the USB cable. The green power LED (labelled PWR) should go on.
For Windows
Note
This drive is available for Windows XP, Windows Vista, Windows 7, Windows 8/8.1 and Windows 10.
  • Plug in your board and wait for Windows to begin its driver installation process. After a few moments, the process will fail, despite best efforts.
  • Click on the Start Menu, and open up the Control Panel.
  • While in the Control Panel, navigate to System and Security. Next, click on System. Once the System window is up, open the Device Manager.
  • Look under Ports (COM & LPT). You should find an open port named “Seeeduino GPRS”. If there is no COM & LPT section, look under “Other Devices” for “Unknown Device”.
  • Right click on the “Seeeduino GPRS” port and choose the “Update Driver Software” option.
  • Next, choose the “Browse my computer for Driver software” option.
  • Finally, navigate to and select the driver file named “seeed_usb_serial.inf”
  • Windows will finish up the driver installation from there.
For Mac OSX
You don’t need to install any drivers.

Getting Started

Note
This part is based on Arduino 1.6.9 under Windows 10.
First of all, you need to Install an Arduino Software.
Launch the Arduino application
Double-click the Arduino application (arduino.exe) you have previously downloaded.
Note
If the Arduino Software loads in a different language, you can change it in the preferences dialog. See the Arduino Software (IDE) page for details.
Open the Blink example
Open the LED blink example sketch: File > Examples >01.Basics > Blink.
enter image description here
Select your board
You’ll need to select the entry in the Tools > Board menu that corresponds to your Arduino. Selecting a Arduino Leonardo.
enter image description here
Select your serial port
Select the serial device of the Arduino board from the Tools | Serial Port menu. This is likely to be COM3 or higher (COM1 and 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.
enter image description here
Note
On the Mac, this should be something with /dev/tty.USBmodem.
Upload the program
Now, simply click the “Upload” button in the environment. Wait a few seconds and if the upload is successful, the message “Done uploading.” will appear in the status bar.
enter image description here
A few seconds after the upload finishes, you should see the pin 13 (LED Pin 13) LED on the board start to blink (in green). If it does, congratulations! You’ve gotten Arduino up-and-running. If you have problems, please see the troubleshooting suggestions.

Getting Started on Linux

For using on Linux, please go to Installing Arduino on Linux
GPRS Function
Seeeduino GPRS offers the function of a mobile phone such as making/receiving voice calls, sending/receiving SMSes, make a TCP connection etc. Here are the Seeeduino GPRS Library, please download it to your computer to use Seeeduino GPRS. Here is a brief introduction.
To start to play with the Seeeduino GPRS, a headphone and a SIM card are required.
To make a call
Open the example sketch GPRS_CallUp in libraries/Seeeduino_GPRS/example/GPRS_CallUp/, replace the phone number in callUp function, then compile the sketch and upload it to your board. Seeeduino GPRS will call the number specified in the code.
#include <gprs.h> #include <SoftwareSerial.h> GPRS gprs; void setup() { Serial.begin(9600); Serial.println("GPRS - Call up Test..."); gprs.preInit();//power on SIM800 delay(1000); while(0 != gprs.init()) { //gprs init delay(1000); Serial.print("init error\r\n"); } Serial.println("Init success, start to call..."); gprs.callUp("150****9566"); } void loop() { //nothing to do }
To send an SMS
Just like calling, an SMS can be sent with Seeeduino GPRS. Open the example sketch GPRS_SendSMS in libraries/Seeeduino_GPRS/example/GPRS_SendSMS/, and replace the phone number and message in sendSMS function, then compile the sketch and upload it to your board. Seeeduino GPRS will send the message to the number specified in the code.
#include <gprs.h> #include <SoftwareSerial.h> GPRS gprs; void setup() { Serial.begin(9600); Serial.println("GPRS - Send SMS Test ..."); gprs.preInit(); delay(1000); while(0 != gprs.init()) { delay(1000); Serial.print("init error\r\n"); } Serial.println("Init success, start to send SMS message..."); gprs.sendSMS("130****3364","hello,world"); //define phone number and text } void loop() { //nothing to do }
To answer a Call & read an SMS
If someone calls or send a message to you, Seeeduino GPRS can also answer the call or read the message out. Open the example sketch GPRS_LoopHandle in libraries/Seeeduino_GPRS/example/GPRS_LoopHandle/, then compile the sketch and upload it to your board, the Seeeduino GPRS will poll to check if there is an incoming call or SMS. If there is an incoming call, Seeeduino GPRS will answer the call automatically. If there is an incoming SMS, Seeeduino GPRS will show the message in Serial Monitor.
#include <gprs.h> #include <SoftwareSerial.h> #include <stdio.h> char gprsBuffer[64]; int i = 0; char *s = NULL; int inComing = 0; GPRS gprs; void setup() { Serial.begin(9600); Serial.println("GPRS - LoopHandle Test..."); gprs.preInit(); while(0 != gprs.init()) { delay(1000); Serial.print("init error\r\n"); } Serial.println("Init success, start to monitor your call or message..."); } void loop() { if(gprs.serialSIM800.available()) { inComing = 1; }else{ delay(100); } if(inComing){ gprs.readBuffer(gprsBuffer,32,DEFAULT_TIMEOUT); Serial.print(gprsBuffer); if(NULL != strstr(gprsBuffer,"RING")) { gprs.answer(); }else if(NULL != (s = strstr(gprsBuffer,"+CMTI: \"SM\""))) { //SMS: $$+CMTI: "SM",24$$ char message[MESSAGE_LENGTH]; int messageIndex = atoi(s+12); gprs.readSMS(messageIndex, message,MESSAGE_LENGTH); Serial.print(message); } gprs.cleanBuffer(gprsBuffer,32); inComing = 0; } }
FM Radio Function
Seeeduino GPRS has a FM radio function. Open the example sketch FM_Test in libraries/Seeeduino_GPRS/example/FM_Test/, and connect a button to your board, then compile the sketch and upload it to your board, Seeeduino GPRS functions like an FM radio. Even the channel can be changed with the button.
#include <fm.h> #include <SoftwareSerial.h> int channelButton = 5; //used for changing channel FM fm; void setup() { pinMode(channelButton,INPUT); Serial.begin(9600); Serial.println("FM Test..."); fm.preInit(); while(0 != fm.powerOn()){ Serial.println("FM power on failed, try again..."); delay(2000); } fm.setVolume(6); //0,1,2,3,4,5,6 fm.scanChannel(); Serial.println("FM init success"); } void loop() { while(HIGH == digitalRead(channelButton)){ delay(50); } Serial.print("change Channel\r\n"); fm.channelNext(); while(LOW == digitalRead(channelButton)){ delay(50); } }
Bluetooth Function
Seeeduino GPRS can be used as a bluetooth device, but it is still not very stable yet. There are two examples sketches in library. The first one is Bluetooth AT Command, you can send AT command to Seeeduino GPRS through it, and the other one is Bluetooth_Communicate, you can communicate with Seeeduino GPRS in SPP profile with it, but it may go wrong while connecting to your bluetooth device or mobile. Below is the code of Bluetooth AT Command.
#include <bluetooth.h> #include <SoftwareSerial.h> #define DEFAULT_TIMEOUT 5 #define BT_BUF_LEN 32 BlueTooth bluetooth; char bluetoothBuffer[BT_BUF_LEN]; int start = 0; void setup() { Serial.begin(9600); Serial.println("Bluetooth AT Command Test..."); bluetooth.preInit(); delay(3*1000); while(0 != bluetooth.powerOn()){ //bluetooth PowerOn Serial.println("bluetooth power on failed, try again..."); delay(2000); } } void loop() { if(bluetooth.serialSIM800.available()) { start = 1; }else{ delay(500); } if(start){ //bluetooth.cleanBuffer(bluetoothBuffer,64); bluetooth.readBuffer(bluetoothBuffer,BT_BUF_LEN,DEFAULT_TIMEOUT); if(NULL != strstr(bluetoothBuffer,"+BTPAIRING:")){ bluetooth.acceptPairing(); } if(NULL != strstr(bluetoothBuffer,"+BTCONNECTING:")){ bluetooth.acceptConnect(); } start = 0; } }

Resources

Help us make it better

Thank you for choosing Seeed. A couple of months ago we initiated a project to improve our documentation system. What you are looking at now is the first edition of the new documentation system. Comparing to the old one, here is the progresses that we made:
  • Replaced the old documentation system with a new one that was developed from Mkdocs, a more widely used and cooler tool to develop documentation system.
  • Integrated the documentation system with our official website, now you can go to Bazaar and other section like Forum and Community more conveniently.
  • Reviewed and rewrote documents for hundreds of products for the system’s first edition, and will continue migrate documents from old wiki to the new one.
An easy-to-use instruction is as important as the product itself. We are expecting this new system will improve your experience when using Seeed’s products. However since this is the first edition, there are still many things need to improve, if you have any suggestions or findings, you are most welcome to submit the amended version as our contributor or give us suggestions in the survey below, Please don’t forget to leave your email address so that we can reply.
Happy hacking