Arduino项目式编程教学前言

news2024/11/20 7:21:23

前言–先聊聊我的经历

在停更数年之后,还是打算重新开启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编程平台来模仿出具备某种功能的作品,本系列教程将逐步更新,由于平日课业工作繁忙,更新过程或许较慢,感谢支持。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

echarts 三角锥形柱状图 + 带阴影的折线图示例

该示例有如下几个特点: ①三角锥形折线图 ②折线图自带阴影 ③三角锥形鼠标放置时颜色改变 ④数据随着鼠标移动而展示 ⑤鼠标放置时tooltip样式自定义(echarts 实现tooltip提示框样式自定义-CSDN博客) 代码如下: this.options …

【GUI】-- 08 JButton、JRadioButton、JCheckBox

GUI编程 03 Swing 3.5 JButton 图片置于按钮之上的JButton: package com.duo.lesson05;import javax.swing.*; import java.awt.*; import java.net.URL;public class JButtonDemo01 extends JFrame {public JButtonDemo01() {Container contentPane getConten…

opencv(4):颜色空间

文章目录 颜色空间RGB 人眼的色彩空间HSV 色彩空间HSLYUVYUV420:YUV422:YUV444: 颜色空间转换代码示例 颜色空间 不同色彩空间显示效果是不一样的。 RGB 人眼的色彩空间 HSV 色彩空间 HSV 代表色相(Hue)、饱和度&a…

YOLO改进系列之注意力机制(EffectiveSE模型介绍)

模型结构 ESE(Effective Squeeze and Extraction) layer是CenterMask模型中的一个block,基于SE(Squeeze and Extraction)改进得到。与SE的区别在于,ESE block只有一个fc层,(CenterMask : Real-Time Anchor-Free Insta…

2019年12月 Scratch(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 以下程序执行后,角色面向的方向是? A:右上 B:右下 C:左上 D:左下 答案:B 面向-135度,是面向左下角,向右旋转-90度等于向左旋转90度。所以会旋转到右下角。 第2题 以下程…

WordPress网站迁移实战经验

前几日,网站服务器到期,换了服务商,就把我的WordPress的网站迁移到本地电脑了。方便以后文章迁移。 本次迁移网站主要经历以下几个步骤。 1.域名转出。 2.备份数据库及网站文件下载。 3.重新搭建WordPress网站。 4.网站文件及数据库导入。 下面详细介绍下每个步骤的操作…

基于STC12C5A60S2系列1T 8051单片的IIC总线器件数模芯片PCF8591实现数模转换应用

基于STC12C5A60S2系列1T 8051单片的IIC总线器件数模芯片PCF8591实现数模转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍IIC总线器件数模芯片PCF8591介绍通过按…

RabbitMQ 安装及配置

前言 当你准备构建一个分布式系统、微服务架构或者需要处理大量异步消息的应用程序时,消息队列就成为了一个不可或缺的组件。而RabbitMQ作为一个功能强大的开源消息代理软件,提供了可靠的消息传递机制和灵活的集成能力,因此备受开发人员和系…

CMakeLists.txt基础指令与cmake-gui生成VS项目的步骤

简介 本博客主要介绍cmake的基本指令,同时,很多使用Visual Studio小白从Gitbub下载项目源码后,看到CMakeLists.txt,不知道如何使用Visual Studio编译源码;针对以上问题,做一下简单操作与解释,方…

各类好玩免费API推荐,早知道就不用到处爬数据了...

啥是API/接口? 使用方法 API平台 淘宝/京东API接口数据 一些好玩的api 地图接口 天气查询接口 快递查询接口 笔记接口 其它接口 小结 啥是API/接口? 有些读者刚开始学习编程遇到API或者接口不太明白到底什么意思,没关系&#xff0…

Java项目实战《苍穹外卖》 一、项目概述

人道洛阳花似锦,偏我来时不逢春。 系列文章目录 苍穹外卖是黑马程序员2023年的Java实战项目,作为业余练手用,需要源码或者课程的可以找我,无偿分享 Java项目实战《苍穹外卖》 一、项目概述Java项目实战《苍穹外卖》 二、项目搭建 …

PyTorch - 高效快速配置 Conda + PyTorch 环境 (解决 segment fault )

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/134463035 在配置算法项目时,因网络下载速度的原因,导致默认的 conda 与 pytorch 包安装缓慢,需要配置新的 co…

使用VMware安装linux虚拟机

文章目录 一、介绍二、下载VMware三、下载centOS镜像文件四、新建虚拟机1. 选择配置类型2. 安装centOS操作系统3. 命名4. 指定磁盘容量5. 虚拟机配置信息确认6. 稍后选择系统镜像 五、安装虚拟机1. 选择语言2. 设置时间、系统、以及yum源3. 开始安装4. 设置root用户密码5. 完成…

Angular菜单项激活状态保持

菜单项激活状态保持 需求描述详细需求 解决方案 需求描述 如果有个需求,让你实现一个导航栏,点击不同菜单,图表会有不同变化,页面刷新后,该菜单状态仍旧保持,实现方法如下: 例图,有…

中级程序员——vue3+js+git面试题

🙂博主:小猫娃来啦 🙂文章核心:vue3jsgit面试题 文章目录 vue3最大缺点和优点?vue3组合式里面,如何去调用子组件里面的方法?watch和watcheffect有什么区别?计算属性和watch的区别是什…

DOA估计算法——Capon算法

1.波速形成基本思想 在理解Capon算法之前,我们有必要先了解波束形成的基本思想以及原理到底是什么。这有助于我们更好的理解Capon算法的思想。 图 1 如图1展示了均匀阵列波束导向的示意图。图中wm表示加权值,波速形成(DBF)的基本思想就是将各阵元输出进…

5g路由器赋能园区无人配送车联网应用方案

随着人工智能、无人驾驶技术和自动化技术的不断进步,无人配送技术得到了极大的发展。园区内的物流配送任务通常是繁琐的,需要大量的人力资源和时间。无人配送技术能够提高配送效率并减少人力成本。无人配送车辆和机器人能够根据预定的路线和计划自动完成…

QT上位机串口控制MCU

🙌秋名山码民的主页 😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 获取源码,添加WX 目录 前言1.…

做外贸如何开发客户?外贸客户开发六大方法一次性分享

客户是外贸业务的基础,有了客户才会有订单,因此开发客户永远是外贸人们重点关注的!那作为外贸小白要通过哪些渠道找到客户?有哪些外贸客户开发方法可以入手呢?今天就跟着东哥一起来了解一下外贸客户开发都有哪六个方法…

二百零二、Hive——Hive解析JSON字段(单个字段与json数组)

一、目的 用Flume采集Kafka写入到Hive的ODS层在HDFS路径下的JSON数据,需要在DWD层进行解析并清洗 (一)Hive的ODS层建静态分区外部表 create external table if not exists ods_queue(queue_json string ) comment 静态排队数据表——静…