資料介紹
描述
使用 IO 擴展器和繼電器擴展器通過鍵盤控制繼電器。
需要使用鍵盤控制繼電器?那么您需要帶繼電器擴展器的IO 擴展器。每個 IO 擴展器最多可以控制 16 個菊花鏈式繼電器擴展器,總共 256 個繼電器。然后使用連接到 IO 擴展器的鍵盤手動控制每個繼電器。
![final_pxAu2zWWMN.jpg?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1477488/final_pxAu2zWWMN.jpg?auto=compress%2Cformat&w=740&h=555&fit=max)
使用FCB Maker將 7 或 8 個數(shù)字引腳轉(zhuǎn)換為 1 個模擬引腳。然后連接 3x4 或 4x4 數(shù)字鍵盤。
接線圖
![wiring_E7aoyg1bLr.jpg?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1477489/wiring_E7aoyg1bLr.jpg?auto=compress%2Cformat&w=740&h=555&fit=max)
注意:在上面的接線圖中,IO Expander 和 Arduino Nano 由第一個繼電器板供電。所有繼電器擴展器都由它們所連接的繼電器板供電。
輸入繼電器編號,然后按“#”鍵打開繼電器。要關(guān)閉繼電器,請使用“*”鍵。
/* 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基本W(wǎng)ifi擴展器——MQTT干接點繼電器
- 繼電器控制
- 固態(tài)繼電器和電磁繼電器模塊
- Arduino控制繼電器(esp32+繼電器)
- 樹莓派控制繼電器
- 繼電器控制說明
- 固態(tài)繼電器與普通繼電器的區(qū)別
- 繼電器控制實驗介紹
- 繼電器的使用
- 繼電器控制電燈
- 直流繼電器與交流繼電器的原理與區(qū)別
- 使用單片機IO驅(qū)動繼電器電路有哪些誤區(qū)
- PLC與繼電器控制的區(qū)別介紹 9次下載
- 頻率繼電器在起重機傳統(tǒng)控制應(yīng)用
- 壓力繼電器和壓力控制器原理
- 電壓繼電器與電流繼電器的對比 1696次閱讀
- 固態(tài)繼電器與普通繼電器的比較 2582次閱讀
- 固態(tài)繼電器和電磁繼電器的區(qū)別 1067次閱讀
- 時間繼電器規(guī)格及型號 時間繼電器怎么調(diào)時間 2582次閱讀
- 安全繼電器和普通繼電器區(qū)別 安全繼電器應(yīng)用案例 3228次閱讀
- 控制繼電器的結(jié)構(gòu) 838次閱讀
- 電磁繼電器選用_電磁繼電器應(yīng)用 2422次閱讀
- 常見的繼電器有哪些 1.8w次閱讀
- 微雪電子樹莓派繼電器擴展板 8路繼電器介紹 2991次閱讀
- 固態(tài)繼電器原理_固態(tài)繼電器的特點 6496次閱讀
- 繼電器怎么切換電路_繼電器切換電路圖解 4.8w次閱讀
- 控制繼電器的作用是什么 8595次閱讀
- 固態(tài)繼電器與普通繼電器的區(qū)別 6.4w次閱讀
- 直流繼電器和交流繼電器的區(qū)別 6.3w次閱讀
- 中間繼電器詳解_中間繼電器選型_中間繼電器與一般繼電器如何選擇 1.3w次閱讀
下載排行
本周
- 1IP6823 支持 qi 認證的無線充電發(fā)射控制 SOC
- 1.01 MB | 1次下載 | 免費
- 2IP6824? 全集成QI?無線充電發(fā)射控制SOC
- 1.22 MB | 1次下載 | 免費
- 3PESD18VY1BBIF保護二極管規(guī)格書
- 4.56MB | 次下載 | 免費
- 474HC4050緩沖器規(guī)格書
- 217.58KB | 次下載 | 免費
- 574HC193;74HC7193二進制加減計數(shù)器規(guī)格書
- 327.93KB | 次下載 | 免費
- 674HC73-Q100雙JK觸發(fā)器規(guī)格書
- 220.85KB | 次下載 | 免費
- 7ASW3410 USB3.1高速數(shù)據(jù)開關(guān)切換規(guī)格書
- 1.39 MB | 次下載 | 免費
- 8多款常用電子電路分享
- 7.96 MB | 次下載 | 2 積分
本月
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2零死角玩轉(zhuǎn)STM32F103—指南者
- 26.78 MB | 41次下載 | 1 積分
- 3PIC12F629/675 數(shù)據(jù)手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 4PIC16F716 數(shù)據(jù)手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 5dsPIC33EDV64MC205電機控制開發(fā)板用戶指南
- 5.78MB | 8次下載 | 免費
- 6STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 7AN-1267: 使用ADSP-CM408F ADC控制器的電機控制反饋采樣時序
- 1.41MB | 5次下載 | 免費
- 8模擬電路仿真實現(xiàn)
- 2.94MB | 4次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935124次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73813次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論