基於ROS使用Arduino控制蜂鳴器
阿新 • • 發佈:2018-11-01
1. 硬體
Arduino控制板:1個;
蜂鳴器:1個;
杜邦線:若干;
1.1 接線方式
接線方式為:蜂鳴器的一個引腳接Arduino的數字輸出引腳,蜂鳴器的另外的一個引腳接地
來張實際的照片(略麻煩):
2 程式
#include <ros.h> #include <std_msgs/Int8.h> int buzzer = 11; int delay_time = 1; ros::NodeHandle nh; void messageCb(std_msgs::Int8 message) { delay_time = message.data; unsigned char i; //while(1) //{ for(i=0;i<80;i++) { digitalWrite(buzzer,HIGH); delay(delay_time); digitalWrite(buzzer,LOW); delay(delay_time); } //} } ros::Subscriber<std_msgs::Int8> sub("buzzer",&messageCb); void setup() { nh.initNode(); nh.subscribe(sub); pinMode(buzzer,OUTPUT); } void loop() { nh.spinOnce(); }
2.1 程式下載和執行
首先:roscore
其次:rosrun rosserial_python serial_node.py /dev/ttyACM0
/dev/ttyACM0 這個是自己的埠號
最後:rostopic pub -1 /buzzer_msgs/Int8 1
來張圖片: