首页 > 其他分享 >arduino 开发环境搭建

arduino 开发环境搭建

时间:2024-08-03 10:07:00浏览次数:13  
标签:opt Arduino arduino rosnoetic 开发 dialout VirtualBox 搭建

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,并且 rootdialout 都有读写权限。在安装 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函数是固定格式。

标签:opt,Arduino,arduino,rosnoetic,开发,dialout,VirtualBox,搭建
From: https://www.cnblogs.com/windandchimes/p/18340085

相关文章

  • SSM宠物托运网站8m8iz 本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:用户,经营范围,宠物百科,上门取件,收件人信息,完成下单开题报告内容一、选题背景与意义随着宠物经济的蓬勃发展,宠物托运服务需求日益增长。然而,市场......
  • 直播软件怎么开发,你还在为如何创建线程池发愁吗?
    直播软件怎么开发,你还在为如何创建线程池发愁吗?为什么要使用多线程提高响应速度:对于耗时操作,使用线程可以避免阻塞主线程,提高应用程序的响应速度。实现并行操作:在多CPU系统中,使用线程可以并行处理任务,提高CPU利用率。改善程序结构:将一个既长又复杂的进程分为多个线程,可以使其......
  • 成品app直播源码搭建,常用数据处理手段代码分析
    成品app直播源码搭建,常用数据处理手段代码分析数据合并数据准备首先定义一个DataFrame数据集:importpandasaspddf_a=pd.DataFrame(columns=['name','rank'],data=[['C',1],['java',2],['python',3],['golang',4]])df_b......
  • 开发调试驱动helloworld
    开发调试驱动helloworldhttps://learn.microsoft.com/zh-cn/windows-hardware/drivers配置开发环境https://learn.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk按照步骤依次安装VisualStudioCommunity、SDK、WDK这里的windbg界面更现代一点https://lea......
  • 【视频讲解】CatBoost、LightGBM和随机森林的海域气田开发特征分类研究
    原文链接:https://tecdat.cn/?p=37208原文出处:拓端数据部落公众号 分析师:ChanglinLi 本文将通过视频讲解,展示如何用CatBoost、LightGBM和随机森林的海域气田开发特征智能分类,并结合一个python分类预测职员离职:逻辑回归、梯度提升、随机森林、XGB、CatBoost、LGBM交叉验证可......
  • Linux: 开发高效可靠的Dockerfile的技巧
    Dockerfile是创建Docker镜像的蓝图,通过一系列指令定义如何构建镜像。在开发Dockerfile时,我们可以采用一些技巧来确保其高效性和可靠性。接下来将介绍一些关键技巧,包括如何处理缓存、传递敏感信息、处理特殊字符以及在命令出错时停止构建。1.控制缓存使用缓存机制是Docke......
  • 【大数据开发语言Scala的入门教程】
    ......
  • HarmonyOS开发商城商品详情页
    目录一:功能概述二:代码实现三:效果图一:功能概述这一节,我们实现商品详情页的开发,具体流程就是在首页的商品列表点击商品跳转到商品详情页面,同时传递参数到该页面,通过参数调用商品详情接口在详情页展示商品的的详情信息。这里我们为了方便返回首页,在最顶部加入返回和回到首......
  • 使用OpenAI API搭建AI聊天机器人
    在本文中,我们将介绍如何使用OpenAIAPI搭建一个简单的AI聊天机器人。为了便于国内用户访问,我们将使用中专API地址http://api.wlai.vip。什么是OpenAIAPIOpenAIAPI提供了一系列强大的自然语言处理(NLP)模型,这些模型可以用来执行各种任务,如文本生成、翻译、问答、摘要等。......
  • Python应用开发——30天学习Streamlit Python包进行APP的构建(23):构建多页面应用程序
    创建动态导航菜单通过st.navigation,可以轻松创建动态导航菜单。您可以在每次重新运行时更改传递给st.navigation的页面集,从而更改与之匹配的导航菜单。这是创建自定义、基于角色的导航菜单的便捷功能。本教程使用st.navigation和st.Page,它们是在Streamlit1.36.0版中......