【深海王国】小学生都能玩的单片机?零基础入门单片机Arduino带你打开嵌入式的大门!(10)

Hi٩(๑o๑)۶, 各位深海王国的同志们,早上下午晚上凌晨好呀~辛勤工作的你今天也辛苦啦

(o゜▽゜)o☆ 今天大都督继续为大家带来系列——小学生都能玩的单片机!带你一周内快速走进嵌入式的大门,let’s go!

(10)总结:学习Arduino踩过的坑

恭喜大家!来到了本系列最后一节,即将顺利完成本系列的学习,相信大家现在已经对单片机有了一定了解,这节我们要做个总结,大都督分享一下自己当初学Arduino时遇到的诸多问题,帮助大家避坑!

Arduino上传代码的问题:

  1. Arduino是可以直接使用标准串口上传代码的,不一定要使用USB接口。只要将USB转TTL串口模块连接至Arduino的标准串口即可(即0、1引脚)。
  2. 一部分Arduino需要冷启动才能上传代码,比如Arduino Nano、Arduino Pro Mini。也就是说,在上传之前,需要按住Arduino上的reset重置按钮,当Arduino IDE提示正在上传的时候,松开重置按钮,才能完成上传。
  3. 没有安装CH340驱动。(详见(4)CH340驱动安装与Arduino程序下载)
  4. 没有共地。(详见初识Arduino与基本单片机电路知识)

蓝牙串口模块问题:

  1. 熟悉大都督的小伙伴们都知道,大都督经常用的是BLE低功耗蓝牙HC-08,为什么呢。其中一个原因就是因为蓝牙功耗问题,传统蓝牙例如HC-05或HC-06模块的工作电压是3.3V,但是,用3.3V供电很可能会让蓝牙模块功率不足,甚至频繁断开连接的问题,而用低功耗蓝牙就不存在这个问题。

  2. 虽然蓝牙模块一般都是3.3V供电,但实际上用Arduino开发板上的5V引脚供电也是可以的,虽然理论上说这样有烧坏芯片的风险,但大都督本人亲身实验,用5V供电一段时间是没问题的,还可以解决传统蓝牙功率不足的问题,如下:用5V供电灯会更亮一点,哈哈。
    在这里插入图片描述

  3. 使用蓝牙模块连接手机APP不仅要打开蓝牙功能,还要打开手机定位,并且记得给权限。

  4. 当同一场所中蓝牙模块过多,会影响通讯和连接,尤其是低功耗蓝牙在这方面很不行,如果你要使用蓝牙的场景在人很多的场合,比如大学比赛,最好直接用传统蓝牙。

Arduino开发板供电问题:

  1. 在刚开始介绍单片机的时候,大都督就说过,嵌入式系统就是管家。虽然Arduino UNO开发板上有5V供电引脚,但是这并不意味着你真的可以用Arduino供电,怎么能让管家干下人的活呢?供电就要由专门的供电模块来。(详见(1)单片机的介绍与嵌入式基本知识)

  2. 如果需要连接的模块功率不高,或者模块不多,是可以用Arduino供电的,但是由于Arduino的供电归根到底是来自于USB转TTL模块的功率,所以,像传统蓝牙模块、Wi-Fi模块,并不一定能带得动,如果你连接的多了,更带不动,所以最好还是找个电源专门给它们供电吧。

  3. 如果你想给Arduino开发板供电,有四种方式:

    • 使用USB/Type-c下载接口供电:电压5v,最快捷简单的供电方法,找个充电宝就可以。

    • 使用5V引脚供电:Arduino开发板电源引脚中的5V引脚不仅可以为外部电子元件提供+5V电源,也可以用于为Arduino开发板自身供电,在PCB设计中常用的供电方式。

    • 使用电源接口供电:可以通过直流电源通过Arduino开发板的电源接口为其供电,直流电源电压为9V~12V,就是Arduino开发板上那个黑色圆头头,学名DC电源头5.5*2.1MM,可用12V锂电池供电。

    • 使用Vin引脚供电:直流电源电压必须为7V~12V。如果是电池模组供电可以考虑用,但还是比较不常用。

