先学Arduino而不是先学单片机

Arduino的硬件:什么是单片机?什么是Arduino?Arduino和单片机区别?Arduino有哪些种类?Arduino扩展板有哪些? 阅读详情
AI摘要

本文介绍了Arduino这一开发平台,它是基于单片机电路板的开源物理计算平台,使用C/C++编写代码,普通人能轻松上手。与学习51单片机相比,使用Arduino入门速度更快,能快速实现创意。不过,学习Arduino仍需掌握C语言,操作特定器件时也需了解原理。

转自KiritoA’s Blog

突然想起一个很重要的问题,为什么大家(包括我)都认为参加电子设计大赛,或者做点什么制作都非得要先学好单片机,还有模电数电这些基础知识?
本文针对还没有足够专业知识的同学,大神可忽略~

在实验室的时候,每当有师弟(师妹)来问“怎样才能弄出这个东西?”大家通常都会说“先学好单片机基础啦,像操作IO口啊,至少点亮个LED先,还有中断定时器串口I2CSPI什么的,然后就是学习控制一些芯片模块啊,对了还有模电数电基础,画电路板,做板要转印显影腐蚀,最后焊接调试。。。”如果不是对这些非常有兴趣的同学估计都要光速逃跑了。然后实验室留下的,都是对电子制作抱有强烈兴趣,能学下去的同学。

直到今天我才想起一个最基本的问题,我们学这些的最终目的:

不是要做一样东西出来吗?
不是想把心目中的一个想法实现出来吗?
一定需要学好那么多东西才能付诸实现?
10年前的我们也许就需要这样,但是赶上时代发展的我们有Arduino这一神器。

What is Arduino?

首先,Arduino算是一个开发平台,其中一个型号的开发板是长这样的

在这里插入图片描述

Arduino是一个开发各类设备,让你比台式电脑更能充分感知和控制物理世界的生态系统。Arduino是一个基于一系列单片机电路板的开源物理计算平台,一个编写用于Arduino和Genuino开发板的软件开发环境和一个拥有活跃开发者和用户社区。
Arduino可用于开发交互式物体,接受来自各类开关或传感器的输入,并能控制各种灯光、马达和其他物理输出装置。Arduino项目可以单独运行,也可以与您计算机上运行的软件(Processing、MaxMSP)配合使用。您可以手动组装简单的开发板,或购买预装的整套开发板, 还可以免费下载开源Arduino软件(IDE)。
Arduino编程所用编程语言是以Processing多媒体编程环境为基础的物理计算平台Wiring。通过多年的努力,Arduino软件(IDE)已经演变成能支持由英特尔和三星等公司制造的众多核心板和开发板。

官方的介绍不明觉厉,简单地说,就是一个开发平台,使用C/C++编写代码,普通人都能轻松上手,制作出想要的东西。简单的可以做个自动或者手动遥控小车。
在这里插入图片描述

图片引用:www.robotshop.com

复杂的或者做个目前比较火的3D打印机

在这里插入图片描述

