党建风景线网站建设方案百度推广开户价格
目录
- 一、安装arduino IDE
- 1.1安装方法
- 1.1.1终端里命令下载(不推荐)
- 1.1.2官网下载(不推荐)
- 1.1.3论坛下载(不推荐)
- 1.1.4系统应用商店(推荐!)
- 1.2配置项目文件位置
- 1.3测试IDE功能
- 二、配置ros与arduino通讯的库文件
- 2.1安装软件包
- 2.2开启roscore
- 2.3配置库文件位置
- 三、创建一个发布者publisher
- 3.1重新打开arduino IDE
- 3.2编译示例代码
- 3.3运行arduino节点
- 3.4查看arduino节点信息
- 四、创建一个订阅者sublisher
- 3.1重新打开arduino IDE
- 3.2编译示例代码
- 3.3运行arduino节点
- 3.4改变LED状态
- 3.4.1方式一
- 3.4.2方式二
Windows 10 + VMware 16 + Ubuntu 20.04+ Noetic
台式机 + arduino UNO
一、安装arduino IDE
1.1安装方法
1.1.1终端里命令下载(不推荐)
下载的版本太老,是1.0.5的,编译时会报错
sudo apt-get install arduino
报错内容:
1.1.2官网下载(不推荐)
从官网下载: https://www.arduino.cc/,速度很慢
1.1.3论坛下载(不推荐)
不好找Ubuntu版本的IDE安装包
1.1.4系统应用商店(推荐!)
Ubuntu software ——> 弹出snap商店——> 左上角 搜索 arduino
可以看到版本是1.8.19的,可以!下载速度也可以!
1.2配置项目文件位置
打开arduino IDE——>文件——>首选项——>项目文件位置
选择主目录下的一个文件夹,权限高!
1.3测试IDE功能
打开blink示例,进行编译,编译成功后,arduino开发板的小灯一直闪烁说明IDE安装成功
二、配置ros与arduino通讯的库文件
2.1安装软件包
sudo apt-get install ros-noetic-rosserial-arduino
sudo apt-get install ros-noetic-rosserial
2.2开启roscore
打开一个终端,输入:
roscore
2.3配置库文件位置
[PathToYourSketchbookLibraries] 指 项目文件位置
rosrun rosserial_arduino make_libraries.py [PathToYourSketchbookLibraries]
三、创建一个发布者publisher
3.1重新打开arduino IDE
3.2编译示例代码
文件——>示例——> ros_lib ——> HelloWorld
3.3运行arduino节点
IDE右下角显示串口号,我的是 ttyACM0,改成自己的
rosrun rosserial_python serial_node.py /dev/ttyACM0
3.4查看arduino节点信息
示例内容是,arduino作为一个节点以/chatter 为话题向外输出 “hello world!”
用命令行查看话题内容和频率,没有问题!
rostopic echo /chatter
rostopic hz /chatter
四、创建一个订阅者sublisher
3.1重新打开arduino IDE
3.2编译示例代码
文件——>示例——> ros_lib ——> Blink
代码解释: link
#include <ros.h>
#include <std_msgs/Empty.h>ros::NodeHandle nh;void messageCb( const std_msgs::Empty& toggle_msg){digitalWrite(LED_BUILTIN, HIGH-digitalRead(LED_BUILTIN)); // blink the led
}ros::Subscriber<std_msgs::Empty> sub("toggle_led", &messageCb );void setup()
{ pinMode(LED_BUILTIN, OUTPUT);nh.initNode();nh.subscribe(sub);
}void loop()
{ nh.spinOnce();delay(1);
}
3.3运行arduino节点
IDE右下角显示串口号,我的是 ttyACM0,改成自己的
rosrun rosserial_python serial_node.py /dev/ttyACM0
3.4改变LED状态
3.4.1方式一
用pub
rostopic pub toggle_led std_msgs/Empty --once
3.4.2方式二
设置QT工具箱:使用rqt向话题发布消息: