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

智能无线开关控制器:Arduino + 433MHz 远程操控墙壁开关

元件与材料

Arduino UNO×2(发射端/接收端各一)
MG996R 舵机×1
433 MHz 无线收发模块×1 套

所需工具

3D 打印机(打印舵机固定座)

软件与在线服务

Arduino IDE

项目简介

创意背景

睡前阅读不想下床关灯?儿童够不着开关?行动不便者需要远程控制?这个无线开关操纵器完美解决:按键发射端发送 433 MHz 信号,接收端驱动舵机物理拨动墙壁开关。

系统架构

若通讯不稳定,可调整 Slave_Servo.ino 中的阈值:
upperThreshold = 70、lowerThreshold = 50。

接线说明

按下图连接:按键与发射模块共用一个 Arduino,舵机与接收模块共用另一个。
智能无线开关控制器:Arduino + 433MHz 远程操控墙壁开关

墙面安装座

需 3D 打印舵机固定座(OpenSCAD 源文件可调整安装孔位),首选打印 mhacks_lightswitchv4.stl。用魔术贴或命令贴固定在开关面板上,不建议强力胶以免拆卸困难。
智能无线开关控制器:Arduino + 433MHz 远程操控墙壁开关

最终效果与展望

项目曾参加 Mhacks 黑客马拉松。后续可优化:
• 改用 ESP8266 单板替代双 Arduino,接入 Wi-Fi
• 设计一体化开关面板嵌入舵机
• 接入 Alexa 实现语音控制

核心代码

Slave_Servo.ino(接收端)

#define rfReceivePin A0
#define ledPin 13
#include <Servo.h>
Servo servo;
unsigned int data = 0;
const unsigned int upperThreshold = 70;
const unsigned int lowerThreshold = 50;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  servo.attach(9);
}

void loop() {
  data = analogRead(rfReceivePin);
  if (data < upperThreshold) {
    digitalWrite(ledPin, LOW);
    Serial.println(data);
    servo.write(0); // 拨至 OFF
  }
  if (data > lowerThreshold) {
    digitalWrite(ledPin, HIGH);
    Serial.println(data);
    servo.write(90); // 拨至 ON
  }
}

Master_Remote.ino(发射端)


#define rfTransmitPin 4
#define buttonPin 2
#define led 13

void setup() {
  pinMode(rfTransmitPin, OUTPUT);
  pinMode(buttonPin, INPUT);
  pinMode(led, OUTPUT);
  Serial.begin(9600);
}

int buttonState = 0;
void loop() {
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    digitalWrite(rfTransmitPin, HIGH);
    digitalWrite(led, HIGH);
    Serial.println("transmit");
    delay(10);
  } else {
    digitalWrite(rfTransmitPin, LOW);
    digitalWrite(led, LOW);
    Serial.println("no");
  }
}

3D 打印文件

OpenSCAD 源文件:mhacks_lightswitch_hpXQkie6X4.scad
Arduino 外壳可参考 Thingiverse 现成模型。

原理图

智能无线开关控制器:Arduino + 433MHz 远程操控墙壁开关 智能无线开关控制器:Arduino + 433MHz 远程操控墙壁开关

制造工艺

  1. 用 Arduino 打造绚丽显示器 Ambilight 系统
  2. 基于 Infineon 3D 磁传感器的 Arduino 无线磁通讯实验
  3. 用 Arduino UNO 和 OLED 显示屏制作经典 Pong 游戏:分步教程
  4. Arduino 音频频率检测:基于 FFT 测量最响亮声音峰值
  5. 自制 Arduino 电子宠物「Tamaguino」:复刻经典 Tamagotchi 全攻略
  6. USB-BLE 无线 MIDI 适配器三种方案:让乐器无线连接 iOS 设备
  7. Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY
  8. 基于 Arduino Nano 的智能运动感应水枪
  9. 使用 SparkFun 7 段数码管构建可靠的 Arduino 倒计时器
  10. Arduino 向日葵:制作电子向日葵追踪阳光
  11. 自制 Arduino 遥控保时捷赛车:从改装底盘到手机 App 控制全攻略
  12. 无线Arduino编程盾:HC-05蓝牙模块实现免USB线烧录