【雕爷学编程】Arduino动手做(155)---2262/2272四键无线遥控套件模块2

news2024/9/29 17:39:01

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

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百五十五:2262/2272四路无线遥控套件 M4非锁接收板 四键无线遥控器发射模块

在这里插入图片描述
一、四位无线遥控器及接收模块实验所需硬件清单

Arduino Uno开发板 X1

0.96寸OLED显示屏X1

杜邦线 若干(备了9条)

四位无线遥控器及接收模块X1

高电平触发有源蜂鸣器模块X1

IIC/I2C 1602 LCD液晶屏模块X1

LED发光二极管(绿、蓝色)X2

高电平触发单路5V继电器模块X1

四路高电平触发5V继电器模块X1

Proto Shield 原型扩展板(带mini面包板)X1

在这里插入图片描述
二、传感器模块实验所需软件平台
代码编程 Arduino IDE (版本1.8.19)
仿真编程 Linkboy (版本V4.6.3)
图形编程 Mind+ (版本 V1.7.0 RC2.0)
以及编玩边学(线上平台https://ide.codepku.com/?type=Arduino)

三、实验接线示意图

在这里插入图片描述
四位无线遥控器及接收模块的几个实验

1、程序一:串口打印四个遥控键值

(1)Arduino参考开源代码

/*

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

  实验一百五十五:2262/2272四路无线遥控套件 M4非锁接收板 四键无线遥控器发射模块

 程序一:串口打印四个遥控键值

*/



//定义M4非锁接收板的5个引脚

int D0 = 3;

int D1 = 4;

int D2 = 5;

int D3 = 6;

int VT = 7;

void setup() {

 Serial.begin(9600);//初始化串口

 Serial.println("四位无线遥控器及接收模块准备就绪");

 pinMode(VT, INPUT);//设置5个引脚均为输入

 pinMode(D0, INPUT);

 pinMode(D1, INPUT);

 pinMode(D2, INPUT);

 pinMode(D3, INPUT);

}

void loop() {

 if (digitalRead(VT)) {//读取引脚状态

  Serial.print("有效传输 ");//串口打印

  if (digitalRead(D2)) {

   Serial.print("  ");

   Serial.println("按下了一个A键");

  }

  if (digitalRead(D0)) {

   Serial.print("  ");

   Serial.println("按下了一个B键");

  }

  if (digitalRead(D3)) {

   Serial.print("  ");

   Serial.println("按下了一个C键");

  }

  if (digitalRead(D1)) {

   Serial.print("  ");

   Serial.println("按下了一个D键");

  }

 }

 delay(200); //延时200毫秒

}

(2)实验串口返回情况

在这里插入图片描述
(3)实验场景图

在这里插入图片描述
程序二:无线遥控按下与松开

(1)实验开源仿真编程(Linkboy V4.63)

在这里插入图片描述
(2)实验场景图

在这里插入图片描述
程序三:遥控控制RGB及绿色四种颜色的LED灯

(1)Arduino参考开源代码

/*

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

 实验一百五十五:2262/2272四路无线遥控套件 M4非锁接收板 四键无线遥控器发射模块

 程序三:遥控控制RGB及绿色四种颜色的LED灯

*/



//定义PT2272接收模块的管脚

int D0, D2, D3, D1, VT; //变量 D1 D2 D3 D4 VT 用于获取从数字 PIN 读取的值

void setup() {

 pinMode(2, INPUT);  // 设置数字 PIN 2 3 4 5 6 作为输入

 pinMode(3, INPUT);

 pinMode(4, INPUT);

 pinMode(5, INPUT);

 pinMode(6, INPUT);

 pinMode(7, OUTPUT);  // 设置数字 PIN 7 8 9 10 13 作为输出

 pinMode(8, OUTPUT);

 pinMode(9, OUTPUT);

 pinMode(10, OUTPUT);

 pinMode(13, OUTPUT);

}

void loop() {

 VT = digitalRead(2); // 读取数字 PIN 2 3 4 5 6 并将其存储在变量 VT D1 D2 D3 D4

 D1 = digitalRead(3);

 D2 = digitalRead(4);

 D3 = digitalRead(5);

 D0 = digitalRead(6);

 if (VT == HIGH) { //如果 VT 为 5V 或 HIGH,让 Digital PIN 13 为 5V(HIGH)

  digitalWrite(13, HIGH);

 } else {     //如果 VT 不等于 5V(HIGH) 让 Digital PIN 13 为 0V(LOW)

  digitalWrite(13, LOW);

 }

  

 if (D1 == HIGH) {

  digitalWrite(7, HIGH);

 } else {

  digitalWrite(7, LOW);

 }

 if (D2 == HIGH) {

  digitalWrite(8, HIGH);

 } else {

  digitalWrite(8, LOW);

 }

 if (D3 == HIGH) {

  digitalWrite(9, HIGH);

 } else {

  digitalWrite(9, LOW);

 }

 if (D0 == HIGH) {

  digitalWrite(10, HIGH);

 } else {

  digitalWrite(10, LOW);

 }

}

(2)实验场景图

在这里插入图片描述
程序四:无线遥控大灯自动计时亮灭(通过继电器控制)

(1)实验开源仿真编程(Linkboy V4.63)

在这里插入图片描述
(2)实验场景图

在这里插入图片描述
程序五:使用继电器控制220V家用电灯(四位继电器)

(1)实验接线示意图

在这里插入图片描述
(2)Arduino参考开源代码

/*

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

 实验一百五十五:2262/2272四路无线遥控套件 M4非锁接收板 四键无线遥控器发射模块

 程序五:使用继电器控制220V家用电灯(四位继电器)

*/



//定义输入引脚

#define in1 3

#define in2 4

#define in3 5

#define in4 6

//定义继电器引脚

#define relay1 8

#define relay2 9

#define relay3 10

#define relay4 11

void setup() {

 Serial.begin(9600);

 pinMode(relay1, OUTPUT);//设置连接继电器引脚为输出

 pinMode(relay2, OUTPUT);

 pinMode(relay3, OUTPUT);

 pinMode(relay4, OUTPUT);

 digitalWrite(relay1,LOW);//下拉继电器引脚为为低电平

 digitalWrite(relay2,LOW);

 digitalWrite(relay3,LOW);

 digitalWrite(relay4,LOW);

}

void loop() {

 if (digitalRead(in1) == HIGH) {

  while (digitalRead(in1) == HIGH) {

   delay(10);

  }

  Serial.println("1");

  digitalWrite(relay1,!digitalRead(relay1));

 }

 else if (digitalRead(in2) == HIGH) {

  while (digitalRead(in2) == HIGH) {

   delay(10);

  }

  Serial.println("21");

  digitalWrite(relay2,!digitalRead(relay2));

 }

 else if (digitalRead(in3) == HIGH) {

  while (digitalRead(in3) == HIGH) {

   delay(10);

  }

  Serial.println("3");

  digitalWrite(relay3,!digitalRead(relay3));

 }

 else if (digitalRead(in4) == HIGH) {

  while (digitalRead(in4) == HIGH) {

   delay(10);

  }

  Serial.println("4");

  digitalWrite(relay4,!digitalRead(relay4));

 }

}

(3)实验串口返回情况

在这里插入图片描述
(4)实验场景图

在这里插入图片描述
PT2262是一个遥控编码器配对PT2272 采用 CMOS 技术。它对数据进行编码并将地址引脚转换为适合的串行编码波形用于射频或红外调制。 PT2262最多有12个三态地址引脚位提供高达 531,441 (或312) 地址码;从而,大大减少任何代码冲突和未经授权的代码扫描可能性。内部功能框图如下。

在这里插入图片描述

相关技术资料

https://datasheet.lcsc.com/szlcsc/PT2262_C16390.pdf

PT2272是一个遥控解码器配对PT2262 采用 CMOS 技术。它有12位三态地址引脚提供最多 531,441(或 312)地址代码; 从而大大减少任何代码冲突和未经授权的代码扫描可能性。 PT2272 有多种选择适合每个应用程序需要:可变数量的数据输出引脚、锁存器或瞬时输出类型。内部功能框图如下。

在这里插入图片描述

相关技术资料

http://www.princeton.com.tw/Portals/0/Product/PT2272.pdf

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

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

相关文章

基于单片机的教室智能照明台灯控制系统的设计与实现

功能介绍 以51单片机作为主控系统;LCD1602液晶显示当前时间、年月日、时分秒、前教室人数;2路红外探头用来感应当前教室进出人数;按键可以设置当前时间、自动手动模式、开启和关闭教室灯光时间;在手动模式下,可以通过按…

OpenCV图像金字塔pyrDown下采样

#include <opencv2/opencv.hpp> #include <opencv2/imgproc/imgproc.hpp>using namespace cv;int main() {// Load the original imageMat srcImage

【C++ OJ练习】3.反转字母

1.题目链接 力扣 2.解题思路 前后分别给两个指针 进行遍历 找到字母后就交换 然后往下走 没找到就直接往下走 注意双循环条 件 3.代码 class Solution { public://判断是不是字符bool IsChar(char ch){if ((ch > a && ch < z)|| (ch > A && ch …

区间dp(动态规划)

动态规划——区间dp 什么是动态规划区间dp定义应用 例题引入题目描述输入格式输出格式样例样例输入样例输出 提示 贪心法区间dp优缺点&#xff1a;AC代码&#xff1a;代码详解三层for循环状态转移方程环形的处理 什么是动态规划 动态规划&#xff08;dp&#xff09;是一种通过…

送你一个礼物——让学习科研工作从难题变乐趣

告诉你一个好消息&#xff0c;我的新书《学术写作五步法 —— 如何从零完成高质量论文》已于近期由人民邮电出版社出版上市。你可以在 京东 和 当当 等平台下单购买。 需求 科研新手往往会低估科研写作的难度&#xff0c;望文生义觉得科研成果无非就是「码字儿」而已。科研成果…

Postman 如何进行参数化

前言 Postman作为一款接口测试工具&#xff0c;受到了非常多的开发工程师的拥护。 那么做为测试&#xff0c;了解Postman这款工具就成了必要的了。 这篇文章就是为了解决Postman怎么进行参数化的。 全局变量 全局变量是将这个变量设置成整个程序的都可以用&#xff0c;不用去…

liunx下安装mysql5.7详细教程

1.下载mysql 可以直接去官网下载包&#xff0c;然后通过工具上传到服务器。 2.也可以直接用命令下载 默认下载当前所在位置 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz -P 加文件夹路径&#xff0c;是将文件下载到指定…

OpenCV绘制矩形

这是完整的代码: #include <opencv2/opencv.hpp>int main() {// 创建一个白色的图像cv::Mat image(500, 500, CV_8UC3, cv

【机器学习核心总结】什么是神经网络

什么是神经网络 什么是神经网络&#xff1f;CNN、RNN、GNN&#xff0c;这么多的神经网络&#xff0c;有什么区别和联系&#xff1f; 既然我们的目标是打造人工智能&#xff0c;拥有智慧的大脑无疑是最好的模仿对象&#xff0c;人脑中有约860亿个神经元&#xff0c;这被认为是…

MySQL数据库总结 之 多表查询

一万两千字的博客&#xff0c;值的细细品味&#xff01; 更多关于MySQL的内容&#xff0c;请关注本帅哥的MySQL专栏&#xff01; 目录 1. 多表关系 1.1 一对多 1.2 多对多 1.3 一对一 2 多表查询 2.1 数据准备 2.2 概述 2.3 分类—内连接、外连接和自连接 3. 内连接 …

Openlayers Overlay基础及重点内容讲解

Overlay这个组件在Openlayers 项目中是经常要用到的,使用的场景通常是作为弹窗,显示某点或者某区域的信息。它不是根据屏幕位置固定的,而是与地理坐标相关联,因此平移地图将移动 Overlay。常用的大致有三类,弹窗、标注、文本信息。每个覆盖物都会生成对应的HTML元素,所以…

Ubuntu20.04安装后,root账户无法登录,ssh无法远程连接处理方法

最近一直在用Ubuntu系统&#xff0c;发现了一些规律性的东西&#xff0c;每当安装完系统就得去做一些事情&#xff0c;要不然无法正常丝滑的使用&#xff0c;我把这几个罗列出来&#xff1a;&#xff08;装机的步骤我就省了&#xff0c;比较简单跟着向导来就行&#xff0c;不要…

MySQL查询时指定使用索引

在MySQL中&#xff0c;可以通过指定查询使用的索引来提高查询性能和优化查询执行计划。以下是一些常见的场景&#xff0c;可能需要考虑指定查询使用的索引&#xff1a; 查询性能问题&#xff1a;当一个查询在大表上运行缓慢时&#xff0c;可以考虑为该查询指定合适的索引。通过…

计算机网络-运输层

目录 一、运输层概述 二、运输层端口号、复用和分用的概念 &#xff08;一&#xff09;端口号 &#xff08;二&#xff09;发送方的复用和接收方的分用 &#xff08;三&#xff09;TCP/IP体系的应用层常用协议所使用的运输层熟知端口号 三、UDP和TCP的区别 四、TCP的流量…

Modbus tcp转ETHERCAT在Modbus软件中的配置方法

Modbus tcp和ETHERCAT是两种不同的协议&#xff0c;这给工业生产带来了很大的麻烦&#xff0c;因为这两种设备之间无法通讯。但是&#xff0c;远创智控YC-ECT-TCP网关的出现&#xff0c;却为这个难题提供了解决方案。 YC-ECT-TCP网关能够连接到Modbus tcp总线和ETHERCAT总线中…

[论文笔记] Gemini: A Computation-Centric Distributed Graph Processing System

Gemini: A Computation-Centric Distributed Graph Processing System Gemini: 以计算为中心的分布式图处理系统 [Paper] [Slides] [Code] OSDI’16 摘要 提出了 Gemini, 一个分布式图处理系统, 应用了多种针对计算性能的优化以在效率之上构建可扩展性. Gemini 采用: 稀疏-…

99、基于STM32单片机智能指纹密码锁设计指纹识别控制门禁锁开关系统设计(程序+原理图+任务书+参考论文+开题报告+元器件清单等)

摘 要 近年来&#xff0c;指纹识别技术在国内外发展很快&#xff0c;由于其良好的安全性目前该技术已被广泛应用于生活和工作中。随着成本的下降&#xff0c;指纹识别技术呈现全面推广和普遍应用的趋势。 指纹识别技术是目前国际公认的应用广泛、价格低廉、易用性高的生物人…

6.Python:如何用Python进行数据可视化?

数据可视化是数据分析过程中不可或缺的一步&#xff0c;Python作为一个强大的编程语言&#xff0c;在数据可视化方面也是非常优秀的。本文将介绍使用Python进行数据可视化的基本步骤和常用工具。 一、Python数据可视化常用工具 Matplotlib Matplotlib是Python中最常用的数据…

git提交只单个或者某几个文件的指令

git status --查看目前本地和远程仓库的差异&#xff1b; git add --提交某的文件&#xff0c;多次执行可以提交多个文件 文件名称替换 git stash -u -k --其他文件保留到本地暂存区&#xff0c;不进行提交 git commit -m ---针对本次修改添加注释并提交到远程仓库 gi…

算法--辗转相除法

gcd 算法–辗转相除法 遇到一题算法题&#xff0c;如下&#xff1a; 求字符串的最大公因子&#xff1f; 对于字符串 s 和 t&#xff0c;只有在 s t … t&#xff08;t 自身连接 1 次或多次&#xff09;时&#xff0c;我们才认定 “t 能除尽 s”。 给定两个字符串 str1 和…