利用arduino改装半自动洗衣机项目

 导语:闲来无事,改装了一下老家半自动洗衣机,家里老人用抽水井洗衣服,所以不能使用全自动洗衣机,半自动洗衣机需要频繁抽水、放水,所以就想到用arduino r3做了个电路改装了一下。

优点:减少人工操作的等待;非破坏性,不影响半自动洗衣机原功能。

功能模块:
    * 电源开关;按下电源开关,禁用手动洗衣旋钮
   * 手动加水按键监测;手动加水计时;
   * 加水继电器;水位监测;
   * 模式选择:按下洗衣按钮后,指示灯闪烁6秒,,期间再次按下开始按键则进入“快速模式”;无操作则默认浸泡洗衣模式;
   * 洗衣电机正转6s;暂停2s;洗衣电机反转6s;暂停2s;监测水位;洗涤6分钟;浸泡20分钟;洗涤15分钟;
   * 放水开关打开继电器;放水开关打开监测;放水4分钟;放水开关关闭;放水开关关闭监测;
   * 运行指示灯;
   * 加水超量自动停止加水,并闪烁加水指示灯;
   * 不加水直接启动则自动定量加水;

提示信息:
  * 加水按键初始状态错误,加水按键指示灯闪烁;将声音提示改为LED状态提示;
  * 将声音提示改为LED状态提示:
  * 0加水按键初始状态警告(加水按键指示灯闪烁);
  * 1暂停
  * 2漏水警告(加水按键指示灯点亮时,启动按键指示灯闪烁2次);
  * 3放水未完成警告(加水按键指示灯点亮时,启动按键指示灯闪烁3次。

材料明细:arduino_R3主板,水位探头3个,放水按键开关3个,继电器3组12个,60A固态继电器1个(用于控制潜水泵抽水),电磁阀(用于控制放水。)

程序内容:

//定义常量:
long effluent_t = 280LL*1000;         	//放水时长4.66分钟
long wash_t = 900LL*1000;             	//洗衣时长15分钟
long rinse_t = 480LL*1000;            	//漂洗时长8分钟
long steep_t = 1200LL*1000;           	//浸泡时长20分钟
long wash_run_t = 60LL*100;           	//洗衣电机转动时长6s
long wash_stop_t = 24LL*100;          	//洗衣电机暂停时长2.4s

//输入输出引脚定义
int inflow_s = 2;                     	//自动加水继电器                 	输出
int inflow_b = 3;                     	//手动加水按键                      输入
int effluent_open_s = 5;              	//自动放水开关打开电机控制继电器    输出
int effluent_open_c = A3;             	//自动放水开关打开红外检测          输入
int effluent_close_s = 4;             	//自动放水开关关闭电机控制继电器    输出
int effluent_close_c = A2;            	//自动放水开关关闭红外检测          输入
int effluent_turn_s = 6;              	//自动放水开关控制切换继电器   		输出
int wash_s1 = 7;                    	//洗衣电机正转                  	输出
int wash_s2 = 8;                    	//洗衣电机反转                  	输出
int start_b = 9;                      	//洗衣启动按键监测                  输入
int start_led = 10;                   	//洗衣启动指示灯                 	输出
int inflow_led = 11;                  	//加水指示灯                 		输出
int hand_control_stop = 12;             //切断手动洗衣旋钮控制继电器   		输出
int water_value_low_c = A1;             //水量检测 警戒低水位监测           输入
int water_value_high_c = A0;            //水量检测 警戒高水位监测           输入

//功能变量:

//变量:
long inflow_t = 0;            			//加水时长变量(自动记录手动加水时长,洗衣完成后清零
unsigned long n;                		//辅助计算加水时,程序运行周期变量
long t;                       			//辅助计算加水时长变量
int m;            						//水量监测辅助变量
int inflow_n = 0;      	 				//加水判断辅助变量
int inflow_button_check = 0;    		//初次运行时检查加水按钮是否被按下
int effluent_n = 0;         			//放水开关状态检查辅助变量
int mod_choice = 0;						//洗衣模式选择
int inflow_n_add = 0;					//补充加水判断变量

//等待函数----------------------------------------------------
int wait_program(int wait_t)
{
	for(int i = 0; i < wait_t/50; i = i + 51)
	{
		if(digitalRead(start_b) == LOW)
		{
			delay(300);     					//防止按键按下时间过长导致错误
			do
			{
				led_waring_program(1);
			}while(digitalRead(start_b) == HIGH);
			de
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值