基于Arduino 的综合学习竞赛平台

2021-03-05 14:57姚世豪杨亚男孙岚岚王瑶高利杰
科技创新导报 2021年27期
关键词:开发板

姚世豪 杨亚男 孙岚岚 王瑶 高利杰

摘要:本文介绍了一款基于Arduino开源硬件,面向青少年硬件编程教育、电子创客爱好者、电子信息类大学生电子制作学习的综合训练平台。本平台以Arduino Mega2560为核心板,设计基础功能训练部分,传感器功能训练部分,扩展功能训练部分。本文设计的Arduino综合学习平台降低了广大的青少年编程学习者、电子创客、电子信息类大学生的初期学习门槛,且已应用到了青少年编程比赛当中。

关键词:Arduino,开发板,青少年编程,电子创客

Arduino-Based Comprehensive Learning Competition Platform

YAO Shihao1  YANG Yanan2  SUN Lanlan1  WANG Yao1  GAO Lijie1

(1. School of Technology, College of Technology and Communication Kaifeng Henan, Kaifeng, Henan Province, 475002 China; 2. School of Electrical Engineering, Yellow River Conservancy Technical Institute, Kaifeng, Henan Province, 475002 China)

Abstract: In this paper, it introduces a comprehensive training platform based on Arduino open-source hardware, which is aimed at young hardware programming education, electronic maker enthusiasts, electronic information college students and electronic production learning. This platform uses Arduino Mega2560 as the core board, designing basic function training part, sensor function training part, and extended function training part. The Arduino comprehensive learning platform designed in this paper has lowered the initial learning threshold for the majority of young programming learners, electronic makers, and electronic information college students, and has been applied to youth programming competitions.

Key Words: Arduino, Development board, Youth program, E-maker

在人工智能技術、5G、物联网迅猛发展的时代背景下,青少年编程能力的培养成为正在迅猛发展,也有越来越多的非电子类专业爱好者进行简易的电子产品设计,高校电子信息类大学生也急需快速入门电子产品的设计与开发[1-2]。开源电子原型平台Arduino为电子创客、青少年编程学习者、电子信息类大学生入门学习提供了高性价比易入门的应用平台。但市面上的Arduino硬件平台多为“核心板+各种模块”,通过连接线的方式进行学习和创作,对于广大的入门级学习者,通过这种学习方式很难查找出是自己程序设计的错误还是硬件连接线的问题[3-4]。本文介绍了一款以Arduino Mega2560为核心板设计的综合学习平台,可以使入门学习者主要关注程序部分的学习、设计、开发,减少硬件错误所带来的困难,同时也降低了青少年编程学习者的学习门槛,且已应用到了青少年编程比赛当中,起到了良好的效果。

1 系统主要组成及开发平台

该平台组成部分的核心是以Arduino Mega2560板为基础,设计了一款全功能的学习训练平台,平台基础学习部分设计有8位LED灯、1位呼吸灯,4位一体的共阴极数码管数字显示输出、6位触动按键输入、1位触摸按键输入、1位摇杆控制输入、1位蜂鸣器输出、1个LCD1602显示屏字符显示等模块,平台传感器学习部分设计有声音传感器、温湿度传感器、光线传感器、滑动变阻器、陀螺仪传感器、人体红外传感器、RTC时钟等传感器相关学习模块,平台扩展部分设计有2.4寸LCD触摸显示屏、蓝牙通信、WiFi通信、步进电机、直流电机、舵机、超声波、红外发射和接收、继电器、SD卡、NFC卡、IIC通信、UART通信、3.3V和5V等接口。

该平台的软件开发部分可以使用Arduino IDE作为开发工具,也可以采用国产图形化编程开发软件Mixly(米思齐)作为开发工具,即可满足青少年编程爱好者的学习使用,亦可支持电子信息类大学生的入门和进阶开发学习。本平台使用一根USB转串口的数据线通过与电脑连接即可完成程序验证和功能实现。

