Arduino项目式编程教学前言

前言–先聊聊我的经历

在停更数年之后,还是打算重新开启Arduino编程教学这一项目;这几年间,我从Arduino编程开发教学,转到C++及python教学,又到如今的高中数学教学,跨度竟如此之大,但始终未脱离教学这一工作属性,“老师”这一称呼也已持续了6年时间。
在这里插入图片描述
其间指导教学的学生涵盖了小学到高中,当然也能感受到这其间学生们对于编程学习心态上的变化;对于低龄儿童而言,的确是出于兴趣考虑,而且由于趣味性强及难度较低,孩子们是可以坚持进行学习的,但随着年龄的增长及学习内容难度的提升,参与学习的学员数量是在明显降低的,特别是到了初升高阶段的学生,大多数会放弃对编程类课程的学习,剩下的“死忠粉”,要么是真的爱好,要么学有余力,但更多的还是出于些许功利的目的——为了能够在将来的高考综合评价招生中,被学校降分录取。
在这里插入图片描述
至于我,在济南从业数年之后,还是回到了自己的家乡,区域经济发展的水平,也就限制了这类行业的发展(当然还是存在些规模不大的几家机构)。但自从返乡后的这几年间,一直投身于当前的高中数学教育事业,也就未曾系统的再去整理一直存储于脑后的这些知识;但我想,若是再不拾起,恐怕不久后会忘的一干二净,便是浪费了这几年从业的经验,因此在闲暇之余,会先对Arduino编程相关的知识进行整理。

对这一部分整理的过程会以PBL项目式教学来进行,即每一节课都会完成一个可以独立运行并实现特定功能的项目,整个过程需要些耐心,如果想要“一天学会Arduino编程”,显然这一系列文章就不太适合了,接下来我们慢慢的了解Arduino编程。

一、什么是Arduino?

Arduino 是一个灵活、易于使用的开源电子平台,这个平台包含软件硬件
Arduino能通过各种各样的传感器来感知环境,以及通过控制灯光、马达和其他的执行器来影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,通过编译成二进制文件,烧录进微控制器,从而进行控制。对Arduino的编程是利用 Arduino编程语言和Arduino开发环境来实现的。
在这里插入图片描述

二、发明人及发明原因

Arduino是意大利人发明的硬件和软件,它的核心开发团队成员包括:Massimo Banzi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis 和 Nicholas Zambetti。
当然Arduino的发展也是有故事的:
在这里插入图片描述
据说Massimo Banzi之前是意大利Ivrea一家学校的老师。他的学生经常抱怨找不到便宜好用的微控制器。 2005年冬天,Massimo BanziDavid Cuartielles讨论了这个问题。 David Cuartielles是一个西班牙籍晶片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Massimo的学生 Mellis为电路板设计编程语言。两天以后,Mellis就写出了程式码。又过了三天,电路板就完工了。这块电路板被命名为Arduino。几乎任何人,即使不懂电脑编程,也能用Arduino做出 很酷的东西,比如对感测器作出回应,闪烁灯光,还能控制马达。
后来他们将Arduino相关设计图放在了网上,保持设计的开放源码理念,在共享创意许可下,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品。你不需要付版税,甚至不用取得 Arduino 团队的许可。唯一被保留的只有Arduino这个名字。它被注册成了商标。如果有人想用这个名字卖电路板,那他们可能必须付一点商标费用给 Arduino 的核心开发团队成员。

三、Arduino名字的由来

意大利北部一个如诗如画的小镇“Ivrea”,横跨过蓝绿色Dora Baltea河,它最著名的事迹是关于一位受压迫的国王。公元1002年,国王Arduin成为国家的统治者,不幸的是两年后即被德国亨利二世国王废掉。今日,在这位无法成为新国王的出生地——cobblestone街上有家叫“di Re Arduino”的酒吧,是为了纪念这位国王。而Massimo Banzi经常光临这家酒吧,因此他将这个电子产品平台命名为Aruino以纪念这个地方。
在这里插入图片描述

四、初见Arduino电路板

在这里插入图片描述
如上图所示,这些源自仿真器图片中的电路板都标有“Arduino”的字样,但由于用处不同功能不同等被划分了多种型号,其中位于图片最中央的“Arduino UNO”型号是最基础也是我们最常用的板卡,后期的教学我们也主要围绕UNO板来进行。
在这里插入图片描述
首先对Arduino UNO板卡进行简要介绍,Arduino UNO板卡采用的芯片型号为ATMega328P,板子的右上角为一个USB-B型串口,可直接通过串口线与电脑设备连接;左上角为DC电源母座,可外接电源供电;另外整个板卡的外围区域分为3种不同类型的端口区域,分别为power区域(电源)、DIGITAL区域(数字引脚)及ANALOG区域(模拟引脚);具体的引脚用处我们会在后面的第一课里作详细介绍。

五、Arduino编译器的搭建

网址输入arduino.cc进入官网下载软件并安装即可。
在这里插入图片描述
在这里插入图片描述

结语

本章仅仅是Arduino教学的准备工作,旨在使读者能简要了解Arduino的由来,并未涉及具体的操作及运行方法;从下一章开始,将会在每个章节中探究生活中的具体事物及具体问题,以及应用Arduino编程平台来模仿出具备某种功能的作品,本系列教程将逐步更新,由于平日课业工作繁忙,更新过程或许较慢,感谢支持。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在通用jar包中引入其他spring boot starter,并在通用jar包中直接配置这些starter的yml相关属性

场景 我在通用jar包中引入 spring-boot-starter-actuator 这样希望引用通用jar的所有服务都可以直接使用 actuator 中的功能, 问题在于,正常情况下,actuator的配置都写在每个项目的yml文件中,这就意味着,虽然每个项目…

ArcGIS创建格网

目录 1、创建网格 2、裁剪边界外的网格 3、只保留边界内完整的网格 1、创建网格 首先,我们在创建渔网前,需要指定渔网覆盖的范围。这里我们就以四子王为例 在ArcMap软件中,我们依次选择“Toolboxes”→“Data Management Tools&#xff0…

【漏洞复现】用友移动管理系统文件上传

漏洞描述 用友移动系统管理旧版本uploadApk接口存在任意文件上传,攻击者可在无需登录的情况下上传恶意文件,执行任意命令 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社…

Line多账号如何运营?

Line在亚洲地区非常流行,特别是在日本、台湾、泰国等地,是当地最受欢迎的即时通讯应用之一。 除了基本的聊天功能外,Line还提供了各种各样的贴图、表情包和游戏等娱乐功能,吸引了大量的用户。 一、选择利用line进行海外营销的原…

【蓝桥杯选拔赛真题23】C++计算24 第十二届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

C/C++计算24 第十二届蓝桥杯青少年创意编程大赛C++选拔赛真题 一、题目要求 1、编程实现 “计算 24”是一个流传已久的数字游戏,小蓝最近对此痴迷不已 游戏规则是:从 1~10 之间的自然数任意拿出 4 个数(4 个数各不相同,顺序随机),进行加、减、乘三种运算(使用某种运算…

【论文阅读】基于隐蔽带宽的汽车控制网络鲁棒认证(一)

文章目录 Abstract第一章 引言1.1 问题陈述1.2 研究假设1.3 贡献1.4 大纲 第二章 背景和相关工作2.1 CAN安全威胁2.1.1 CAN协议设计2.1.2 CAN网络攻击2.1.3 CAN应用攻击 2.2 可信执行2.2.1 软件认证2.2.2 消息身份认证2.2.3 可信执行环境2.2.4 Sancus2.2.5 VulCAN 2.3 侧信道攻…

sql注入 [极客大挑战 2019]LoveSQL 1

打开题目 几次尝试,发现输1 1",页面都会回显NO,Wrong username password!!! 只有输入1,页面报错,说明是单引号的字符型注入 那我们万能密码试试能不能登录 1 or 11 # 成功登录 得到账号…

同时显示上下两层凸包特征的可视化程序

数据类型 std::vector<pcl::PointCloud<pcl::PointXYZ>::Ptr> hulls_k_upper std::vector<pcl::PointCloud<pcl::PointXYZ>::Ptr> hulls_k_lower std::vector<pcl::PointCloud<pcl::PointXYZ>::Ptr> hulls_underk_upper std::vector<…

基于STC12C5A60S2系列1T 8051单片机的模数芯片ADC0832实现模数转换应用

基于STC12C5A60S2系列1T 8051单片的模数芯片ADC0832实现模数转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍模数芯片ADC0832介绍通过模数芯片ADC0832把电压模…

全局异常拦截和Spring Security认证异常的拦截的顺序

&#x1f4d1;前言 本文主要全局异常拦截和Spring Security认证异常的顺序&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日…

Redis的持久化策略

文章目录 1.RDB1)基本介绍2)自动触发3)手动触发4)RDB文件5)优点缺点 2.AOF1)基本介绍2)使用方式3)工作流程4)重写机制5)AOF文件6)优点缺点 3.RDB AOF 我们都知道&#xff0c;redis 是一个基于内存的数据库。基于内存的好处是访问速度快&#xff0c;缺点是“不持久”——当数据…

