亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

SomfyDuino:Arduino Nano 实现 USB 转 Somfy IO 适配器

组件与物料

组件数量
Arduino Nano R31
扁平排线 (7芯)1
Somfy IO 遥控器 (如 GX037)1

所需工具

项目简介

将 Somfy IO 卷帘窗遥控器与 Arduino Nano 结合,通过 USB 串口接入自建智能家居系统,无需厂商云网关。遥控器由 Arduino 供电(发射约 20mA),需拆除原电池。

接线说明

遥控器按键焊点分别接 Arduino 数字引脚(低电平触发):

共用正极接 3.3V/GND。单通道遥控器无额外通道 LED,SELECT 键无法切换通道但不影响使用。

通信协议

Arduino 监听串口字符命令:

示例:u5e = 按住 UP 500ms;ud9993e = 同时按 UP+DOWN 3秒(配对模式)。

代码

// SomfyDuino by Bjoern Foldenauer
int progPin = 8, upPin = 12, downPin = 10, myPin = 11, selectPin = 9, ledPin = 13;
boolean upPress=false, downPress=false, myPress=false, progPress=false, selectPress=false;
unsigned long holdTime = 0;
int repeatSend = 0;
char incomingChar;

void setup() {
  Serial.begin(9600);
  Serial.println("SomfyDuino 0.71");
  Serial.println("Commands: u/d/m/p/s + 1-9(hold) + r(repeat) + e(execute)");
  pinMode(progPin, OUTPUT); pinMode(upPin, OUTPUT); pinMode(downPin, OUTPUT);
  pinMode(myPin, OUTPUT); pinMode(selectPin, OUTPUT); pinMode(ledPin, OUTPUT);
  digitalWrite(progPin, HIGH); digitalWrite(upPin, HIGH); digitalWrite(downPin, HIGH);
  digitalWrite(myPin, HIGH); digitalWrite(selectPin, HIGH); digitalWrite(ledPin, LOW);
}

void loop() {
  while (Serial.available() == 0) delay(50);
  if (Serial.available() > 0) {
    incomingChar = Serial.read();
    if (incomingChar == 'u') upPress = true;
    if (incomingChar == 'd') downPress = true;
    if (incomingChar == 'm') myPress = true;
    if (incomingChar == 'p') progPress = true;
    if (incomingChar == 's') selectPress = true;
    if (incomingChar >= '1' && incomingChar <= '9') holdTime += (incomingChar - '0') * 100;
    if (incomingChar == 'r') repeatSend++;
    if (incomingChar == 'e') somSend();
  }
}

void somSend() {
  for (int i = 0; i <= repeatSend; i++) {
    if (upPress) { digitalWrite(upPin, LOW); Serial.print("up "); }
    if (downPress) { digitalWrite(downPin, LOW); Serial.print("down "); }
    if (myPress) { digitalWrite(myPin, LOW); Serial.print("my "); }
    if (progPress) { digitalWrite(progPin, LOW); Serial.print("prog "); }
    if (selectPress) { digitalWrite(selectPin, LOW); Serial.print("select "); }
    digitalWrite(ledPin, HIGH);
    Serial.print("for "); Serial.print(holdTime); Serial.println(" ms");
    delay(holdTime);
    digitalWrite(progPin, HIGH); digitalWrite(upPin, HIGH); digitalWrite(downPin, HIGH);
    digitalWrite(myPin, HIGH); digitalWrite(selectPin, HIGH); digitalWrite(ledPin, LOW);
    delay(holdTime);
  }
  upPress=downPress=myPress=progPress=selectPress=false; holdTime=0; repeatSend=0;
  Serial.println("done.");
}

原理图

SomfyDuino:Arduino Nano 实现 USB 转 Somfy IO 适配器 SomfyDuino:Arduino Nano 实现 USB 转 Somfy IO 适配器 SomfyDuino:Arduino Nano 实现 USB 转 Somfy IO 适配器

制造工艺

  1. 树莓派 3 配合 PubNub 实现远程气象监测
  2. 树莓派 LIRC 通用红外遥控器专业构建指南
  3. 树莓派无需 LIRC 捕获红外遥控指令:Python UART 方案
  4. 远程心率监测系统:AWS IoT 告警 + 树莓派 Windows IoT 可视化
  5. 树莓派 + Hologram Nova 短信控制智能交流电源开关
  6. ROObockey:精准辅助的遥控街头曲棍球机器人
  7. 基于 Arduino、1Sheeld 与红外控制的万能安卓遥控器
  8. 云监控:实时资产管理的远程控制系统
  9. 现代工业远程生产控制的5大核心优势
  10. 在PLCnext设备上用grpcurl安全远程访问gRPC
  11. 远程监控三大价值:效率跃升、预知维护、数据洞察
  12. 工业物联网赋能远程监控系统全面升级