2Arduino综合学习平台人机交互基础学习部分硬件电路设计

2.1 灯光输出电路设计

LED灯是日常生活中最为常见的光源,应用在生活的方方面面。学习者对于硬件开发平台的学习均是从LED灯的控制开始[5]。本学习平台设计了生活中最为常用的LED电路、呼吸灯电路、全彩LED电路,帮助学习者全面对各种灯光控制的理解和学习。

结合Arduino Mega2560核心板单片机芯片I/O引脚的内部结构,学习平台8路LED灯采用共阳极设计,其中8个LED灯LED1-LED8的正极经过限流电阻接系统电源,负极分别与Arduino Mega2560核心板的D31-D38管脚相连接,如图1(a)所示。学习平台采用1路呼吸灯设计,因呼吸灯需要使用PWM输出,故呼吸灯正极通过一个限流电阻连接Arduino Mega2560核心板的PWM10引脚,负极接系统GND,如图1(b)所示。开发板设计1个全彩RGB灯,可以实现1677万色的调光,全彩RGB灯采用共阳极设计,公共正极端接系统电源VCC,3个管脚负极R、G、B分别通过限流电阻连接Arduino Mega2560核心板的PWM5、PWM6、PWM7管脚,如图1(c)所示。

2.2 数字显示输出电路设计

LED数码管是较为常用的数字显示器件,LED数码管的内部是由多个发光二极管在一起组成“8”字形的器件,数码管是由八个发光管组成8字形构成的,其中多出来的一位为小数点显示位[6]。本学习平台设计一个四位一体的共阴极数码管,供学习者进行数字显示学习及使用。

为了配合Arduino IDE开发环境和Mixly开发环境[7],LED数码管电路设计使用一片带数码管接口的LED驱动控制专用电路TM1650来驱动数码管显示。该芯片为IIC通信协议,把IIC传输的数据包解析并驱动操作数码管进行数字显示,该IIC通信引脚与Arduino Mega2560核心板的IIC通信引脚SDA、SLC相连接,如图1(d)所示。

2.3 按键、摇杆输入电路设计

作为人机交互的关键部分,按键是几乎是各类产品设计中不可缺少的部件,本学习平台设计为了吸引学习者的学习兴趣和使用体验,采用6位微动开关作为按鍵输入、1位触摸按键输入、1个摇杆(游戏手柄)输入。尤其是青少年学习者对学习中有玩游戏的兴趣。

根据Arduino Mega2560核心板单片机芯片I/O引脚的内部结构,本开发板按键输入采用下拉电阻方式,即所有按键的其中一段通过上拉电阻连接系统电源,另外一端分别与Mega2560核心板的D23-D25、RX1引脚,且通过下拉电阻连接系统GND,没有按键被下下的时候I/O引脚识别为低电平,有按键按下之后I/O引脚识别为高电平,如图2(a)所示。触摸按键采用PCB电路板上隔离铜皮连接触摸感知芯片TTP223设计,TTP223芯片的输出端连接Arduino Mega2560核心板的D29引脚,如图2(b)所示。游戏手柄-摇杆的内部结构X/Y轴分别是一个滑动变阻器,Z轴是一个微动按键,故本学习平台对其X/Y/Z轴分别连接Arduino Mega2560核心板的A5/A6/D39引脚,可是学习者对其进行充分的学习和应用,设计电路如图2(c)所示。

2.4 LCD1602显示屏电路

本文2.2章节介绍了数字显示器件数码管的设计,但各种智能化的设备会经常用到字符显示,液晶显示器LCD1602是广泛使用的一种字符型液晶显示器件,能够显示英文字母、阿拉伯数字、日文片假名和一般性符号等[8]。

