K AKAGAWA / Mbed 2 deprecated daruma_robo_servo

Dependencies:   mbed QEI ros_lib_kinetic USBDevice

Files at this revision

API Documentation at this revision

Comitter:
ksingyuunyuu
Date:
Wed Nov 13 09:28:20 2019 +0000
Commit message:
Darumasanga koronda Robot; Neck turn servo program

Changed in this revision

QEI.lib Show annotated file Show diff for this revision Revisions of this file
USBDevice.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
ros_lib_kinetic.lib Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 85391b8275ee QEI.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QEI.lib	Wed Nov 13 09:28:20 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/aberk/code/QEI/#5c2ad81551aa
diff -r 000000000000 -r 85391b8275ee USBDevice.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/USBDevice.lib	Wed Nov 13 09:28:20 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/USBDevice/#53949e6131f6
diff -r 000000000000 -r 85391b8275ee main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Nov 13 09:28:20 2019 +0000
@@ -0,0 +1,81 @@
+#include "mbed.h"
+#include <ros.h>
+#include <geometry_msgs/Twist.h>
+#include "QEI.h"
+#include <std_msgs/Bool.h>
+ros::NodeHandle nh;
+// マクロ定義(ピン配置)
+#define D0  PA_3
+#define D1  PA_2
+#define D2  PA_10
+#define D3  PB_3
+#define D4  PB_5
+#define D5  PB_4
+#define D6  PB_10
+#define D7  PA_8
+#define D8  PA_9
+#define D9  PC_7
+#define D10 PB_6
+#define D11 PA_7
+#define D12 PA_6
+#define D13 PA_5
+// アナログ
+#define A0  PA_0
+#define A1  PA_1
+#define A2  PA_4
+#define A3  PB_0
+#define A4  PC_1
+#define A5  PC_0
+
+#define B1  PC_13
+// その他マクロ定義
+
+// 入出力モード、各種モードの設定
+BusIn sw(B1);
+DigitalOut step(D9);
+DigitalOut dir(D10);
+DigitalOut myled(LED1);
+PwmOut PWM(D3); //初期化
+
+// 関数のプロトタイプ宣言
+void turn(const std_msgs::Bool& cmd_turn);
+ros::Subscriber<std_msgs::Bool> sub("hurimuki", turn);
+void fake_turn(const std_msgs::Bool& cmd_fake_turn);
+ros::Subscriber<std_msgs::Bool> fake("fake_hurimuki", fake_turn);
+int main() {
+    PWM.period_us(20000);  //周期設定
+    nh.initNode();
+    nh.subscribe(sub);
+    nh.subscribe(fake);
+    while (1) {
+        nh.spinOnce();
+        wait_ms(1);
+    }
+}
+// 振り向き関数 std_msgs/Bool型"hurimuki"トピック True:振り向き False:非振り向き
+void turn(const std_msgs::Bool& cmd_turn){
+    if(cmd_turn.data){
+        // 振り向き
+        PWM.pulsewidth_us(595); //パルス幅変更
+        wait_ms(200);
+    } else {
+        // 振り向いていない
+        PWM.pulsewidth_us(2300);
+        wait(1);
+    }
+}
+// 振り向き関数 std_msgs/Bool型"fake_hurimuki"トピック "hurimuki"トピックがTrueの場合、非振り向きのフェイクとして機能する
+// True:フェイク動作 False:振り向きのまま
+void fake_turn(const std_msgs::Bool& cmd_fake_turn){
+    if(cmd_fake_turn.data){
+        // 振り向き
+        PWM.pulsewidth_us(1000); //パルス幅変更
+        wait(1);
+        PWM.pulsewidth_us(595); //パルス幅変更
+    } else {
+        // 振り向いていない
+        PWM.pulsewidth_us(2300);
+        wait(1);
+    }
+    
+}
diff -r 000000000000 -r 85391b8275ee mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Nov 13 09:28:20 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/3a7713b1edbc
\ No newline at end of file
diff -r 000000000000 -r 85391b8275ee ros_lib_kinetic.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ros_lib_kinetic.lib	Wed Nov 13 09:28:20 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/garyservin/code/ros_lib_kinetic/#a849bf78d77f