Motor control for robotic arm

Dependencies:   MCP23017 WattBob_TextLCD mbed

Fork of Balanced Arm by Balanced Arm

Committer:
ADAMSTRUTT
Date:
Thu Jan 28 10:42:13 2016 +0000
Revision:
7:40d7d88deba3
Child:
9:87558e7cfecb
With torque working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ADAMSTRUTT 7:40d7d88deba3 1 //*********************************************************************
ADAMSTRUTT 7:40d7d88deba3 2 // Author: Adam Strutt
ADAMSTRUTT 7:40d7d88deba3 3 // File: (PS2C.cpp) PlayStation 2 controller
ADAMSTRUTT 7:40d7d88deba3 4 // Version: 1.0v
ADAMSTRUTT 7:40d7d88deba3 5 // Date: 11/12/2015
ADAMSTRUTT 7:40d7d88deba3 6 //*********************************************************************
ADAMSTRUTT 7:40d7d88deba3 7
ADAMSTRUTT 7:40d7d88deba3 8 #include <string>
ADAMSTRUTT 7:40d7d88deba3 9 #include "HandShake.h"
ADAMSTRUTT 7:40d7d88deba3 10 #include "mbed.h"
ADAMSTRUTT 7:40d7d88deba3 11 #include "MCP23017.h"
ADAMSTRUTT 7:40d7d88deba3 12 #include "WattBob_TextLCD.h"
ADAMSTRUTT 7:40d7d88deba3 13
ADAMSTRUTT 7:40d7d88deba3 14
ADAMSTRUTT 7:40d7d88deba3 15
ADAMSTRUTT 7:40d7d88deba3 16 MCP23017 *par_port1;
ADAMSTRUTT 7:40d7d88deba3 17 WattBob_TextLCD *lcd1;
ADAMSTRUTT 7:40d7d88deba3 18
ADAMSTRUTT 7:40d7d88deba3 19 //*********************************************************************
ADAMSTRUTT 7:40d7d88deba3 20 // Object: PC_HandShake
ADAMSTRUTT 7:40d7d88deba3 21 // Description: To create a HandShake object.
ADAMSTRUTT 7:40d7d88deba3 22 //*********************************************************************
ADAMSTRUTT 7:40d7d88deba3 23
ADAMSTRUTT 7:40d7d88deba3 24 PC_HandShake::PC_HandShake(Serial& PCbus)
ADAMSTRUTT 7:40d7d88deba3 25 : _PCbus(PCbus){
ADAMSTRUTT 7:40d7d88deba3 26
ADAMSTRUTT 7:40d7d88deba3 27 //*********************************************************************
ADAMSTRUTT 7:40d7d88deba3 28 // Description:Setting up the LCD display and turning on LCD display
ADAMSTRUTT 7:40d7d88deba3 29 // Pins: p8, p10
ADAMSTRUTT 7:40d7d88deba3 30 //*********************************************************************
ADAMSTRUTT 7:40d7d88deba3 31 par_port1 = new MCP23017(p9, p10, 0x40);
ADAMSTRUTT 7:40d7d88deba3 32 par_port1->config(0x0F00, 0x0F00, 0x0F00);
ADAMSTRUTT 7:40d7d88deba3 33 lcd1 = new WattBob_TextLCD(par_port1);
ADAMSTRUTT 7:40d7d88deba3 34 par_port1->write_bit(1,BL_BIT);
ADAMSTRUTT 7:40d7d88deba3 35 }
ADAMSTRUTT 7:40d7d88deba3 36
ADAMSTRUTT 7:40d7d88deba3 37 //*********************************************************************
ADAMSTRUTT 7:40d7d88deba3 38 // Method: PC_Connect
ADAMSTRUTT 7:40d7d88deba3 39 // Description: This method is used to connect the PC to the mbed.
ADAMSTRUTT 7:40d7d88deba3 40 //*********************************************************************
ADAMSTRUTT 7:40d7d88deba3 41
ADAMSTRUTT 7:40d7d88deba3 42 void PC_HandShake::PC_Connect(void){
ADAMSTRUTT 7:40d7d88deba3 43 lcd1->cls();
ADAMSTRUTT 7:40d7d88deba3 44 lcd1->printf("Connecting");
ADAMSTRUTT 7:40d7d88deba3 45 lcd1->locate(1,0);
ADAMSTRUTT 7:40d7d88deba3 46 lcd1->printf("to PC");
ADAMSTRUTT 7:40d7d88deba3 47 wait(2);
ADAMSTRUTT 7:40d7d88deba3 48 lcd1->cls();
ADAMSTRUTT 7:40d7d88deba3 49 lcd1->printf("Waiting\n");
ADAMSTRUTT 7:40d7d88deba3 50 while('S' != _PCbus.getc()){
ADAMSTRUTT 7:40d7d88deba3 51 }
ADAMSTRUTT 7:40d7d88deba3 52 while('S' != _PCbus.getc()){
ADAMSTRUTT 7:40d7d88deba3 53 }
ADAMSTRUTT 7:40d7d88deba3 54 lcd1->cls();
ADAMSTRUTT 7:40d7d88deba3 55 lcd1->printf("Conneced\n");
ADAMSTRUTT 7:40d7d88deba3 56 wait(2);
ADAMSTRUTT 7:40d7d88deba3 57 }