为充分利用Arduino Mega2560核心板的I/O资源,配合Arduino IDE开发环境和Mixly开发环境,本学习平台采用一款并口扩展芯片PCF8574,通过IIC引脚与核心板进行数据传输,并通过扩展的I/O口与LCD1602控制端口连接,实现Mega2560通过一个IIC总线进行LCD1602显示屏的显示通信。为确保LCD1602显示屏背光亮度的稳定性显示,显示屏背光引脚对GND端通过PCF8574的P3引脚控制一个NPN三极管的饱和截止来控制显示屏的背光。另外通过一个10K的滑动变阻器与LCD1602显示屏的VO引脚连接,通过滑动变阻实现对LCD1602显示屏字符显示对比度的调整。LCD1602液晶显示屏整体设计如图3(a)所示。

2.5 蜂鸣器电路设计

蜂鸣器是一种电子讯响器件,广泛应用在报警器、计算机、定时器、电子玩具、汽车电子设备等电子产品中作警示器件。由于蜂鸣器的发声原理由振动装置和谐振装置组成,又分为无源他激型与有源自激型的内部结构[9]。

为了实现蜂鸣器效果的稳定与多样化,本学习平台采用无源蜂鸣器设计,无源蜂鸣器的负极输入端连接电路板的系统GND,蜂鸣器的正极端是Mega2560核心板的PWM3引脚控制一个NPN三极管的饱和截止来控制蜂鸣器的声音、声调,电路设计如图3(b)所示。

3Arduino综合学习平台传感器部分硬件电路设计

3.1声音传感器

声音传感器的效果相当于话筒(麦克风),其用来接收声波信号,输出声音的振动情况。在智能硬件快速发展的现状下,也来越多的各种电子设备支持语音交互功能,为人们的日常生活提供了很大的方便。

本综合学习平台使用LM386运算放大器对话筒采集的声音信号进行整形滤波处理,通过一个滑动变阻器可以调节声音输出幅值的大小。声音信号处理后的输出值为模拟电压值,电路设计通过Arduino Mega2560核心板的模拟引脚A3管脚进行声音信号的采集,电路设计如图4(a)所示。

3.2 温湿度传感器

温湿度传感器是一种装有热敏和湿敏电子元件,能够对环境的温度和湿度进行测量的传感器装置。温湿度传感器体积小、性能稳定等特点,被广泛应用在生产生活的各个领域[8]。

本文采用的DHT11是一款有已校准数字信号输出的温湿度传感器,通过Onewire总线通信协议与MCU进行数据传输。DHT11温湿度传感器有4个管脚,根据DHT11传感器手册,其中1号引脚接系统电源VCC,3/4号引脚接系统GND,本文设计2号引脚与Mega2560核心板的D42号引脚相连接进行数据通信,为了保持信号的稳定传输,D42引脚通过一个1K的上拉电阻与系统电源VCC相连接,电路设计如图4(b)所示。

3.3 光线传感器,滑动变阻器

光线传感器的功能是用来感应光线强弱的,然后反馈到MCU,控制器通过光纤强度的高低来执行对其他部分的控制,如自动调节屏幕亮度、自动关闭照明灯等,从而达到省电的目的和环境的感知。滑动变阻器是生产生活中常用器件之一,工作原理是通过改变接入电路部分改变电阻的阻值。音响音量大小调节、台灯灯光调节、汽车量油表、过磅秤等场所都离不开滑动变阻器。

本文设计的光线传感器采用GL5516型光敏电阻,电阻的阻值会随着光照强度的变化而变化,电路设计光敏电阻通过一个1K的电阻分别与系统电源VCC连接和系统GND连接,通过Mega2560核心板A4管脚测量光敏电阻分压值来确定光照强度,电路设计如图4(c)所示。本文设计滑动变阻器采用10K阻值方便用户调节操作的带帽电位器,滑动变阻器的电阻两段分别系统电源VCC连接和系统GND连接,滑动变阻器手柄管脚与Mega2560核心板A2引脚连接,电路设计如图4(d)所示。

3.4 陀螺仪传感器

陀螺仪传感器又称为加速度、倾斜角传感器,是基于自由空间移动和手势的定位的控制系统,现已被广泛运用于手机等移动便携设备。陀螺仪传感器是现代航天、航空、航海、国防工业等应用中常用的控制装置。

