【雕爷学编程】Arduino动手做(123)---Multi-function扩展板

news2025/1/14 1:14:37

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百二十三:Multi-function Shield多功能扩展板 Arduino实验12合1版

在这里插入图片描述
Multi-function扩展板模块特点

1、能与市面上,2009 UNO LENARDO 2560等主流控制器无缝对接

2、4路LED指示灯(要知道LED指示灯的重要性,在实际做工程时,有了这个指示灯可以直接用指示灯指示程序的工作状态,方便程序调试。

3、DS18B20温度传感器接口,可以做温度测量实验,这个价格是不包括DS18B20的哦,需要的话另拍。

4、LM35温度传感器接口,可以做温度测量实验,这个价格是不包括LM35的哦,需要的话另拍。

5、3296精密可调电位器,提供模拟口输入(可作控制LED亮度,转动舵机角度,数字电压等等)

6、红外一体化接收头,可以适合任何红外遥控器的实验,这个价格也是不包括一体化接收头的,需要的话另拍。

7、四位数码管(采用74HC595驱动省IO 学习SPI),可以做数码管显示实验(可以显示温度,电压,计数值等等)。

8、三个独立按键,一个复位按键,可以做按键实验(人机界面)。

9、蜂鸣器可以作发声实验。(可以报警,发音等等)

10、蓝牙,无线接口,语音模块,语音识别模块,可以作无线通信实验

11、舵机接口,方便驱动舵机

12、红外探测接口,方便和红外对接,实现人流量统计等

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
多功能扩展版系列实验分为三个主要部分:

1。基本输入/输出

2。读数传感器

3。实际应用程序

第1部分演示了多功能扩展按钮、蜂鸣器和显示器的易用性,通过使用扩展库使用,因此更容易集中于应用。

第2部分演示如何使用扩展库从外部传感器读取值,例如温度、声纳和运动传感器,以及如何处理来自外部的电子脉冲来源。

第3部分探讨使用库和多功能屏蔽的工作应用程序:

24小时闹钟

心脏监护仪–(需要心脏脉冲传感器)

倒数计时器

地面倾斜水平指示器–(需要MPU6050运动传感器)

声纳测距仪–(需要HC SR04声纳模块)

车速表–(需要磁铁和簧片开关)

每一个都有建立和扩大的空间,但把这个留给你们来发挥。

在这里插入图片描述
Arduino实验开源代码

/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百二十三:Multi-function Shield多功能扩展板 Arduino实验12合1版

项目一:4个短哔声,重复3次

*/



#include <TimerOne.h>

#include <Wire.h>

#include <MultiFuncShield.h>



void setup() {

// put your setup code here, to run once:

Timer1.initialize();

MFS.initialize(&Timer1); // initialize multi-function shield library

// NOTE beep control is performed in the background, i.e. beep() is non blocking.

// short beep for 200 milliseconds

MFS.beep();

delay(1000);

// 4 short beeps, repeated 3 times.

MFS.beep(5, // beep for 50 milliseconds

5, // silent for 50 milliseconds

4, // repeat above cycle 4 times

3, // loop 3 times

50 // wait 500 milliseconds between loop

);

}



void loop() {

// put your main code here, to run repeatedly:

}

Arduino实验开源代码之二

/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百二十三:Multi-function Shield多功能扩展板 Arduino实验12合1版

项目二:显示串行监视器窗口中按钮按下的类型。检查发生了什么,按或者把多个按钮放在一起,持续时间不同。

*/



#include <TimerOne.h>

#include <Wire.h>

#include <MultiFuncShield.h>



void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

Timer1.initialize();

MFS.initialize(&Timer1); // initialize multi-function shield library

}



void loop() {

// put your main code here, to run repeatedly:

byte btn = MFS.getButton(); // Normally it is sufficient to compare the return

// value to predefined macros, e.g. 

BUTTON_1_PRESSED;

//BUTTON_1_LONG_PRESSED etc.

if (btn)

{

byte buttonNumber = btn & B00111111;

byte buttonAction = btn & B11000000;

Serial.print("BUTTON_");

Serial.write(buttonNumber + '0');

Serial.print("_");

if (buttonAction == BUTTON_PRESSED_IND)

{

Serial.println("PRESSED");

}

else if (buttonAction == BUTTON_SHORT_RELEASE_IND)

{

Serial.println("SHORT_RELEASE");

}

else if (buttonAction == BUTTON_LONG_PRESSED_IND)

{

Serial.println("LONG_PRESSED");

}

else if (buttonAction == BUTTON_LONG_RELEASE_IND)

{

Serial.println("LONG_RELEASE");

}

}

}

Arduino实验开源代码之三

/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百二十三:Multi-function Shield多功能扩展板 Arduino实验12合1版

项目三:数字显示,计数器

*/



#include <TimerOne.h>

#include <Wire.h>

#include <MultiFuncShield.h>



