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

基于 Arduino Pro Mini 和 OLED 显示屏的智能洗衣机定时器

项目简介

本项目旨在为一台洗衣机定时器损坏的洗衣机制作替代电子定时器。原机械定时器/方向开关控制洗涤电机的运行方式如下:

本项目将构建一个功能相同的电子定时器。

演示视频

以下视频演示了该电子定时器的运行效果:

基于 Arduino Pro Mini 和 OLED 显示屏的智能洗衣机定时器
1306 OLED 直接焊接在 Arduino Pro Mini 上

硬件清单

基于 Arduino Pro Mini 和 OLED 显示屏的智能洗衣机定时器
继电器、按钮、Pro Mini 与 OLED 在原型板上的连接

编程与烧录流程

步骤 1:修改 HC-05 蓝牙模块波特率

使用另一块 Arduino Uno 或 USB-串口模块,通过 AT 命令将 HC-05 波特率设为 57600:

AT
AT+UART=57600,0,0
AT+RESET

步骤 2:连接 HC-05 到 Pro Mini

按接线图连接 HC-05 与 Pro Mini 的串口引脚(TX/RX 交叉连接,VCC 接 5V,GND 接地)。

步骤 3:Arduino IDE 烧录

在 Arduino IDE 中选择 Arduino Pro or Pro Mini (5V, 16MHz) w/ ATmega328P,粘贴代码并点击上传。利用蓝牙串口实现“无线现场可编程”,后续如需修改代码无需拆卸硬件。

接线原理与设备工作详解

不同品牌/型号洗衣机接线可能不同,以下以作者的“夏普”洗衣机为例:

控制逻辑:

基于 Arduino Pro Mini 和 OLED 显示屏的智能洗衣机定时器
通过切换电容接线改变单相感应电机转向

电子定时器运行序列(可在代码中调整):

  1. 继电器 1 闭合(白-红导通)→ 电机顺时针运行 5 秒
  2. 两路继电器全断 → 电机停止 5 秒
  3. 继电器 2 闭合(白-蓝导通)→ 电机逆时针运行 5 秒
  4. 两路继电器全断 → 电机停止 5 秒
  5. 循环上述步骤,直到设定洗涤时间结束

核心代码

#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(A4, A5, 12, 11, 10); // CLK, DIN, CS, D/C, RES

volatile int rbc = 0; // 红按钮计数
volatile int bbc = 0; // 黑按钮计数
int sec = 0, mi = 0, motor_rotation = 0;

void setup() {
  u8g.setRot180();
  analogReference(INTERNAL);
  pinMode(2, INPUT_PULLUP); // 红按钮 - INT0
  pinMode(3, INPUT_PULLUP); // 黑按钮 - INT1
  attachInterrupt(0, ISR_SW_RED, FALLING);
  attachInterrupt(1, ISR_SW_BLACK, FALLING);
  pinMode(5, OUTPUT); digitalWrite(5, LOW); // 继电器 1
  pinMode(4, OUTPUT); digitalWrite(4, LOW); // 继电器 2
}

void loop() {
  // 1. 设置时间菜单
  while (!rbc) {
    u8g.firstPage();
    do { draw_menu(); } while (u8g.nextPage());
    if (rbc > 0 && bbc == 0) { // 仅按红键未先设时间
      u8g.firstPage();
      do { draw_message(); } while (u8g.nextPage());
      delay(2000);
      rbc = 0;
    }
  }

  // 2. 启动倒计时
  if (rbc > 0) {
    sec = 59; mi = bbc - 1;
    while (mi >= 0) {
      unsigned long temp = millis() + 1000;
      while (temp >= millis()) {
        u8g.firstPage();
        do { draw_timer(); } while (u8g.nextPage());
      }
      sec--;
      if (sec % 5 == 0) control_motor(); // 每 5 秒切换电机状态
      if (sec <= 0) { sec = 59; mi--; }
    }
    rbc = bbc = mi = sec = 0;
    digitalWrite(5, LOW); digitalWrite(4, LOW);
  }
}

// 绘制菜单、提示、倒计时界面及中断服务函数见原文完整代码
void control_motor() {
  motor_rotation++;
  if (motor_rotation > 3) motor_rotation = 0;
}

原理图与接线图

基于 Arduino Pro Mini 和 OLED 显示屏的智能洗衣机定时器
电路原理图
基于 Arduino Pro Mini 和 OLED 显示屏的智能洗衣机定时器
详细接线图

安全警示

⚠ 本项目涉及市电 (AC 220V) 操作,请务必具备相关电气安全知识,自担风险!

参考资料

制造工艺

  1. 脑电图仪:设计、制造与新兴应用
  2. 自动售货机:美国366亿美元的产业巨头
  3. 投票机:历史、技术与标准
  4. 现代换币机专家指南:设计、组件与未来趋势
  5. 现代心电图机全景:技术、制造与未来创新
  6. 缝纫机演进:从19世纪创新到现代自动化制造
  7. 挤奶机:从麦秆吸奶到机器人全自动的乳业装备革命
  8. 连裤袜:优雅女性长筒袜终极指南
  9. 洗衣机演进史:从手摇到现代电动机型的全景回顾
  10. 车床核心部件结构与功能详解:主轴箱、拖板、床身、尾座全维度解析
  11. 车床基础知识全攻略:历史演进、工作原理、规格参数、安全规范与类型谱系
  12. 铣床核心部件拆解:从底座到铣头的完整解析