软串口问题:

  1. SoftwareSerial库只能提供一个额外的软串口!((8)软串口与SoftwareSerial库使用)
  2. 波特率越高越容易出现数据传输错误。
  3. 如果你需要很多串口,建议直接选Arduino Mega2560,它有四个硬件串口。

Arduino UNO内存问题:

Arduino uno开发板的主控是叫ATmega328P一个8位的单片机,Arduino Nano和Arduino Pro Mini也用的这个主控。资源很有限,它的ROM有32K,RAM只有2k,在开发时RAM真的很紧张,简单来说就是它的内存不太行。内存快满的时候就会像下面这样:

在这里插入图片描述

即使没到达满的状态也可能会导致Arduino uno 运行时重置或者卡死现象,如果你想做大项目,建议直接选Arduino Mega2560。

char与String,’ '与" ",字符与字符串:

刚学Arduino,肯定会因为字符和字符串问题犯迷糊,比如我们上一节的实战代码(详见(9)实战:使用软串口与蓝牙APP串口通讯)。大都督现在就给大家详细解释一下这两者的区别:

  • char:

    1. char是基础数据类型之一,用于存储单个字符。比如,char myChar = ‘A’;这里myChar变量存储了字符A。
    2. Arduino(C/C++语言)中,字符是以其ASCII码形式存储的,char类型的变量占用1个字节的内存(-128到127或0到255),可以存储一个ASCII码字符。
    3. char类型可以用来创建字符数组,通过这种方式可以用来表示字符串。例如:char myChars[] = “Hello”;这里myChars是一个字符数组,以\0(空字符)结尾,实际存储了Hello\0。
    4. 单引号' '用来包裹单个字符,与char类型搭配使用。例如:char a = 'A';
    5. 在进行串口通信时经常需要通过char()函数将ASCII转化为字符类型。
  • String:

    1. String类型是Arduino语言中的一个高级结构,用于存储和操作动态字符串。例如:String myString = “Hello World”;。

    2. String对象背后是动态分配的内存,可以在运行时增减其大小。这意味着可以随时向String对象中添加更多字符。

    3. String提供了丰富的方法来执行如拼接、比较、搜索、提取等操作。

    4. 双引号" "用来创建字符串字面量,可以包含零个或多个字符。与char数组或String对象搭配使用。

    5. 使用双引号创建的字符串,实质上是一个以NULL(\0)字符结尾的char数组。例如:char myString[] = “Hello”;实际上存储了H e l l o \0

Arduino常用的数据类型:

既然都说到了Arduino的char和String,那就顺便把Arduino常用的数据类型总总结一下吧:

  • int: 存储整数,通常占用2个字节(-32,768到32,767)。
  • unsigned int: 存储无符号整数,也通常占用2个字节(0到65,535)。
  • byte (或 uint8_t): 存储一个字节的无符号数,占用1个字节(0到255)。
  • long: 存储较大的整数,占用4个字节(-2,147,483,648到2,147,483,647)。
  • unsigned long (或 uint32_t): 存储较大的无符号整数,占用4个字节(0到4,294,967,295)。
  • short: 通常为16位的整数,占用2个字节。
  • float: 存储单精度浮点数,占用4个字节。用于存储有小数点的数值。
  • double: 在某些Arduino板上,如Arduino Due,double提供了更高的精确度,占用8个字节。但在许多其他Arduino板上(如UNO、Mega2560),double的实际精度和float相同,即占用4个字节。
  • bool: 存储真(true)或假(false)值。

经过本系列的学习,相信大家已经对单片机学习颇有信心了,哈哈,是不是没想象中那么难?加油,大都督看好你!之后大都督还会推出其他关于单片机的系列文章,大家可以继续关注哦!
最后感谢大家对本系列的支持!深海王国没你不行!

学到这里的你,今天也辛苦啦!需要的相关材料链接我都放在公众号「深海大都督」里了,回复「Arduino」就能获得啦~

哈哈,让焦虑不再蔓延,信息不再高壁,如果你觉得这篇文章对你有帮助,就来个免费的点赞吧!