本文设计加速度传感器选用一款低功耗,三轴MEMS加速度计ADXL345芯片,该芯片支持IIC通信和SPI通信。根据ADXL345传感器手册及兼容Arduino IDE开发环境和Mixly开发环境的使用,本文电路设计采用IIC接口通信,ADXL345传感器的IIC接口与Mega2560核心板的IIC接口相连接,电路设计如图5(a)所示

3.5 人体红外传感器

人体红外传感器也即热释电传感器,广泛应用在人体感应开关开关、来客告知、防盗报警等非接触开关领域[10]。

本文电路设计采用AM612人体红外热释传感器,根据AM612手册可知该传感器的1号引脚需连接系统电源VCC,2/3可直接连接系统GND,4号引脚连接Mega2560核心板的PWM11号管脚与主控MCU通信,电路设计如图5(b)所示。

3.6 RTC时钟

实时时钟芯片是长身生活中不可缺少的消费类电子产品。实时时钟为人们提供精确的时间,也可以为电子系统提供精确的时间基准。

本文实时时钟电路设计采用是一款低功耗,具有56字节非失性RAM的全BCD码时钟日历实时时钟的IIC通信器件DS1307芯片。由于上文的电路设计Mega2560核心板的IIC引脚已经挂在多个设备,为了使用户更为方便地学习和使用,实时时钟芯片DS1307的通信引脚设计为PWM13/PWM12引脚,用户可在编程时设置此引脚为虚拟IIC通信模式即可,DS1302的3号引脚连接一个CR1220的纽扣电池,以确保在学习板不通电的情况下实时时钟可以继续运转,电路设计如图5(c)所示。

4 结束语

限于篇幅,本文关于平台扩展部分的设计理念及系统软件设计方面未能做详细介绍。本文设计的Arduino综合学习训练平台,可以使相关学习者系统地学习电子产品的系统开发设计的一般操作流程和软硬件设计方法,同时也大为降低入门者学习门槛。以本平台作为教学实验提高了学习者编程学习的主动性,锻炼了学习者解决问题的能力,使学习者的开发实战能力得到了较大的提高,同时也在青少年编程竞赛中发挥着重要的作用。

參考文献

[1]屈华炎.基于Arduino的单片机智能控制创新课程教学改革与实践[J].物联网技术,2021,11(7):128-130.

[2]夏鄂,刘旭明.开源硬件电类专业大一新生综合实验设计[J].电子世界,2021(18):37-38.

[3]杨琦,张晓月,李国安,张伟.小学期Arduino课程教学内容探索与实践[J].工业和信息化教育,2021(10):79-82.

[4]冯洁卿,罗启龙.基于智能小车的STEM科技教育案例的开发[J].中学课程辅导(教师教育),2019(12):123-124+126.

[5]王芸芸.基于Arduino单片机应用的高职课程改革[J].集成电路应用,2020,37(3):52-53.

[6]刘承桥,马俊.基于开发板的单片机实验教学改革与实践[J].计算机教育,2021(1):172-176.

[7]孙亚坤.基于图形化编程的创客教具设计与研究[D].南京:南京信息工程大学,2021.

[8]陈雪松.Arduino多功能扩展板在小学STEM课程中的运用——一个低成本高效率的STEM课程解决案例[J].教育科学论坛,2018(32):68-72.

[9]刘万松,刘雪飞.基于OBE理念的“单片机课程设计”的教学设计与实践[J].电子世界,2021(17):103-105.

[10]杨伟.从行为习惯、编程意识到创新思维的进步观察——图形化编程在青少年编程能力培养过程中的内涵和外延[J].中国信息技术教育,2021(15):32-34.

1872501186263

猜你喜欢
开发板
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板
Arduino和Atmel发布Arduino Zero开发板
MiniGUI在基于OMAP5912开发板上的移植