DFRobot Romeo V2 Manual

All in one controller

Advertisement

Quick Links

Romeo V2­All in one Controller (R3) (SKU:DFR0225)
Contents
1  Introduction
2  Specification
Introduction
RoMeo V2[R3]is an All­in­One Arduino compatible microcontroller especially designed for robotics applications
from DFRobot. The Romeo benefits from the Arduino open source platform, it is supported by thousands of open
source codes, and can easily be expanded with Arduino Shields. The integrated 2 way DC motor driver and
Xbee socket allows you to start your project immediatly without the need for an additional motor driver or wirless
shield.
(/wiki/index.php/File:Warning_yellow.png)
NOTE:
Please select Leonardo board when uploading a sketch by Arduino IDE.
Serial port 0 or 1 Read more from Arduino.cc (https://www.arduino.cc/en/Reference/Serial): Please
use Serial1.***() instead of Serial.***() in code to communicate with devices connected to serial
interface, i.e. Pin 0/1. e.g. Bluetooth, WiFi module, Xbee etc. Serial.***() is for USB debugging on pc
serial monitor.
Analog 0: If you are going to use the Analog port 0, you have to pay attention to the switch(s1­s5),
turn it OFF please. There are five buttons connected to A0, if you turn ON the button switch,then the
A0 read value would be not the one you want.
Specification
Basic
The analog sensor port pin mapping on RoMeo v2 is
different from the version before. Be careful to wire your
sensor or other devices correctly or the wrong power
connection would destroy your device.
Please Turn OFF the Motor Power Switch when debugging
Romeo through USB cable. Or the external power
supply(>12V) will destroy your Romeo.
Feature
(http://www.dfrobot.com/wiki/index.php/DFRduino_Romeo­
(/wiki/index.php/File:RomeoV2.png)
DFRduino RoMeo V2 (R3)
Improvement compared with Romeo v1.1
All_in_one_Controller_V1.1(SKU:DFR0004))

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Romeo V2 and is the answer not in the manual?

Questions and answers

Summary of Contents for DFRobot Romeo V2

  • Page 1: Table Of Contents

    Contents 1  Introduction 2  Specification 3  RoMeo V2 Pinout 3.1  Power solution design 3.2  Example use of Button S1­S5 3.3  Pin Allocation 3.4  PWM Control Mode (/wiki/index.php/File:RomeoV2.png) 3.5  PLL Control Mode 4  Trouble shooting DFRduino RoMeo V2 (R3) 5  More Introduction RoMeo V2[R3]is an All­in­One Arduino compatible microcontroller especially designed for robotics applications from DFRobot. The Romeo benefits from the Arduino open source platform, it is supported by thousands of open source codes, and can easily be expanded with Arduino Shields. The integrated 2 way DC motor driver and Xbee socket allows you to start your project immediatly without the need for an additional motor driver or wirless shield. The analog sensor port pin mapping on RoMeo v2 is different from the version before. Be careful to wire your (/wiki/index.php/File:Warning_yellow.png) sensor or other devices correctly or the wrong power connection would destroy your device. Please Turn OFF the Motor Power Switch when debugging Romeo through USB cable. Or the external power supply(>12V) will destroy your Romeo. NOTE: Please select Leonardo board when uploading a sketch by Arduino IDE. Serial port 0 or 1 Read more from Arduino.cc (https://www.arduino.cc/en/Reference/Serial): Please use Serial1.***() instead of Serial.***() in code to communicate with devices connected to serial...
  • Page 2: Romeo V2 Pinout

    DC Supply:USB Powered or Compatible with Wide operating input voltage External 6V~23V DC the Arduino R3 Directly support Xbee and XBee form factor wifi,bluetooth DC Output:5V(200mA) / pin mapping and RF modules 3.3V(100mA) Analog Inputs: ON/OFF switch to control the system power from extermal Motor driver Continuous A0­A5, A6 ­ A11 motor power Output Current:2A (on digital pins 4, 3 Digital I/O extension(D14­D16) Microcontroller:ATmega32u4 6, 8, 9, 10, and S1­S5 switch replace jump cap Bootloader: Arduino Micro USB instead of A­B USB connector Leonardo PWM: 3, 5, 6, 9, Analog sensor extension port: Orange for Signal,Red for Serial Interface 10, 11, and 13. Vcc,Black for GND TTL Level(Serial1.***();) Provide 8­bit USB(Serial.***()) PWM output Size:89x84x14mm 5 key inputs for testing Auto sensing/switching external power input Support Male and Female Pin Header...
  • Page 3: Power Solution Design

    (/wiki/index.php/File:RomeoV2R3.png) Fig1: Romeo V2 Pin Out Power solution design This motor controller power solution is specially designed for the robotics application. Servo Power terminal It integrated an external servo power terminal. The range of this power input is about 5~12v. We recommend you to use 5v. So the servo power supply extension won't break the digital sensors connected to the 3p digital sensor interface. However,for driving 6~12v servos with the voltage input higher than 5v, it's not available to extend 5v sensor on all the digital sensor interface anymore. The servo power terminal won't supply system working voltage. Motor Power terminal The setting for the system & motor power switch: On: supply power to the motor driver and system power regulator. The input range is from 5~23 volts. It's suitable for most of robot platform. Off: Isolate the system power supply from the motor power. In this case, it requires to supply system voltage from Micro USB port,5v power source to 5v & GND pins directly or 5~23v power source to VIN & GND pins. Example use of Button S1­S5...
  • Page 4: Pin Allocation

    char msgs[5][15] = {   "Right Key OK ",    "Up Key OK    ",    "Down Key OK  ",    "Left Key OK  ",    "Select Key OK" }; char start_msg[15] = {   "Start loop "};                     int  adc_key_val[5] ={   30, 150, 360, 535, 760 }; int NUM_KEYS = 5; int adc_key_in; int key=‐1; int oldkey=‐1; void setup() {    pinMode(13, OUTPUT);  //we'll use the debug LED to output a heartbeat   Serial.begin(9600);   /* Print that we made it here */   Serial.println(start_msg);  void loop()    adc_key_in = analogRead(0);    // read the value from the sensor     digitalWrite(13, HIGH);   /* get the key */   key = get_key(adc_key_in);    // convert into key press   if (key != oldkey) {   // if keypress is detected     delay(50);      // wait for debounce time     adc_key_in = analogRead(0);    // read the value from the sensor       key = get_key(adc_key_in);    // convert into key press     if (key != oldkey) {                oldkey = key;       if (key >=0){         Serial.println(adc_key_in, DEC);         Serial.println(msgs[key]);       }     }   }   digitalWrite(13, LOW); // Convert ADC value to key number int get_key(unsigned int input) {      int k;...
  • Page 5: Pwm Control Mode

    Digital 6 Motor 2 Direction control Digital 7 Motor 2 Enable control PWM Control Mode (/wiki/index.php/File:RomeoMotorJmp.png) Fig4: PWM Motor Control Pin Allocation The PWM DC motor control is implemented by manipulating two digital IO pins and two PWM pins. As illustrated in the diagram above (Figure 5), Pin 4,7 (7,8 for old Romeo version) are motor direction control pins, Pin 5,6 (6,9 for old Romeo version) are motor speed control pins. Sample Code:...
  • Page 6 //Standard PWM DC control int E1 = 5;     //M1 Speed Control int E2 = 6;     //M2 Speed Control int M1 = 4;    //M1 Direction Control int M2 = 7;    //M1 Direction Control ///For previous Romeo, please use these pins. //int E1 = 6;     //M1 Speed Control //int E2 = 9;     //M2 Speed Control //int M1 = 7;    //M1 Direction Control //int M2 = 8;    //M1 Direction Control void stop(void)                    //Stop   digitalWrite(E1,LOW);      digitalWrite(E2,LOW);       }    void advance(char a,char b)          //Move forward   analogWrite (E1,a);      //PWM Speed Control   digitalWrite(M1,HIGH);       analogWrite (E2,b);       digitalWrite(M2,HIGH); }   void back_off (char a,char b)          //Move backward   analogWrite (E1,a);   digitalWrite(M1,LOW);      analogWrite (E2,b);       digitalWrite(M2,LOW); void turn_L (char a,char b)             //Turn Left   analogWrite (E1,a);   digitalWrite(M1,LOW);       analogWrite (E2,b);       digitalWrite(M2,HIGH); void turn_R (char a,char b)             //Turn Right   analogWrite (E1,a);   digitalWrite(M1,HIGH);       analogWrite (E2,b);       digitalWrite(M2,LOW); void setup(void)  {    int i;   for(i=4;i<=7;i++)     pinMode(i, OUTPUT);     Serial.begin(19200);      //Set Baud Rate   Serial.println("Run keyboard control");...
  • Page 7: Pll Control Mode

            break;       }     }     else stop();     } PLL Control Mode The Romeo also supports PLLPhase locked loop (/wiki/index.php/Phase_locked_loop) control mode. (/wiki/index.php/File:Romeov11xxx.png) Fig5: PLL Motor Control Pin Allocation Configuration Sample Code:...
  • Page 8: Trouble Shooting

      digitalWrite(E1, HIGH);   analogWrite(M1, (m1p));    digitalWrite(E2, HIGH);   analogWrite(M2, (m2p));  void setup(void)  {    int i;   for(i=6;i<=9;i++)     pinMode(i, OUTPUT);     Serial.begin(19200);      //Set Baud Rate }  void loop(void)  {    if(Serial.available()){     char val = Serial.read();     if(val!=‐1)     {       switch(val)       {       case 'w'://Move Forward         DriveMotorP(0xff,0xff); // Max speed         break;       case 'x'://Move Backward         DriveMotorP(0x00,0x00);         ; // Max speed         break;       case 's'://Stop         DriveMotorP(0x7f,0x7f);         break;              }     }   } Trouble shooting More question and cool idea, visit DFRobot Forum (http://www.dfrobot.com/index.php?route=DFblog/blogs) More Romeo Schematic V2 (http://www.dfrobot.com/image/data/DFR0225/Romeo%20V2.0%20sch.pdf)  (http://www.dfrobot.com/) BUY from DFRobot Store (http://www.dfrobot.com/index.php? route=product/product&filter_name=romeo&product_id=844) or DFRobot Distributor List (http://www.dfrobot.com/index.php?route=information/distributorslogo) ...
  • Page 9 Categories (/wiki/index.php/Special:Categories):  Product Manual (/wiki/index.php/Category:Product_Manual) DFR Series (/wiki/index.php/Category:DFR_Series) Motor Controllers (/wiki/index.php/Category:Motor_Controllers) MicroControllers (/wiki/index.php/Category:MicroControllers) This page was last modified on 14 March 2016, at 04:15. Content is available under GNU Free Documentation License 1.3 or later (https://www.gnu.org/copyleft/fdl.html) unless otherwise noted.  (https://www.gnu.org/copyleft/fdl.html)    (//www.mediawiki.org/)

This manual is also suitable for:

Dfr0225

Table of Contents