一步步入门机器人【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的占空比

呼吸灯

相关推荐
张张努力变强17 小时前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
xyq202417 小时前
Matplotlib 绘图线
开发语言
m0_6948455717 小时前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
JustDI-CM17 小时前
AI学习笔记-提示词工程
人工智能·笔记·学习
春日见18 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
悟纤18 小时前
学习与专注音乐流派 (Study & Focus Music):AI 音乐创作终极指南 | Suno高级篇 | 第33篇
大数据·人工智能·深度学习·学习·suno·suno api
爱写bug的野原新之助18 小时前
加密摘要算法MD5、SHA、HMAC:学习笔记
笔记·学习
C++ 老炮儿的技术栈18 小时前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt
派葛穆18 小时前
Python-批量安装依赖
开发语言·python
MSTcheng.18 小时前
【C++】C++11新特性(二)
java·开发语言·c++·c++11