pin1,2,3,servo

Dependencies:   Servo Test2Boards LSCServo ros_lib_melodic DC_Stepper_Controller_Lib

Committer:
bensonsinsin998
Date:
Fri Mar 05 05:04:38 2021 +0000
Revision:
0:858c61a9c2de
Child:
1:ac39b48026ca
ros buttun;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bensonsinsin998 0:858c61a9c2de 1 #include "mbed.h"
bensonsinsin998 0:858c61a9c2de 2 #include "Servo.h"
bensonsinsin998 0:858c61a9c2de 3
bensonsinsin998 0:858c61a9c2de 4 #include <ros.h>
bensonsinsin998 0:858c61a9c2de 5 #include "std_msgs/Bool.h"
bensonsinsin998 0:858c61a9c2de 6
bensonsinsin998 0:858c61a9c2de 7 #define BAUD_RATE 115200
bensonsinsin998 0:858c61a9c2de 8
bensonsinsin998 0:858c61a9c2de 9 using namespace std;
bensonsinsin998 0:858c61a9c2de 10 using namespace std_msgs;
bensonsinsin998 0:858c61a9c2de 11 using namespace ros;
bensonsinsin998 0:858c61a9c2de 12
bensonsinsin998 0:858c61a9c2de 13 DigitalOut myled = LED1;
bensonsinsin998 0:858c61a9c2de 14 DigitalOut Refer_Volt_3_3 = PB_1;
bensonsinsin998 0:858c61a9c2de 15 DigitalOut pin_A = PA_10;
bensonsinsin998 0:858c61a9c2de 16 DigitalOut pin_B = PA_2;
bensonsinsin998 0:858c61a9c2de 17 DigitalOut pin_C = PA_3;
bensonsinsin998 0:858c61a9c2de 18
bensonsinsin998 0:858c61a9c2de 19 NodeHandle nh;
bensonsinsin998 0:858c61a9c2de 20
bensonsinsin998 0:858c61a9c2de 21 Servo servo = D6;
bensonsinsin998 0:858c61a9c2de 22
bensonsinsin998 0:858c61a9c2de 23 void messagesqu(const Bool& _msg){
bensonsinsin998 0:858c61a9c2de 24 bool check = _msg.data;
bensonsinsin998 0:858c61a9c2de 25 if(check)
bensonsinsin998 0:858c61a9c2de 26 pin_A = 1;
bensonsinsin998 0:858c61a9c2de 27 else
bensonsinsin998 0:858c61a9c2de 28 pin_A = 0;
bensonsinsin998 0:858c61a9c2de 29 }
bensonsinsin998 0:858c61a9c2de 30
bensonsinsin998 0:858c61a9c2de 31 void messagecro(const Bool& _msg){
bensonsinsin998 0:858c61a9c2de 32 bool check = _msg.data;
bensonsinsin998 0:858c61a9c2de 33 if(check)
bensonsinsin998 0:858c61a9c2de 34 pin_B = 1;
bensonsinsin998 0:858c61a9c2de 35 else
bensonsinsin998 0:858c61a9c2de 36 pin_B = 0;
bensonsinsin998 0:858c61a9c2de 37 }
bensonsinsin998 0:858c61a9c2de 38
bensonsinsin998 0:858c61a9c2de 39 void messagecir(const Bool& _msg){
bensonsinsin998 0:858c61a9c2de 40 bool check = _msg.data;
bensonsinsin998 0:858c61a9c2de 41 if(check)
bensonsinsin998 0:858c61a9c2de 42 servo = 1.0;
bensonsinsin998 0:858c61a9c2de 43 else
bensonsinsin998 0:858c61a9c2de 44 servo = 0;
bensonsinsin998 0:858c61a9c2de 45 }
bensonsinsin998 0:858c61a9c2de 46
bensonsinsin998 0:858c61a9c2de 47 void messagetri(const Bool& _msg){
bensonsinsin998 0:858c61a9c2de 48 bool check = _msg.data;
bensonsinsin998 0:858c61a9c2de 49 if(check)
bensonsinsin998 0:858c61a9c2de 50 pin_C = 1;
bensonsinsin998 0:858c61a9c2de 51 else
bensonsinsin998 0:858c61a9c2de 52 pin_C = 0;
bensonsinsin998 0:858c61a9c2de 53 }
bensonsinsin998 0:858c61a9c2de 54
bensonsinsin998 0:858c61a9c2de 55 Subscriber<Bool> subsqu("button_square", &messagesqu);
bensonsinsin998 0:858c61a9c2de 56 Subscriber<Bool> subcro("button_cross", &messagecro);
bensonsinsin998 0:858c61a9c2de 57 Subscriber<Bool> subcir("button_circle", &messagecir);
bensonsinsin998 0:858c61a9c2de 58 Subscriber<Bool> subtri("button_triangle", &messagetri);
bensonsinsin998 0:858c61a9c2de 59
bensonsinsin998 0:858c61a9c2de 60
bensonsinsin998 0:858c61a9c2de 61 int main() {
bensonsinsin998 0:858c61a9c2de 62 myled = 0;
bensonsinsin998 0:858c61a9c2de 63 servo = 0;
bensonsinsin998 0:858c61a9c2de 64
bensonsinsin998 0:858c61a9c2de 65 nh.getHardware()->setBaud(BAUD_RATE);
bensonsinsin998 0:858c61a9c2de 66 nh.initNode();
bensonsinsin998 0:858c61a9c2de 67
bensonsinsin998 0:858c61a9c2de 68 nh.subscribe(subsqu);
bensonsinsin998 0:858c61a9c2de 69 nh.subscribe(subcro);
bensonsinsin998 0:858c61a9c2de 70 nh.subscribe(subcir);
bensonsinsin998 0:858c61a9c2de 71 nh.subscribe(subtri);
bensonsinsin998 0:858c61a9c2de 72
bensonsinsin998 0:858c61a9c2de 73 while(true) {
bensonsinsin998 0:858c61a9c2de 74 nh.spinOnce();
bensonsinsin998 0:858c61a9c2de 75
bensonsinsin998 0:858c61a9c2de 76 if(nh.connected())
bensonsinsin998 0:858c61a9c2de 77 myled = 1;
bensonsinsin998 0:858c61a9c2de 78 else
bensonsinsin998 0:858c61a9c2de 79 myled = 0;
bensonsinsin998 0:858c61a9c2de 80 }
bensonsinsin998 0:858c61a9c2de 81 }