极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11267|回复: 4

求教大家 如何 实现按键按住不丢,程序执行,按键一松开,就不执行了

[复制链接]
发表于 2014-2-8 21:36:00 | 显示全部楼层 |阅读模式
新人在此求教各位大虾,我想用ARDUINO UNO实现一个功能,当按键按住不丢时,控制几路继电器顺序动作,程序只执行一次后停止,当中途一旦按键松开了的话,立即停止程序并恢复所有继 电器状态,当再次按下按键不丢时,再次执行一次程序,同样,万一按键一松还是要停止程序的,翻了一些教程,没搞定,在这里有求大家帮帮忙了,谢谢
回复

使用道具 举报

发表于 2014-2-9 03:07:33 | 显示全部楼层
外部中断,详见
attachInterrupt()
detachInterrupt()
回复 支持 反对

使用道具 举报

发表于 2014-2-9 13:53:18 | 显示全部楼层
從要求來看,這是一個不自鎖的電源開關的功能,按著給電就運行,放開沒電就結束。
回复 支持 反对

使用道具 举报

发表于 2014-2-10 09:41:18 | 显示全部楼层
是不是要解决:按着按钮,有时候也会程序自动停止的问题。
硬件解决办法,按钮上并联个电容,过滤掉电信号的抖动
软件上的解决,参考millis()函数,当断电超过3毫秒是,程序停止;少于等于3毫秒的,认为不是人为操作,程序不停止。程序滞后3毫秒,肉眼是无法判断的,应该对你的需求没什么影响!

回复 支持 反对

使用道具 举报

发表于 2014-2-10 12:35:41 | 显示全部楼层
还是2楼方法好 ,我也准备那么说的 中断神马的太复杂
直接一个簧片开关 按下去 单片机初始化开始执行程序
放掉 单片机直接掉电 关机
这个最省事~~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 14:54 , Processed in 0.036183 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表