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

news/2025/3/13 8:37:56/

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 millisecondsMFS.beep();delay(1000);// 4 short beeps, repeated 3 times.MFS.beep(5, // beep for 50 milliseconds5, // silent for 50 milliseconds4, // repeat above cycle 4 times3, // loop 3 times50 // 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 libraryMFS.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 libraryMFS.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.ppmy.cn/news/548011.html

相关文章

JS 必知必会:50 个常见问题解答!

JS必知必会&#xff1a;50个常见问题解答&#xff01;这是一篇涵盖了 JavaScript 基础知识和高级主题的文章。无论您是初学者还是有一定经验的开发者&#xff0c;都能从中收获到不少实用知识。文章中详细解答了关于 JavaScript 变量声明、数据类型、条件语句、循环语句、函数、…

Nokia N900上安装fennec

通过软件源安装 使用n900的浏览器打开http://www.mozilla.com/zh-CN/m/,点击Maemo&#xff0c;自动添加软件源并安装Fennec 通过这个方法安装后的fennec为英文版 手动下载软件包安装 浏览http://moff.mozilla.com/latest/maemo/zh-CN/dists/fremantle/release/binary-armel/&am…

诺基亚N900间隙 - 购买你的高科技手机便宜

诺基亚N900间隙 - 购买你的高科技手机便宜。 大家都知道手机的今天的重要性。手机都拿出了高科技的特点&#xff0c;它们不仅可以用于通信&#xff0c;而且娱乐。在高科技的手机诺基亚N900是一个设计时尚的紧凑型设备提升您的生活与多媒体体验。这是一个压缩的小工具&#xff0…

三星note3 N900刷机包 4.4.2 ZSUDNE3 官方原汁原味 稳定流畅

ROM介绍 此ROM基于最新的4.4.2 ZSUDNE3 制作&#xff0c;添加一些必要功能&#xff0c;其他性能基本与官方无差距&#xff0c;各方面感觉都很不错了。此ROM本人自用&#xff0c;所以制作风格有点个人倾向。任何建议或者问题欢迎大家前来反馈 ROM简介&#xff1a; ◆基于4.4.2最…

N900词典解决方案

http://bbs.dospy.com/thread-8694225-1-315-1.html 1、用程序管理器&#xff0c;在“办公”分类中&#xff0c;找到QstarDict&#xff0c;安装。 2、下载词典&#xff1a;http://stardict.sourceforge.ne t/Dictionaries_zh_CN.php 3、把下载后下来的词典解压&#xff0c;会形…

Nokia N900 OTG功能实现

首先是要搞到适合与N900的OTG线&#xff0c;在这里提醒大家&#xff0c;N8或者C7的otg线n900是不可以使用的&#xff01; 网上已经有了N900用的OTG线&#xff0c;自己可以淘宝一下&#xff0c;不过那个线看起来质量不怎地&#xff0c;所以我选择了CA-101DUSB双母口的方式&#…

Nokia N900刷android 2.3.4

感谢NITDroid Project的辛苦工作&#xff0c;使N900更加的神机&#xff01; 使用nitdroid刷android时&#xff0c;是运行在/home目录的&#xff0c;所以/home必须空间足够&#xff0c;n900默认的为 1.9G是不可以的&#xff0c;所以我们要增加/home的容量&#xff0c;推荐参考N9…

(贪心) 1221. 分割平衡字符串 ——【Leetcode每日一题】

❓ 1221. 分割平衡字符串 难度&#xff1a;简单 平衡字符串 中&#xff0c;L 和 R 字符的数量是相同的。 给你一个平衡字符串 s&#xff0c;请你将它分割成尽可能多的子字符串&#xff0c;并满足&#xff1a; 每个子字符串都是平衡字符串。 返回可以通过分割得到的平衡字符…