1. 硬件
Arduino控制板:1个;
直流电机:1个;
杜邦线:若干;
UN2003LA: 1个
1.1 接线方式
接线方式为:ULN2003 arduino主板
1脚 9
8脚 GND
9脚 VCC
ULN2003正面从左右到右,从下到上引脚为1~8 16~9。
ULN2003的16脚接直流电机的任意一个脚,直流电机的另外一个脚接arduino主板的+5v。
来张实际的照片(略麻烦):
2 程序
#include #include const int U=9;int re_data=0; ros::NodeHandle nh; void messageCb(std_msgs::Int16 message){ re_data = message.data; } ros::Subscriber sub("motor",&messageCb); void setup(){ nh.initNode(); nh.subscribe(sub);} void loop(){ analogWrite(U,re_data);; nh.spinOnce();}
.1 程序下载和运行
首先:roscore
其次:rosrun rosserial_python serial_node.py /dev/ttyACM0
/dev/ttyACM0 这个是自己的端口号
最后:rostopic pub -1 /motor/Int16 0
rostopic pub -1 /motor/Int16 125
rostopic pub -1 /motor/Int16 255
来张图片:
1. 硬件
Arduino控制板:1个;
直流电机:1个;
杜邦线:若干;
UN2003LA: 1个
1.1 接线方式
接线方式为:ULN2003 arduino主板
1脚 9
8脚 GND
9脚 VCC
ULN2003正面从左右到右,从下到上引脚为1~8 16~9。
ULN2003的16脚接直流电机的任意一个脚,直流电机的另外一个脚接arduino主板的+5v。
来张实际的照片(略麻烦):
2 程序
#include #include const int U=9;int re_data=0; ros::NodeHandle nh; void messageCb(std_msgs::Int16 message){ re_data = message.data; } ros::Subscriber sub("motor",&messageCb); void setup(){ nh.initNode(); nh.subscribe(sub);} void loop(){ analogWrite(U,re_data);; nh.spinOnce();}
.1 程序下载和运行
首先:roscore
其次:rosrun rosserial_python serial_node.py /dev/ttyACM0
/dev/ttyACM0 这个是自己的端口号
最后:rostopic pub -1 /motor/Int16 0
rostopic pub -1 /motor/Int16 125
rostopic pub -1 /motor/Int16 255
来张图片:
举报