当然最好的,还是把你脑海中的创意付诸于实现。
简而言之,你想做东西又不想学习单片机什么的,Arduino就是快速实现创意的最佳平台,但写代码是逃不掉的了(`・ω・´)


Why Arduino

明明有一个最快最简便的实现方法摆在面前,虽然我一直都知道这东西,却没想过它的意义何在。我们常常从51开始学单片机,然而

当我们在学单片机架构,CPU,ROM,RAM,寄存器等各种理论的时候,用Arduino的人在准备开发环境。
当我们在研究IO口,中断,定时器,如何使用各种通信协议的时候,用Arduino的人已经在尝试跟着教程写程序了。
当我们在纠结Keil破解之类的问题时,用Arduino的人大概已经自己写出了完整的程序了。
在Arduino写程序的时候,完全不需要知道单片机是什么东西,只需要根据官方提供的各种函数写代码,就像编写电脑程序一样,做到了底层无关,底层硬件对用户是透明的,我们只需要集中精力在软件方面。这样的好处是,至少不会再有这些学习51单片机几乎都要问一遍问题:

delay函数要怎么写?我看不懂这些for语句是干什么的?
I2C怎么写?为什么一直都通信不了?
串口怎么没输出的?怎么都是乱码?
这些基本的驱动函数Arduino中都已经全部编写好,使用时只需要调用函数即可。入门速度跟51单片机相比提高的不只是一点点。这也是Arduino项目最开始的目的,让一般人,让不懂什么电子知识的人都能很方便的实现自己的想法,就像开车不需要了解里面各种构造一样。官方也提供了大量示例程序,这些程序基本通用而且简单容易上手,也推出了一些外围器件模块,方便用户拓展。

然而,虽然安利了一大波,但并不是说Arduino就是什么神器,简单地说就是把单片机操作各种底层寄存器羞涩难懂的步骤省掉了。Arduino开发板本身并没有任何模块,因此你在最开始学习时只是学怎么操作这块板的芯片。当你需要操作矩阵键盘,数码管,液晶屏,电机这些东西(统称为外设)时,还是需要了解这些外设其中的原理,但单片机这个门槛你已经跨过了。
但是,

学习Arduino之前首先要学习C语言,此乃基本功。
操作一些官方没有例子的器件(芯片)的时候,还是需要看芯片手册或者一些教程。
当需要更深入了解底层/电子知识时,就需要进一步的学习了。
总而言之,Arduino就是创作/电子制作启蒙工具,实质还是电子积木的形式,但这的确是快速实现一些idea最理想最便捷的平台。不过未来要把做出来的东西整合起来的话,就需要更深入学习其他知识了,例如绘制和制作电路板。

当然,Arduino并不适合所有人,有的同学的确是想学习了解单片机的内部结构,或者从一开始起点比较高,做出来的东西接近一个实际产品(比如我,逃

也许有同学要问:

那已经不再需要学习单片机了?

Arduino使用的就是一款AVR单片机,当你已经不满足于仅使用Arduino提供的库函数的时候,你就可以打开库函数的源代码,当你都看懂之后,你会发现你已经学会如何使用AVR单片机了

当你掌握AVR单片机再回头看51单片机,你就会发现

“51单片机好难用啊”

虽然我最开始不是从Arduino学起,都是先学习51单片机,但当我接触AVR后,我就发现

卧槽我一定是我用过最爽的单片机(手动滑稽

最后,更多Arduino信息可以在官方网站了解更多https://www.arduino.cc


如果还有同学有兴趣并看到这个地方的话

我想说我们常说的单片机比较正确的叫法是微控制器/微处理器,不过因为历史的原因已经习惯这个叫法了。
对于很多工科专业的同学来说,51单片机是大学课程的内容之一,但Arduino对于大一大二模电数电单片机都还沒教的同学来说,Arduino会比较适合入门电子世界。

ARDUINO 与KEIL 不同的相关问题 1、arduino写函数时,如果全写在ino里面会显得非常乱,但是有些项目需要很多东西来配置,因此需要写在。但是对于arduino来说,创建新文件需要的后缀与KEIL不一样,不同于keil,后缀改为cpp。2、在使用wifi函数时,会遇到想要创建一个wificlient和PubSubClient,在。在用惯KEIL之后再用ARDUINO会出现一些不适应的问题,因此本文写一下目前使用arduino遇到的问题以及相关方法。2.写入新的文件名,.C文件后缀为。3. .h文件与.CPP文件需要写入。 阅读详情

相关推荐

Arduino、arm、树莓派、单片机四者区别和关系

很多初学者搞不清Arnduino、arm、树莓派、单片机这几个的区别。 其实拿这4者来比较本身就是一件错误的事。 这四者就像:大众、12缸发动机、保时捷、小汽车的区别。 从一开始方向就走错了,以为学习嵌入式上述所有东西都要学。 好不容易熬了几个月,感觉还是一无所成,做不出什么项目,经常会感觉懂了又好像什么都不懂。 这就是定位不够精准导致的,把精力都分散出去了,最后没一个能拿的出手的。 这四者都是属于嵌入式技术范畴,嵌入式涉及的技术知识体系非常庞大。 但是随着AIoT物联网技术普及,这.

Enweitech Software Works 1万+

Arduino-PlatformIO-Keil之间的区别多层次分析

好的,用户现在想了解在Arduino、PlatformIO和Keil这三个开发环境下,开发最简单的点灯程序有什么区别,尤其是代码结构、头文件等方面的差异。此外,项目配置方面,Arduino使用.ino文件,PlatformIO使用platformio.ini,而Keil使用工程文件,包含大量的配置选项。首先,我需要回忆这三个平台的基本特点。可能还需要提到性能优化和资源占用情况,Keil通常生成更高效的代码,适合资源受限的环境,而Arduino和PlatformIO可能代码体积较大,但开发速度快。

远方雪的专栏 1783

利用PROGISP实现ARDUINO IDE编写的程序的下载以及如何把AVR单片机做成ARDUINO板

首先讲讲题目的由来吧。我做的东西原本是利用ARDUINO MEGA2560及各种模块搭建起来的,程序自然也是用ARDUINO IDE写的。但这种东拼西凑的产品自然不够好,更主要的是,之前ARDUINO板的电源烧掉了,我看了下原理图,当电脑USB电源和12V电源都接上时,USB5V和12V转的5V并联了,以此来提供大电流,但是我上网查了下,两个相同电压的电源并联其实是很容易出问题的,电流的分配关系并没

奇葩猴的博客 6040

使用stm32,在keil 上跑arduino的函数或者生态

网友FASTSHIFT的大作: 众所周知,STM32系列作为当前热门的微控制器,具有速度快、高性价比、外设丰富、资料众多等优点。 目前STM32主流的开发方式有寄存器开发,标准库开发,还有ST主推的HAL库开发,开发环境有IAR、Keil、Eclipse等,优缺点就不多说了,我相信适合自己的就是最好的。 但是我相信刚刚接触STM32的初学者,面对各种抽象复杂的寄存器、陌生的函数名,几乎是一脸懵逼的...

doctorlyly的博客 4392

Arduino单片机(二).Arduino系列单片机的介绍

1、经典入门级—Ardunio UNO R3 1.1 性能资源 Arduino UNO R3是一款基于Atmega328的单片机开发板,其板载14个数字IO端口0到13(其中6个端口可以作为PWM信号输出功能使用);6个模拟输入(可做数字信号输入和输出功能)端口A0~A5;1个16MHz的晶体振荡器;一个USB接口;1个DC电源插座;1个ICSP header以及1个复位按钮。Arduino UNO R3的详细参数如下表中所示 微处理器 ATmega328P 数字输入/输出引脚 14路 工作

胡启智的博客 1万+

单片机学习笔记(Arduino Uno r3)

单片机入门相关概念学习,Arduino Uno r3使用方法和相关技巧

cloudyfair的博客 2万+

Stduino IDE相关介绍以及对比

前几天刚刚学习了Arduino,Arduino的简单易上手瞬间就吸引了我。同时国内也有一款类似的MCU集成开发平台——Stduino也吸引住了我的眼球。

Liu-FE的博客 986

Arduino-For-Keil:用于Keil项目的轻量级Arduino框架

Arduino-For-Keil:用于Keil项目的轻量级Arduino框架

arduino和单片机的区别,arduino好还是单片机好?

很多初学者和我当初一样不知道arduino和单片机的区别。 其实我也是学完才知道arduino的存在,还好当初是直接学的51单片机,不然可能就去学arduino了,因为这个平台对初学者比较友好。 如果当初先尝试arduino可能就不会往单片机发展。 我们要想搞清楚arduino和单片机哪个更好之前,我们需要先知道它们之间的区别。 一、Arduino和单片机的区别? arduino和51都是入门级学习套件。 1.arduino Arduino的开发一般是一套以AVR单片机为核心控制器..

无际单片机编程 1万+

【技术纵览】行为识别前沿模型演进:从CNN到多模态大模型

本文全面解析了行为识别技术从CNN到多模态大模型的演进历程,重点介绍了SlowFast、TimeSformer、VideoMAE和InternVideo等SOTA模型的核心创新与应用实践。通过对比分析各代模型在Kinetics-400等数据集上的表现,揭示了自监督学习和多模态融合如何推动行为识别准确率突破85%,并探讨了工业部署中的技术选型策略与优化方向。

weixin_29169505的博客 153

我的交叉验证翻车实录:从‘炼丹’到可靠评估,我是怎么用五折验证拯救我的图像分割模型的

本文分享了作者在医学图像分割模型评估中从失败到成功的实战经验。通过引入五折交叉验证方法,解决了传统数据划分的局限性,显著提升了模型评估的稳定性和泛化能力。文章详细介绍了Python实现、数据准备策略和训练流水线改造,为AI医疗影像分析提供了可靠的技术方案。

weixin_42625070的博客 271

Arduino、arm、树莓派、单片机四者有什么不同?

大家好,我是无际。 今天来给大家普及下一些专业名词。 很多初学者搞不清Arnduino、arm、树莓派、单片机这几个的区别。 其实拿这4者来比较本身就是一件错误的事。 这四者就像:大众、12缸发动机、保时捷、小汽车的区别。 从一开始方向就走错了,以为学习嵌入式,以上的所有东西都要学。 好不容易熬了几个月,感觉还是一无所成,做不出什么项目,经常会感觉懂了,又好像什么都不懂。 这就是定位不够精准导致的,把精力都分散出去了,最后没一个能拿的出手的。 这四者都是属于嵌入式技术范畴,嵌入式涉及的技术知

无际单片机编程 1万+

【计算机视觉学习03】全景图像拼接

文章目录一、基本原理1.1 图像拼接的几何原理1.2 直线,圆,复杂曲线方程拟合1.3 RANSAC算法1.4 APAP算法1.5 寻找最佳拼接缝(Seam Finding)1.5.1 最大流问题1.5.2 最大流问题的增广链算法1.5.3 最大流最小割定理二、 图像拼接具体实现2.1 代码2.2 运行结果 一、基本原理 将两幅或多幅具有重叠区域的图像,通过特征匹配将具有相同的特征点(SIFT特征点)的图像拼接在一起,将来自多个不同视角拍摄的图像变换到同一视角下,拼接成一张宽视野图像。 图像拼接基础流程

一个正在努力学习的iter 7789

零成本学Arduino单片机之入门

图1 Arduino单片机的Proteus仿真  我的Arduino博客:http://www.eefocus.com/zhang700309/blog/ 一、前言           Arduino是由Massimo Banzi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis 和Nicholas Zambetti共同

xyjikl 5383

毫米波与太赫兹:十射线模型建模

Pt=1,只考虑地面和前后两面墙的反射,反射系数为0.7。用matlab设计程序并实现该功能。,总计考虑10条路径,求出接收功率随。

SupermarketX的博客 785

如何使用Docker部署OpenClaw小龙虾(docker compose快速部署)

本文以飞牛NAS为例💻,带大家一步步完成Docker部署OpenClaw小龙虾🦞。不管你是用NAS、云服务器还是本地电脑,只要支持Docker,都可以参考这个步骤来安装部署⚡

XiaoqiangClub的博客 727

arduino和单片机的区别是什么

区别:Arduino是一款便捷灵活、方便上手的开源电子原型平台,是主要以AVR单片机为核心控制器的单片机应用开发板;而单片机是一种集成电路芯片,是一个小而完善的微型计算机系统。 arduino和单片机的区别 1、Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martin

santirenpc的博客 7780

Python高阶爬虫:逆向工程模拟Wind/同花顺等金融终端数据抓取

本文详细阐述了模拟金融数据终端进行数据抓取的全套技术方案。我们从法律合规性讲起,选择了Playwright作为核心自动化工具,通过两个实战案例(同花顺网页版和Wind桌面版)演示了从分析、模拟到数据解析的完整流程,并进一步介绍了构建健壮爬虫系统所需的高级技巧。我们的策略是:启动一个由Playwright控制的浏览器,模拟真人登录,然后监听所有网络请求,从中过滤出我们需要的那个数据API。if key in ['f43', 'f169', 'f170', 'f46', 'f60']: # 价格类字段。

2201_76125261的博客 546

ESP8266、STM32、Arduino和51单片机,入门该如何选择

一、 从侧重硬件到侧重软件: 51>STM32>Arduino 从入手简单到困难: Arduino>51>STM32 从性能低级到强大: 51>Arduino>STM32 从价格低到高: 51>STM32>Arduino 二、 ESP8266,WIFI智能家居的一股清流,价格便宜的一批,常规运算性能堪比STM32。但相比一大点中的三位而言ESP8266系列更侧重于无线WIFI互联,远程控制,本身IO口少不适合做显示或大型控制的核心,也可以做一个纯粹的WI

qq_59053812的博客 1万+

【AUTOSAR-E2E】-2.2-配置E2E:基于E2EPW配置一个TX发送的Signal Group(使用E2E Profile 2)

《共13页精讲》:此法也适用于E2E Profile 4/5/6/7/11/22 目录 1 检查CAN Matrix Arxml/DBC是否满足E2E需求 2 在DaVinci Developer中为Port添加E2E保护 3 在DaVinci Configurator settings设置 4 如何使用应用层的E2E保护 5 结尾 <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> &lt.

「汽车电子助手」的博客 4219

北斗导航 | raPPPid软件功能模块详解

raPPPid(Rapid Precise Point Positioning with integer ambiguity resolution,快速精密单点定位与整周模糊度解算)是由维也纳工业大学(TU Wien)大地测量与地理信息系开发的MATLAB开源PPP软件包。它是VieVS(Vienna VLBI and Satellite Software,维也纳VLBI与卫星软件)的PPP模块,由Marcus Franz Glaner和Robert Weber主导开发。

尘世冰封的专栏 586

【单片机】Arduino(以UNO R3为例)

单片机是什么?   单片机,全称单片微型计算机(英语:Single-chip Microcomputer),又称微控制器单元(Microcontroller Unit),是把中央处理器、存储器、定时/计数器(timer/counter)、各种输入输出接口等都集成在一块集成電路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的定义已不能满足,所以在很多应用场

记录学习成长之路,进一寸有进一寸的欢喜 2万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Arduino单片机详解

Arduino单片机因其易用性、开放性和强大的功能,成为了电子制造和物联网开发的热门选择。通过本文的介绍,你应该对Arduino单片机有了更深入的了解,并能够开始自己的Arduino项目。无论是家庭自动化、机器人控制还是环境监测,Arduino都能为你提供强大的支持。希望你能在Arduino的世界中找到乐趣,并创造出更多精彩的项目。

嵌入式极客小张 3600

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Arduino和单片机区别,及Arduino入门教程

关注、星标公众号,不错过精彩内容素材来源:DF创客社区编辑整理:strongerHuang搞单片机的读者都应该听说过Arduino,或者用过Arduino,但很多小伙伴还是不清楚究竟什么...

strongerHuang 5805

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Arduino和单片机有啥区别?

搞单片机的读者都应该听说过Arduino,或者用过Arduino,但很多小伙伴还是不清楚究竟什么是Arduino,今天就针对初学者简单描述一下 Arduino 相关内容。一、初识Ardu...

6393

先有单片机还是计算机,Arduino和单片机有啥区别?

搞单片机的读者都应该听说过Arduino,或者用过Arduino,但很多小伙伴还是不清楚究竟什么是Arduino,今天就针对初学者简单描述一下 Arduino 相关内容。一、初识Arduino要了解Arduino就先要了解什么是单片机,Arduino平台的基础其实就是AVR指令集的单片机。1、什么是单片机?一台能够工作的计算机包含以下几个部份:中央处理单元CPU(进行运算、控制)、随机存储器RAM...

weixin_29800175的博客 855
上一篇: 纯小白:pip install 安装库失败(适用于microsoft visual c++ 14.0 is required,详细步骤)
下一篇: python 字典与列表的相互转换
思想召唤泉
博客等级 码龄8年 27粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值