... more
                 
            
         
    
    
« Back to documentation index 
    
m3pi Class Reference 
m3pi  control class  
More... 
#include <m3pi.h >
  m3pi  ()  Create the m3pi  object connected to the default pins.     m3pi  (PinName nrst, PinName tx, PinName rx)  Create the m3pi  object connected to specific pins.   void  reset  (void)  Force a hardware reset of the 3pi.   void  left_motor  (float speed)  Directly control the speed and direction of the left motor.   void  right_motor  (float speed)  Directly control the speed and direction of the right motor.   void  forward  (float speed)  Drive both motors forward as the same speed.   void  backward  (float speed)  Drive both motors backward as the same speed.   void  left  (float speed)  Drive left motor backwards and right motor forwards at the same speed to turn on the spot.   void  right  (float speed)  Drive left motor forward and right motor backwards at the same speed to turn on the spot.   void  stop  (void)  Stop both motors.   float  pot_voltage  (void)  Read the voltage of the potentiometer on the 3pi.   float  battery  (void)  Read the battery voltage on the 3pi.   float  line_position  (void)  Read the position of the detected line.   char  sensor_auto_calibrate  (void)  Calibrate the sensors.   void  calibrate  (void)  Set calibration manually to the current settings.   void  reset_calibration  (void)  Clear the current calibration settings.   void  leds  (int val)  Write to the 8 LEDs.   void  locate  (int x, int y)  Locate the cursor on the 8x2 LCD.   void  cls  (void)  Clear the LCD.   int  putc  (int c)  Send a character directly to the 3pi serial interface.   int  getc  ()  Receive a character directly to the 3pi serial interface.   int  print  (char *text, int length)  Send a string buffer to the 3pi serial interface.   
Detailed Description 
m3pi  control class 
Example: 
 
   #include "mbed.h" 
   #include "m3pi.h" 
   m3pi  pi;
   int  main() {
     wait(0.5);
     pi.forward (0.5);
     wait (0.5);
     pi.left (0.5);
     wait (0.5);
     pi.backward (0.5);
     wait (0.5);
     pi.right (0.5);
     wait (0.5);
     pi.stop ();
 }
 Definition at line 83  of file m3pi.h .
Constructor & Destructor Documentation 
Create the m3pi  object connected to the default pins. 
Parameters: 
  
    nrst GPIO pin used for reset. Default is p23  tx Serial transmit pin. Default is p9  rx Serial receive pin. Default is p10  
   
Definition at line 32  of file m3pi.cpp .
 
 
      
        
          m3pi  ( 
          PinName  
           nrst ,  
         
        
          PinName  
           tx ,  
         
        
          PinName  
           rx   
         
        
          ) 
           
      
 
Create the m3pi  object connected to specific pins. 
Definition at line 27  of file m3pi.cpp .
 
 
Member Function Documentation 
      
        
          void backward  
          ( 
          float  
           speed  ) 
           
      
 
Drive both motors backward as the same speed. 
Parameters: 
  
    speed A normalised number 0 - 1.0 represents the full range.  
   
Definition at line 58  of file m3pi.cpp .
 
 
Read the battery voltage on the 3pi. 
Returns: battery voltage as a float  Definition at line 97  of file m3pi.cpp .
 
 
Set calibration manually to the current settings. 
Definition at line 121  of file m3pi.cpp .
 
 
Clear the LCD. 
Definition at line 163  of file m3pi.cpp .
 
 
      
        
          void forward  
          ( 
          float  
           speed  ) 
           
      
 
Drive both motors forward as the same speed. 
Parameters: 
  
    speed A normalised number 0 - 1.0 represents the full range.  
   
Definition at line 53  of file m3pi.cpp .
 
 
Receive a character directly to the 3pi serial interface. 
Returns: c The character received from the 3pi  Definition at line 193  of file m3pi.cpp .
 
 
Write to the 8 LEDs. 
Parameters: 
  
    leds An 8 bit value to put on the LEDs  
   
Definition at line 150  of file m3pi.cpp .
 
 
      
        
          void left  
          ( 
          float  
           speed  ) 
           
      
 
Drive left motor backwards and right motor forwards at the same speed to turn on the spot. 
Parameters: 
  
    speed A normalised number 0 - 1.0 represents the full range.  
   
Definition at line 63  of file m3pi.cpp .
 
 
      
        
          void left_motor  
          ( 
          float  
           speed  ) 
           
      
 
Directly control the speed and direction of the left motor. 
Parameters: 
  
    speed A normalised number -1.0 - 1.0 represents the full range.  
   
Definition at line 45  of file m3pi.cpp .
 
 
      
        
          float line_position  
          ( 
          void  
           ) 
           
      
 
Read the position of the detected line. 
Returns: position as A normalised number -1.0 - 1.0 represents the full range. -1.0 means line is on the left, or the line has been lost 0.0 means the line is in the middle 1.0 means the line is on the right  Definition at line 105  of file m3pi.cpp .
 
 
      
        
          void locate  
          ( 
          int  
           x ,  
         
        
          int  
           y   
         
        
          ) 
           
      
 
Locate the cursor on the 8x2 LCD. 
Parameters: 
  
    x The horizontal position, from 0 to 7  y The vertical position, from 0 to 1  
   
Definition at line 157  of file m3pi.cpp .
 
 
      
        
          float pot_voltage  
          ( 
          void  
           ) 
           
      
 
Read the voltage of the potentiometer on the 3pi. 
Returns: voltage as a float  Definition at line 141  of file m3pi.cpp .
 
 
      
        
          int print  
          ( 
          char *  
           text ,  
         
        
          int  
           length   
         
        
          ) 
           
      
 
Send a string buffer to the 3pi serial interface. 
Parameters: 
  
    text A pointer to a char array  int The character to send to the 3pi  
   
Definition at line 167  of file m3pi.cpp .
 
 
Send a character directly to the 3pi serial interface. 
Parameters: 
  
    c The character to send to the 3pi  
   
Definition at line 189  of file m3pi.cpp .
 
 
Force a hardware reset of the 3pi. 
Definition at line 38  of file m3pi.cpp .
 
 
      
        
          void reset_calibration  
          ( 
          void  
           ) 
           
      
 
Clear the current calibration settings. 
Definition at line 125  of file m3pi.cpp .
 
 
      
        
          void right  
          ( 
          float  
           speed  ) 
           
      
 
Drive left motor forward and right motor backwards at the same speed to turn on the spot. 
Parameters: 
  
    speed A normalised number 0 - 1.0 represents the full range.  
   
Definition at line 68  of file m3pi.cpp .
 
 
      
        
          void right_motor  
          ( 
          float  
           speed  ) 
           
      
 
Directly control the speed and direction of the right motor. 
Parameters: 
  
    speed A normalised number -1.0 - 1.0 represents the full range.  
   
Definition at line 49  of file m3pi.cpp .
 
 
      
        
          char sensor_auto_calibrate  
          ( 
          void  
           ) 
           
      
 
Calibrate the sensors. 
This turns the robot left then right, looking for a line 
Definition at line 115  of file m3pi.cpp .
 
 
Stop both motors. 
Definition at line 73  of file m3pi.cpp .