arduino 开发环境搭建
将Arduino与笔记本相连,如下图所示:
基于Arduino
的开发实现,毋庸置疑的必须先要准备Arduino
电路板(建议型号:Arduino Mega 2560
,因为它提供了更多的中断引脚),除了硬件之外,还需要准备软件环境,安装 Arduino IDE
,在 Ubuntu
下,Arduino
开发环境的搭建步骤如下:
(1)硬件准备:Arduino 电路板连接 ubuntu。
(2)软件准备:安装 Arduino IDE。
(3)编写 Arduino 程序并上传至 Arduino电路板。
1. Arduino 连接 Ubuntu
参考教程:
Ubuntu 串口权限问题_ubuntu dialout-CSDN博客
将虚拟机关机,关闭ubuntu
,添加 Arduino
设备,如下图所示,注意设备添加的时候不一定就是如下的名称,
在未插入Arduino
时,设备如下所示:
插入Arduino
后的设备如下所示,会显示“QinHeng Electronics USB Serial [0264]
”
可以通过插拔USB的方式来查看具体是什么 USB 设备,可以看到新增的QinHeng Electronics
就是 Arduino
设备,对其进行添加
接着启动ubuntu
,运行如下命令查看接口:
rosnoetic@rosnoetic-VirtualBox:~$ ll /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 3月 29 15:47 /dev/ttyUSB0
我们注意到在上面的结果中,ttyUSB0
用户是root
,且所属的组是dialout
,并且 root
和 dialout
都有读写权限。在安装 Ubuntu
时,安装时使用的账户并不会默认加入dialout
组,因此该用户就没有权限访问ttyUSB0
设备。因此,需要成为dialout
组的一个成员。
命令如下:
rosnoetic@rosnoetic-VirtualBox:~$ sudo usermod -a -G dialout rosnoetic
其中rosnoetic
为linux下登录的用户名。
然后需要重启使之生效。
执行完上面的操作之后,可以运行下面的命令查看一下:
rosnoetic@rosnoetic-VirtualBox:~$ groups
rosnoetic adm dialout cdrom sudo dip plugdev lpadmin lxd sambashare
重启系统后,就可以用到用户“rosnoetic
”就会加入dialout
组,接着就可以使用ttyUSB0
设备。
2. 安装Arduino IDE
2.1 下载arduino ide安装包
官方下载链接:
https://www.arduino.cc/en/Main/Software
界面下拉选择“Linux 64bits
”
选择“JUST DOWNLOAD
”
2.2 对压缩包进行解压
接着到“下载
”文件夹下,执行如下指令解压文件
rosnoetic@rosnoetic-VirtualBox:~/下载$ tar -xvf arduino-1.8.19-linux64.tar.xz
2.3 将解压后的文件移到/opt下
接着在“下载
”文件夹下打开终端,执行如下指令,将文件夹转移到opt
文件夹下
rosnoetic@rosnoetic-VirtualBox:~/下载$ sudo mv arduino-1.8.19 /opt
rosnoetic@rosnoetic-VirtualBox:~/下载$ cd /opt
rosnoetic@rosnoetic-VirtualBox:/opt$ ls
arduino-1.8.19 ros VBoxGuestAdditions-7.0.6
2.4 进入到安装目录,对install.sh添加可执行权限,并进行安装
rosnoetic@rosnoetic-VirtualBox:/opt$ cd arduino-1.8.19
rosnoetic@rosnoetic-VirtualBox:/opt/arduino-1.8.19$ sudo chmod +x install.sh
rosnoetic@rosnoetic-VirtualBox:/opt/arduino-1.8.19$ sudo ./install.sh
2.5 启动并配置arduino IDE
在命令行直接输入arduino
rosnoetic@rosnoetic-VirtualBox:~$ arduino
或者点击左下的显示应用程序搜索arduino IDE
,
启动如下:
Arduino IDE
配置如下:
3. Hello World实现
Arduino IDE 中已经内置了一些相关案例,在此,我们通过一个经典的控制 LED 等闪烁案例来演示 Arduino 的使用流程:
3.1 案例调用
3.2 编译及上传
先点击左上的编译按钮,用于语法检测
没有红色和黄色的字体,说明是编译通过的。
编译无异常,再点击右侧的上传按钮,上传至Arduino电路板
控制台也会有相应的提示,类似的如果没有红色或黄色的字体,说明上传成功。
3.3 运行结果
电路板上的LED灯闪烁
3.4 代码解释
/*
* 需求:控制LED灯闪烁
*
*/
//初始化实现
void setup(){
//设置LED灯对应引脚(13)的操作模式
//引脚值为13,被封装为了LED_BUTLIN
pinMode(13,OUTPUT);
}
//循环函数
void loop(){
digitalWrite(13,HIGH);//打开LED灯
delay(3000);//休眠3000毫秒
digitalWrite(13,LOW);//关闭LED灯
delay(3000);//休眠3000毫秒
}
setup与loop函数是固定格式。