void setup() {

// put your setup code here, to run once:

Timer1.initialize();

MFS.initialize(&Timer1); // initialize multi-function shield library

MFS.write("Hi");

delay(2000);

MFS.write(-273);

delay(2000);

MFS.write(3.141, 2); // display to 2 decimal places.

delay(2000);

}

int counter=0;

byte ended = false;



void loop() {

// put your main code here, to run repeatedly:

if (counter < 200)

{

MFS.write((int)counter);

counter++;

}

else if (!ended)

{

ended = true;

MFS.write("End");

MFS.blinkDisplay(DIGIT_ALL, ON);

}

delay(50);

}

Arduino实验开源代码之四

/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百二十三:Multi-function Shield多功能扩展板 Arduino实验12合1版

项目四:控制板载LED

*/



#include <TimerOne.h>

#include <Wire.h>

#include <MultiFuncShield.h>



void setup() {

// put your setup code here, to run once:

Timer1.initialize();

MFS.initialize(&Timer1); // initialize multi-function shield library

MFS.writeLeds(LED_ALL, ON);

delay(2000);

MFS.blinkLeds(LED_1 | LED_2, ON);

delay(2000);

MFS.blinkLeds(LED_1 | LED_2, OFF);

MFS.blinkLeds(LED_3 | LED_4, ON);

delay(2000);

MFS.blinkLeds(LED_ALL, ON);

delay(2000);

MFS.blinkLeds(LED_ALL, OFF);

MFS.writeLeds(LED_ALL, OFF);

}



void loop() {

// put your main code here, to run repeatedly:

}

Arduino实验场景图

在这里插入图片描述

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

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

相关文章

随机数检测(一)

随机数检测&#xff08;一&#xff09;- 随机数自测试概述 1 概述2 产品形态划分和检测项目3 测试方式3.1 概述3.2 单比特频数检测方法3.3块内频数检测方法 1 概述 随机数发生器设计完成后&#xff0c;使用随机数发生器的产品需对其执行测试&#xff0c;防止应用过程中产生不合…

Redis的数据类型及对应的数据结构(二)

接上篇&#xff1a;Redis的数据类型及对应的数据结构&#xff08;一&#xff09;_鱼跃鹰飞的博客-CSDN博客 本篇主要讨论剩下的几种数据结构的应用场景 应用场景 集合的主要几个特性&#xff0c;无序、不可重复、支持并交差等操作。 因此 Set 类型比较适合用来数据去重和保…

卧剿,6万字!30个方向130篇!CVPR 2023 最全 AIGC 论文!一口气读完。

一杯奶茶&#xff0c;成为 AIGCCV 视觉前沿弄潮儿&#xff01; 25个方向&#xff01;CVPR 2022 GAN论文汇总 35个方向&#xff01;ICCV 2021 最全GAN论文汇总 超110篇&#xff01;CVPR 2021 最全GAN论文梳理 超100篇&#xff01;CVPR 2020 最全GAN论文梳理 在最新的视觉顶会 C…

Java多重捕获块

try块后面可以跟随一个或多个catch块。每个catch块必须包含一个不同的异常处理程序。因此&#xff0c;如果您在不同的异常发生时需要执行不同的任务&#xff0c;请使用Java多重捕获块。 需要记住的要点 一次只会发生一个异常&#xff0c;同时只有一个catch块被执行。 所有的ca…

实训五:数据库安全控制 - MySQL数据库 - 授权与撤销授权

MySQL数据库 - 授权与撤销授权 第1关&#xff1a;数据库授权任务描述相关知识用户管理授权方式 编程要求测试说明参考代码 第2关&#xff1a;数据库撤销权限任务描述相关知识撤销权限 编程要求测试说明参考代码 第1关&#xff1a;数据库授权 任务描述 本关任务&#xff1a;新…

Ubuntu安装Anaconda详细步骤(Ubuntu22.04.1,Anaconda3-2023.03)

本文主要讲述了在Ubuntu中安装anaconda的具体步骤 准备环境&#xff1a;Ubuntu22.04.1&#xff0c;Anaconda3 1.下载Anaconda3 在清华镜像下载Linux版本的anaconda 清华镜像官网Anaconda下载 我选择的是Anaconda3-2023.03-Linux-x86_64.sh 下载好的Anaconda3-2023.03-Linux-…

拦截器Interceptor及与过滤器Filter的区别

统一拦截–拦截器Interceptor 1.概述 概念:是一种动态拦截方法调用的机制&#xff0c;类似于过滤器。Spring框架中提供的&#xff0c;用来动态拦截控制器方法的执行。作用:拦截请求&#xff0c;在指定的方法调用前后&#xff0c;根据业务需要执行预先设定的代码。与过滤器Fil…

【Java|多线程与高并发】设计模式-单例模式(饿汉式,懒汉式和静态内部类)

