资料介绍
描述
使用 IO 扩展器和继电器扩展器通过键盘控制继电器。
需要使用键盘控制继电器?那么您需要带继电器扩展器的IO 扩展器。每个 IO 扩展器最多可以控制 16 个菊花链式继电器扩展器,总共 256 个继电器。然后使用连接到 IO 扩展器的键盘手动控制每个继电器。
使用FCB Maker将 7 或 8 个数字引脚转换为 1 个模拟引脚。然后连接 3x4 或 4x4 数字键盘。
接线图
注意:在上面的接线图中,IO Expander 和 Arduino Nano 由第一个继电器板供电。所有继电器扩展器都由它们所连接的继电器板供电。
输入继电器编号,然后按“#”键打开继电器。要关闭继电器,请使用“*”键。
/* IO Expander
*
* Relay Keypad
*
*/
#include
#include "IOExpander.h"
#include
//#define SERIAL_DEBUG
#define MAX_RELAYS 64
#ifdef SERIAL_DEBUG
SoftwareSerial swSerial(8,7);
#endif
char cmd[16];
char key[16] = {};
#define KEYPAD_4x3
//#define KEYPAD_4x4
#ifdef KEYPAD_4x3
#define MAX_KEYS 12
int thresholds[MAX_KEYS] = {18,329,598,1000,1183,1346,1603,1723,1833,2009,2093,2172};
char keypad[MAX_KEYS] = {'1','2','3','4','5','6','7','8','9','*','0','#'};
#endif
#ifdef KEYPAD_4x4
#define MAX_KEYS 16
int thresholds[MAX_KEYS] = {105,394,617,847,1049,1220,1357,1502,1634,1748,1840,1939,2031,2110,2177,2249};
char keypad[MAX_KEYS[ = {'1','2','3','A','4','5','6','B','7','8','9','C','*','0','#','D'};
#endif
void setup()
{
int i;
Serial.begin(115200);
#ifdef SERIAL_DEBUG
swSerial.begin(115200);
swSerialEcho = &swSerial;
swSerial.println("DEBUG");
#endif
wdt_enable(WDTO_8S);
delay(100); // Wait 100 ms for IO Expander Title
while (Serial.available()) Serial.read(); // Flush RX buffer
sprintf(cmd, "eb%d", MAX_RELAYS / 16);
SerialCmdDone(cmd);
// Configure keypad
SerialCmdDone("s2t1d;sc0,0");
Serial.print("sc");
for (i = 0; i < MAX_KEYS; i++)
{
if (i) Serial.print(",");
Serial.print(thresholds[i]);
Serial.print(","");
Serial.print(keypad[i]);
Serial.print(""");
}
SerialCmdDone(";sd100"); // Keypad debounce 100ms
}
void loop()
{
int i,relay;
char ch;
SerialCmd("s2r");
int len = strlen(key);
SerialReadString(key+len, sizeof(key)-len); // Concatinate keypad characters
SerialReadUntilDone();
for (i = 0; i < strlen(key); i++) {
ch = key[i];
if (!isdigit(ch)) {
key[i] = NULL;
if (ch == '*' || ch == '#') {
relay = atoi(key);
if (relay > 0 && relay <= MAX_RELAYS) {
Serial.print("e");
Serial.print(relay);
if (ch == '#') Serial.println("o"); // Turn on relay
else Serial.println('f'); // Turn off relay
SerialReadUntilDone(); // Wait for the '>' prompt
}
}
strcpy(key, key+i+1);
break;
}
}
wdt_reset();
delay(100);
}
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- Sonoff基本Wifi扩展器——MQTT干接点继电器
- 固态继电器和电磁继电器模块
- Arduino控制继电器(esp32+继电器)
- 树莓派控制继电器
- 继电器控制说明
- 固态继电器与普通继电器的区别
- 继电器控制实验介绍
- 继电器的使用
- 电磁继电器和固态继电器的区别
- 继电器控制电灯
- 直流继电器与交流继电器的原理与区别
- 使用单片机IO驱动继电器威廉希尔官方网站 有哪些误区
- PLC与继电器控制的区别介绍 9次下载
- 频率继电器在起重机传统控制应用
- 压力继电器和压力控制器原理
- 电压继电器与电流继电器的对比 556次阅读
- 固态继电器与普通继电器的比较 1043次阅读
- 固态继电器和电磁继电器的区别 634次阅读
- 时间继电器规格及型号 时间继电器怎么调时间 1553次阅读
- 安全继电器和普通继电器区别 安全继电器应用案例 2273次阅读
- 控制继电器的结构 699次阅读
- 电磁继电器选用_电磁继电器应用 2322次阅读
- 常见的继电器有哪些 1.8w次阅读
- 微雪电子树莓派继电器扩展板 8路继电器介绍 2801次阅读
- 固态继电器原理_固态继电器的特点 6123次阅读
- 继电器怎么切换威廉希尔官方网站 _继电器切换威廉希尔官方网站 图解 4.7w次阅读
- 控制继电器的作用是什么 8484次阅读
- 固态继电器与普通继电器的区别 6.4w次阅读
- 直流继电器和交流继电器的区别 6.2w次阅读
- 中间继电器详解_中间继电器选型_中间继电器与一般继电器如何选择 1.3w次阅读
下载排行
本周
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2联想E46L DAOLL6笔记本电脑图纸
- 1.10 MB | 2次下载 | 5 积分
- 3MATLAB绘图合集
- 27.12 MB | 2次下载 | 5 积分
- 4PR735,使用UCC28060的600W交错式PFC转换器
- 540.03KB | 1次下载 | 免费
- 5UCC38C42 30W同步降压转换器参考设计
- 428.07KB | 1次下载 | 免费
- 6DV2004S1/ES1/HS1快速充电开发系统
- 2.08MB | 1次下载 | 免费
- 7模态分解合集matlab代码
- 3.03 MB | 1次下载 | 2 积分
- 8美的电磁炉维修手册大全
- 1.56 MB | 1次下载 | 5 积分
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 15次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 5STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 6HY12P65/HY12P66数字万用表芯片规格书
- 0.69 MB | 6次下载 | 免费
- 7华瑞昇CR216芯片数字万用表规格书附原理图及校正流程方法
- 0.74 MB | 6次下载 | 3 积分
- 8华瑞昇CR215芯片数字万用表原理图
- 0.21 MB | 5次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4威廉希尔官方网站 仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多