Kotlin原理+协程基本使用

协程概念 协程是Coroutine的中文简称&#xff0c;co表示协同、协作&#xff0c;routine表示程序。协程可以理解为多个互相协作的程序。协程是轻量级的线程&#xff0c;它的轻量体现在启动和切换&#xff0c;协程的启动不需要申请额外的堆栈空间&#xff1b;协程的切换发生在用…

syncthing 多设备同步

【精选】linux间文件实时同步(syncthing) ---带历史版本“后悔药”_syncthing linux_井底蛙-jdw的博客-CSDN博客https://blog.csdn.net/qq_41355314/article/details/116694273 wget https://gh-proxy.com/https://github.com/syncthing/syncthing/releases/download/v1.26.1/…

C++之list

C之list list的构造 #include <iostream> #include<list> using namespace std;//打印函数 void printfList(const list<int>&L) {for(list<int>::const_iterator it L.begin();it ! L.end();it){cout<<*it<<" ";}cout<…

Linux安装DMETL5与卸载

Linux安装DMETL5与卸载 环境介绍1 DM8数据库配置1.1 DM8数据库安装1.2 初始化达梦数据库1.3 创建DMETL使用的数据库用户 2 配置DMETL52.1 解压DMETL5安装包2.2 安装调度器2.3 安装执行器2.4 安装管理器2.5 启动dmetl5 调度器2.6 启动dmetl5 执行器2.7 启动dmetl5 管理器2.8 查看…

操作系统:输入输出管理(二)磁盘调度算法

一战成硕 5.3 磁盘固态硬盘5.3.1 磁盘5.3.2 磁盘的管理5.3.3 磁盘调度算法 5.3 磁盘固态硬盘 5.3.1 磁盘 磁盘是表面涂有磁性物质的物理盘片&#xff0c;通过一个称为磁头的导体线圈从磁盘存取数据。在读写操作中&#xff0c;磁头固定&#xff0c;磁盘在下面高速旋转。磁盘盘…

51单片机应用从零开始(六)·逻辑运算

51单片机应用从零开始&#xff08;一&#xff09;-CSDN博客 51单片机应用从零开始&#xff08;二&#xff09;-CSDN博客 51单片机应用从零开始&#xff08;三&#xff09;-CSDN博客 51单片机应用从零开始&#xff08;四&#xff09;-CSDN博客 51单片机应用从零开始&#xff08;…

深度学习(五)softmax 回归之:分类算法介绍,如何加载 Fashion-MINIST 数据集

Softmax 回归 基本原理 回归和分类&#xff0c;是两种深度学习常用方法。回归是对连续的预测&#xff08;比如我预测根据过去开奖列表下次双色球号&#xff09;&#xff0c;分类是预测离散的类别&#xff08;手写语音识别&#xff0c;图片识别&#xff09;。 现在我们已经对回…

redis运维(九)字符串(二)字符串过期时间

一 字符串过期时间 细节点&#xff1a; 注意命令的入参和返回值 ① 再谈过期时间 说明&#xff1a; 设置key的同时并且设置过期时间,是一个原子操作 ② ttl 检查过期时间 ③ persist 删除过期时间 ④ redis 删除过期key的机制 ⑤ 惰性删除 惰性理解&#xff1a;让过期…

自动驾驶-BEV感知综述

BEV感知综述 随着自动驾驶传感器配置多模态化、多源化&#xff0c;将多源信息在unified View下表达变得更加关键。BEV视角下构建的local map对于多源信息融合及理解更加直观简洁&#xff0c;同时对于后续规划控制模块任务的开展也更为方便。BEV感知的核心问题是&#xff1a; …