(◍˃̶ᗜ˂̶◍)✩我深海大都督正式授予你深海王国公民的身份~

(・ω< )★ 加入深海大家庭,快乐摆烂每一天!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/860881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是钢直尺“光学影像式”仪器校准方法?

计量和我们生活密不可分&#xff0c;但是对于计量的了解大多数人并不深入&#xff0c;因此也会存在一些认知上的误差。比如一个体温计买来才几十块&#xff0c;但是做一次校准费用就是一两百。又或者是一把钢直尺才十几块成本&#xff0c;校准的费用却是成本的三到四倍。 不了…

外贸邮件推送有哪些策略?如何提升转化率?

外贸邮件推送的效果怎么优化&#xff1f;邮件推送的技巧有哪些&#xff1f; 外贸邮件推送是一种有效的市场营销策略&#xff0c;可以帮助企业开拓国际市场&#xff0c;增加销售额。然而&#xff0c;成功的外贸邮件推送并不是一蹴而就的&#xff0c;需要精心策划和执行。AokSen…

.NET 一款系统遥测实现权限维持的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

多个 el-checkbox-group 使用同一个变量传参联动回显

<el-form-item label"保底对象" required><div style"display: flex"><span> A类&#xff1a;</span><el-checkbox-group v-model"guaranteedPartyA"><el-checkbox label"1">设备</el-checkbo…

[windows] 无拓展名文件设置默认打开方式为记事本

前言 本文是对[windows] 无拓展名文件设置默认打开方式_给无后缀文件添加打开方式选项-CSDN博客 的细节上的补充&#xff0c;对小白更友好。建议对照引用的博客观看。 管理员状态运行cmd 右键左下角开始位置&#xff0c;出现 左键点击打开终端管理员。 进去后直接输入cmd即…

COMSOL -电力输电线的电场和磁场仿真

为确保电力输电线周围人员和环境的安全&#xff0c;工程师必须对电力线产生的电场和磁场进行监控。通过多物理场仿真&#xff0c;工程师能够预测电力线产生的场如何从电力线中扩散&#xff0c;以及如何影响其辐射至地面的强度。这篇文章&#xff0c;我们将使用两个示例模型来说…

火绒被骂惨,良心居然也翻车?剩下3款软件还被误认为外国人开发

万万没想到&#xff0c;公认的国产良心软件“火绒”&#xff0c;居然也翻车&#xff0c;很多网友对其大失所望&#xff0c;甚至忍不住吐槽让他不要砸了自己的招牌。 事情的起因是这样的&#xff0c;火绒推出应用商店&#xff0c;并于正式公测&#xff0c;这是要逐渐走向全家桶的…

大模型应用RAG系列(一):初识RAG,RAG出现及未来发展趋势

题外话 之前我们在讲大模型的应用方向和架构时&#xff0c;有提到RAG、Agent、Fine-Tune。在作者写大模型专题的文章时&#xff0c;也是边学习&#xff0c;边梳理&#xff0c;边总结。在这个过程中&#xff0c;大模型在各个方向都不断地快速发展&#xff0c;对应的paper、理论…

AI绘画的10种变现方法,逼你躺平挣钱

AI绘画到底能多挣钱&#xff01; 马上看证据&#xff0c;知乎和其它平台的收益&#xff0c;AI绘画挣的稿费&#xff0c;还有某音某瓜的稿费。 都是有AI绘画的一大功劳&#xff01; 接下来介绍AI绘画的十种挣钱方法&#xff0c;有折腾的收益&#xff0c;也有躺平的收益&#x…

ArcGIS Pro三维空间分析、专题制图、遥感制图全流程系统教学

ESRI宣布&#xff1a;ArcGIS 10.8.2 是 ArcMap 的当前版本&#xff0c;在 2026 年 3 月 1 日之前将继续受支持。我们没有计划在 2021/22 年随 ArcGIS 版本一起发布 ArcMap 10.9.x。这意味着 10.8.x 系列将是 ArcMap 的最终版本系列&#xff0c;并将在 2026 年 3 月 1 日之前受支…

28. 深度学习中的损失函数:起源、分类及统一理解

