一步步入门机器人【Arduino基础】

文章目录


碎碎念

博主C语言基础内容学习完后,平时的学业任务也比较重,所以没有坚持写博客,最近这段时间我会总结我这段时间学到的知识与成果与大家分享。因为我也是初学者,对于所学知识的总结难免会有漏洞,欢迎大家批评指正。


一、什么是Arduino

Arduino 是一个能够用来 感应 和 控制 现实物理世界的一套工具。

Arduino 是一个基于单片机并且 开放 源码的硬件平台,和一套为 Arduino 板编写程序的开发

环境( 免费 )组成。

Arduino 简化 了单片机工作的流程,同其它系

统相比, Arduino 在很多地方更具有优越性,

特别适合老师,学生和一些业余爱好者们使用

篇外:Arduino名称由来

意大利北部一个如诗如画的小镇「Ivrea」,横跨过蓝绿色Dora Baltea河,它最著名的事迹是关于一位受压迫的国王。公元1002年,国王Arduin成为国家的统治者,不幸的是两年后即被德国亨利二世国王给废掉了。今日,在这位无法成为新国王的出生地,

cobblestone街上有家叫「di Re Arduino」的酒吧纪念了这位国王。Massimo Banzi经常光临这家酒吧,而他将这个电子产品计划命名为Arduino以纪念这个地方。

二、单片机&嵌入式系统&微控制器

名词解释

代码如下(示例):

单片机 :直接理解为微控制器
微控制器(MCU) :基本计算机(为什么是计算机?因为 MCU 中使用的基本组件:CPU、系统时钟、内存,所有这些都是计算机使用的。什么样的计算机?完成单一功能的计算机)
嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统(说人话:计算机技术"嵌入"到各种设备中,让这些设备变得更智能、更强大)

How dose it work?

这里只简单介绍单片机的原理而不细究,因为应用时我们主要关注单片机上的程序怎么写。

冯诺依曼结构的灵魂

回顾历史:早期的计算机程序是硬件化的,程序和数据是俩个截然不同的概念,数据放在存储器中,而程序作为控制器的一部分

冯诺依曼的横空出世,将最初的硬件化程序变为可编程、可存储编码,放在存储器中,随意使用。将程序编码为数据,然后与数据一同存放在存储器中,无论什么程序,最终都是会转换为数据的形式存储在存储器中,要执行相应的程序只需要从存储器中依次取出指令、执行(譬如exe文件就是二进制编码的文件,可以直接运行)这种设计思想导致了硬件和软件的分离,即硬件设计和程序设计可以分开执行

How to use it?

硬件

Arduino Uno:基础款,适合入门的同学学习使用

Arduino Mega-2560:提供丰富的输入输出端口

Arduino LilyPad:可穿戴的电路板,适合开发可穿戴创意设备Arduino Nano:微型电路板
软件

ArduinoIDE

二、认识硬件

三、数字和模拟

模拟(analog)信号 :在自然界中,我们可以感知的,在时间和幅值上都是连续的物理量称为模拟信号。
数字(digital)信号 :数字信号是指在取值上是离散的、不连续的信号,只有有限个特定的电压值,表现为瞬时跳变直方形


从模拟到数字

在电学中,用传感器将这样的物理量转变成为电信号,通常用连续变化的电压值或电流值表示。

采样:将时间上连续、幅度上也连续的模拟信号变换成时间上离散、但幅度上仍连续的已采样信号,采样完成模拟信号在时间上的离散化。

量化:用预先规定好了的有限个电平值来表示模拟抽样值,量化完成模拟信号在幅度上的离散化

编码:通常采用二进制编码,即用N 位二进制代码来表示量化值。

四、认识Arduino IDE




五、PWM波与呼吸灯

Pulse Width Manipulate------脉宽调制

可以通过改变高电压在整个周期内的比重(也叫占空比)产生近似于连续变化的有效值。

可以用于连续调节(亮度、转速等)

控制LED亮度

回顾之前讲到的模拟信号和数字信号

Q:如何用digital_write控制输出亮度(电压)?A:使用PWM波

Q:如何输出不同的亮度?

A:改变PWM的占空比

呼吸灯

相关推荐
TaoMetrix12 分钟前
Microduck 爆火之后:TaoMetrix 如何帮助品牌抓住 AI 陪伴机器人新机会
人工智能·机器人
承渊政道1 小时前
【Python编程—从入门到实践】(Python条件判断完全入门:从布尔表达式到列表中的if实战)
开发语言·python·pycharm·条件判断·布尔表达式
小灰灰搞电子1 小时前
Rust 相关容器(集合)详解
开发语言·容器·rust
萧瑟余晖4 小时前
Java深入解析篇三十三之密封类与接口(Sealed Classes)详解
java·开发语言
CoreTK_EMC7 小时前
机器人信号线缆屏蔽:解决伺服干扰、通讯异常的工程落地思路
网络·机器人·芯通康·机器人信号线缆屏蔽·工业机器人线缆 emc·机器人接地屏蔽·ethercat 通讯干扰
小淮AI7 小时前
从“刷题”到“追问”:AI课堂正在重塑哪些学习旧习惯?
人工智能·学习
恒锐丰科技林技术员8 小时前
SS6209 半桥驱动器:小型半桥电源方案的优选器件
经验分享·嵌入式硬件
论迹复利8 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
张宇Joaquin8 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络
736c9 小时前
C语言-数组 07
c语言·开发语言