美文网首页Arduino雕爷学编程
【雕爷学编程】Arduino动手做(123)---Multi-f

【雕爷学编程】Arduino动手做(123)---Multi-f

作者: 驴友花雕 | 来源:发表于2023-06-23 11:13 被阅读0次

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

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

    0.jpg

    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、红外探测接口,方便和红外对接,实现人流量统计等

    04- (1).jpg 04.jpg 05.jpg 06.jpg 07.jpg 10 (1).jpg 10 (2).jpg 10 (3).jpg 10 (4).jpg 10 (5).jpg 10 (6).jpg 10 (7).jpg 10 (8).jpg 10 (9).jpg

    多功能扩展版系列实验分为三个主要部分:

    1。基本输入/输出

    2。读数传感器

    3。实际应用程序

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

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

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

    24小时闹钟

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

    倒数计时器

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

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

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

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

    11.jpg

    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实验场景图

    13.jpg

    相关文章

      网友评论

        本文标题:【雕爷学编程】Arduino动手做(123)---Multi-f

        本文链接:https://www.haomeiwen.com/subject/ymzmydtx.html