在深度学习和机器学习领域&#xff0c;损失函数&#xff08;Loss Function&#xff09;是优化问题的核心&#xff0c;决定了模型参数的调整方向和幅度。尽管损失函数种类繁多&#xff0c;但理解其起源和背后的理论有助于我们更好地选择和应用它们。 损失函数的起源 所有的优化…

Python爬虫实战:利用代理IP批量下载哔哩哔哩美女视频

文章 目录 1.前言2.爬取目标3.准备工作3.1 环境安装3.2 代理免费获取 四、爬虫实战分析4.1 翻页分析4.2 获取视频跳转链接4.3 下载视频4.4 视频音频合并4.5 完整源码 五、总结 1.前言 粉丝们&#xff08;lsp&#xff09;期待已久的Python批量下载哔哩哔哩美女视频教程它终于来…

机器人控制系列教程之运动规划(1)

机械臂的运动 工业机器人的运动&#xff0c;根据其运动轨迹可分为点到点的运动和路径跟踪运动。点到点的运动只关心特点的位置点&#xff0c;而路径跟踪运动关心整个运动路径。 点到点运动 点到点的运动根据目标点的机器人位姿&#xff0c;利用逆向运动学求取机器人各个关节…

低代码平台如何重塑项目管理:效率与创新的新边界

引言 随着数字化转型的加速和技术创新的推动&#xff0c;低代码开发平台在近年来逐渐崭露头角&#xff0c;成为企业和组织加速应用开发和创新的重要工具。低代码平台通过提供可视化的开发环境和预构建的组件&#xff0c;极大地简化了应用程序的开发过程&#xff0c;使非专业开发…

C++学习全教程(day1:变量和数据类型、运算符、流行控制语句)

目录 一、变量和数据类型 1、变量 2、标识符 3、作用域 4、常量 5、数据类型 1.基本数据类型-整型 2.char类型 3.bool类型 4.浮点类型 5.字面值常量 二、运算符 1、算数运算符 2、赋值运算符 3、复合赋值运算符 4、关系和逻辑运算 1.关系运算符 -------结果是…

PointCloudLib NDT3D算法实现点云配准 C++版本

0.实现效果 效果不咋好 ,参数不好调整 1.算法原理 3D NDT(Normal Distributions Transform)算法是一种用于同时定位和地图生成(SLAM)的机器人导航算法,特别适用于三维点云数据的配准。以下是关于3D NDT算法的详细解释: 算法原理 点云划分与分布计算:3D NDT算法首先将…

2024第十三届中国PMO大会主持人介绍

全国PMO专业人士年度盛会 由PMO评论主办的2024第十三届中国PMO大会邀请了到十几位知名企业的PMO和项目管理专家来担任大会主持人。大会将于6月29-30日在北京举办&#xff0c;敬请关注&#xff01; 主持人介绍 肖杨&#xff0c;国际知名组织级项目管理专家&#xff0c;微薄之力…

武汉星起航:亚马逊全球化布局助力企业拓展国际市场

在当今全球化经济的大背景下&#xff0c;企业如何突破地域限制&#xff0c;将产品推向更广阔的市场&#xff0c;成为了摆在众多企业家面前的重要课题。武汉星起航相信&#xff0c;亚马逊&#xff0c;作为全球最大的在线零售平台之一&#xff0c;以其独特的全球化布局和强大的服…

fidder自动测试cookie脚本

前言 工作在使用fidder抓包时&#xff0c;经常需要找到一个请求携带的cookie中&#xff0c;真正校验了那些cookie&#xff0c;从而在代码中实现写入这些cookie的请求。这个过程除了根据经验快速过滤&#xff0c;就只能一个一个删除测试了。 所以我写了这个脚本&#xff0c;自动…

东南亚本地化游戏

通常&#xff0c;亚洲电子游戏市场首先与中国联系在一起。但最近&#xff0c;分析人士越来越关注一个邻近地区&#xff1a;东南亚。而且有充分的理由。 该地区包括中南半岛、马来群岛和邻近岛屿上的十一个国家。1967年&#xff0c;其中10个国家&#xff08;除东帝汶外&#xf…