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

呼吸灯

相关推荐
赵谨言1 小时前
多语种在线语言学习平台LinguaVerse的设计与实现毕业论文
学习
一支蜉蝣1 小时前
Day26 XD安全学习笔记--PHP 应用&模版引用&Smarty渲染&MVC 模型&数据联动&RCE 安全
笔记·网络安全·html·php
速易达网络1 小时前
Three.js 动画入门教学:从场景搭建到流畅动效
开发语言·javascript·ecmascript
東隅已逝,桑榆非晚1 小时前
算法3.双指针法-快乐数
c++·笔记·学习·算法
福大大架构师每日一题1 小时前
excelize v2.11.1发布:Go 1.26.0起步,16项安全修复与嵌入对象能力全面升级
开发语言·安全·golang
Sarvartha1 小时前
集合概述 & Collection 接口
开发语言
FII工业富联科技服务1 小时前
多智能体如何进入制造现场?从业务协同到数字孪生验证
大数据·人工智能·算法·机器人·制造·数字孪生
欢欢李1 小时前
【LTE L3 笔记 01】LTE空口特点
笔记·无线通信·物理层·lte·空口协议
li星野2 小时前
Regular and Irregular Nouns — One-Page A4 Notes
学习
lhbweilai2 小时前
QT项目(串口助手)
开发语言·qt