文章目录 1. 前言2. 单例模式3. 如何保证一个类只有一个实例4. 饿汉式单例模式5. 懒汉式单例模式6. 实现线程安全的懒汉式单例7. 静态内部类实现单例模式8. 总结 1. 前言 设计模式是一种在软件开发中常用的解决复杂问题的方法论。它提供了一套经过验证的解决方案&#xff0c;用…

通信原理概述

通信是指人们通过某种媒介进行信息传递。通过某种介质或通道&#xff0c;将信息从一个地点传递到另一个地点的过程。通信可以是人与人之间的交流&#xff0c;也可以是设备、系统或网络之间的数据传输。 通信信号的分类方法&#xff1a; 1&#xff09;模拟信号和数字信号(从信号…

数字游戏:如何统计能整除数字的位数?

本篇博客会讲解力扣“2520. 统计能整除数字的位数”的解题思路&#xff0c;这是题目链接。 本题的思路是&#xff1a;取出每一位&#xff0c;判断是否能整除。 如何取出每一位呢&#xff1f;可以采用“mod10除10”的策略。即&#xff1a;每次mod10取出最后一位数&#xff0c;再…

2022年软件测试面试题大全【含答案】

一、面试基础题 简述测试流程: 1、阅读相关技术文档&#xff08;如产品PRD、UI设计、产品流程图等&#xff09;。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例&#xff08;等价类划分法、边界值分析法等&#xff09;。 5、用例评审(…

C++面向对象 this指针 构造函数 析构函数 拷贝构造 友元

C面向对象 面向对象概念类与对象的区别 C中类的设计设计实例实例解释共有和私有类的认识 函数定义函数在类里定义和类外定义区别函数定义实例 C对象模型方案一:各对象完全独立地安排内存的方案方案二:各对象的代码区共用的方案: this指针this指针特点程序编译面向对象程序的过程…

【力扣刷题 | 第十四天】

目录 前言&#xff1a; 7. 整数反转 - 力扣&#xff08;LeetCode&#xff09; 面试题 16.05. 阶乘尾数 - 力扣&#xff08;LeetCode&#xff09; 总结; 前言&#xff1a; 今天仍然是无固定类型刷题&#xff0c; 7. 整数反转 - 力扣&#xff08;LeetCode&#xff09; 给你…

傅氏变换算法

半局积分算法的局限性是要求采样的波形为正弦波。当被采样的模拟量不是正弦波而是一个周期性时间函数时&#xff0c;可采用傅氏变换算法。傅氏变换算法来自于傅里叶级数&#xff0c;即一个周期性函数I&#xff08;t&#xff09;可用傅里叶级数展开为各次谐波的正弦项和余弦项之…

D117-72. 编辑距离

题目描述 链接&#xff1a;添加链接描述 跟只考虑删除的完全一样&#xff0c;只不过是dp[i-1][j-1]1 class Solution:def minDistance(self, word1: str, word2: str) -> int:# dp[i][j]&#xff1a;以i-1为结尾的字符串word1&#xff0c;和以j-1位结尾的字符串word2&…

Qt 将某控件、图案绘制在最前面的方法,通过QGraphicsScene模块实现

文章目录 前言一、效果二、代码实现1.工程文件夹结构2.BackWidget类2.1 backwidget.h2.2 backwidget.cpp 总结 前言 在用Qt做一些应用的时候&#xff0c;有可能遇到和“绘制顺序”相关的问题&#xff0c;即要控制一些控件之间的显示前后问题&#xff0c;在常用的QWidget体系中&…

【数据结构与算法】力扣:翻转二叉树

翻转二叉树 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1] 示例 2&#xff1a; 输入&#xff1a;root [2,1,3] 输出&#xff1a;[2,…

云HIS是什么?HIS系统为什么要上云?云HIS有哪些优点?

一、当前医疗行业HIS的现状与发展趋势 1.医院信息系统&#xff08;HIS&#xff09;经历了从手工到单机再到局域网的两个阶段&#xff0c;随着云计算、大数据新技术迅猛发展&#xff0c;基于云计算的医院信息系统将逐步取代传统局域网HIS , 以适应人们对医疗卫生服务越来越高的要…

BI-SQL丨角色和用户

角色和用户 在数仓的运维工作中&#xff0c;经常需要为用户开通不同权限的账号&#xff0c;使用户可以正常访问不同的数据&#xff0c;那么这就需要我们了解SQL Server的权限体系。 名词解释 登录名&#xff1a; 用来登录服务器的用户账号&#xff0c;例&#xff1a;sa&…

String类型

前言 之所以介绍是因为基本数据类型是系统中一切操作的基础&#xff0c;就像物理世界中的原子&#xff0c;高楼大厦中的砖瓦。当咱们整明白了这些基本数据类型&#xff0c;使用层面就是挑选和组合的问题了。本文小结下Redis中数据结构和使用场景&#xff0c;如果你有更骚气的挑…