Arduino自助饮料机程序
arduino自助饮料机程序,一共三个按键,分别对应三种饮料,按下按键之后,需要用手去触发红外感应开关,这个时候全彩led灯会亮起来,然后出饮料,手离开则停止出饮料。
代码:
#define button_delay 5 //单按钮消除抖动延时
#define button_every_delay 50 //多按钮操作间隔//io高低点吧状态标志位,0代表低电平,1代表高电平
bool io_flag[3]={0,0,0};//按钮变化标志位,0代表无变化,1代表有变化
bool button_flag[3]={0,0,0};int i;long time_last=0;void anjian_jiance(){for(i=2;i<=4;i++){if(digitalRead(i)==HIGH){delay(button_delay);if(digitalRead(i)==HIGH){if(io_flag[i-2]==0){io_flag[i-2]=1;delay(button_every_delay);}}}if(digitalRead(i)==LOW){delay(button_delay);if(digitalRead(i)==LOW){if(io_flag[i-2]==1){io_flag[i-2]=0;//print_s(); //按钮松开,打印消息delay(button_every_delay);}}}}
}bool hongwai_jiance(){if(digitalRead(11)==true){delay(button_delay);if(digitalRead(11)==true)return true;elsereturn false;}elsereturn false;
}
//5 6 9接红绿蓝
//全彩二极管呼吸灯
void led_light(){Serial.println("Led lighting!");
for(int i=0;i<=255;i++)
{analogWrite(5,255);analogWrite(6,map(i,0,255,204,0));analogWrite(9,map(i,0,255,226,0));delay(4);
}
for(int i=0;i<=255;i++)
{analogWrite(5,map(i,0,255,255,175));analogWrite(6,map(i,0,255,0,18));analogWrite(9,map(i,0,255,0,88));delay(4);
}
Serial.println("Led lighted!");}void bengshui(){Serial.println("Out watering");while(hongwai_jiance()){if(io_flag[0]){digitalWrite(7,HIGH);}if(io_flag[1]){digitalWrite(8,HIGH);}if(io_flag[2]){digitalWrite(10,HIGH);}delay(50);}Serial.println("Out watered!");digitalWrite(7,LOW);digitalWrite(8,LOW);digitalWrite(10,LOW);
}void setup() {// put your setup code here, to run once:Serial.begin(9600);//2到4为3个按钮for(i=2;i<=4;i++)pinMode(i,INPUT);//5 6 9为三个控制全彩led的引脚,7,8,10为控制3个水泵的引脚for(i=5;i<=10;i++){pinMode(i,OUTPUT);digitalWrite(i,LOW);}
//11号口为检测红外感应引脚pinMode(11,INPUT);Serial.println("Init succ");
}void loop() {// put your main code here, to run repeatedly:anjian_jiance();if(io_flag[0]||io_flag[1]||io_flag[2]){Serial.print("key 1 :");Serial.print(io_flag[0]);Serial.print("*********key 2 :");Serial.print(io_flag[1]);Serial.print("*********key 3 :");Serial.println(io_flag[2]);time_last=millis();while(!hongwai_jiance()){if((millis()-time_last)>5000){Serial.println("5 seconed tiem out!");return;}}led_light();bengshui();}elsereturn;}
Arduino自助饮料机程序相关推荐
- A3A1自助申请PHP版搭建,微软全局子号-微软全局订阅A3桌面版office账号自助申请程序下载php版-西西软件下载...
微软全局订阅A3桌面版office账号自助申请程序,一个微软全局子号自助开通程序源码,用cloudflare的workers实现自助创建微软全局子号.本次带来微软全局订阅A3桌面版自助申请程序源码资源 ...
- 用arduino mega2560通过isp给 arduino uno烧录程序
用arduino mega2560通过isp给 arduino uno烧录程序 一直想通过最基本的方式来烧录arduino程序,没有bootloader,不使用arduino IDE,基于avr-li ...
- CH55X 基于Arduino框架开发程序上传相关注意事项
CH55X 基于Arduino框架开发程序上传相关注意事项
- STM32F401RCT6基于Arduino框架点灯程序
STM32F401RCT6基于Arduino框架点灯程序
- arduino四轮小车程序前篇
arduino四轮小车程序前篇 前言 利用arduino控制四轮小车我感觉很方便,其中一个原因是arduino公开程序代码较多,二是看stm32编程直接把我劝退了,利用ros也可以,但我感觉有点杀鸡用 ...
- PHP授权检测卡密功能自助功能程序源码
源码下载:PHP授权检测卡密功能自助功能程序源码-小程序文档类资源-CSDN下载 PHP授权检测卡密功能自助功能程序源码 一款PHP授权检测卡密功能自助功能程序源码,喜欢就下载吧. 后台地址: htt ...
- 扫码自助饮料机真的能够完善市场吗?点赋科技预测
扫码自助饮料机似乎已经成为如今饮料市场的一种趋势,但在实际应用中还存在着一些问题.为了让扫码自助饮料机更好地完善市场,需要相关厂商进一步解决以下痛点问题.点赋科技来为大家讲解. 首先是技术问题.目前市 ...
- 利用AVR单片机 专用下载 USBtinyISP对Arduino UNO下载程序
简 介: 测试了利用USBtinyISP对于Arduino UNO,也就是ATmega系列的单片机下载Bootloader的过程.通过测试可以看到,利用USBtinyISP可以更快的下载ATmega系 ...
- 【arduino】arduino ISP下载程序方法,用arduino uno给M5 Module DC MOTOR下载程序
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 今天用arduino uno给M5的Module DC motor下载程序,别的就不多 ...
最新文章
- R语言嵌套方差分析(Nested ANOVA)实战
- node.js php模板,node.js中EJS 模板的使用教程
- 云计算中的Big Iron重新成为时尚
- 详解Session分布式共享(.NET CORE版)
- vue 子页面调用父页面的参数_Flutter子组件调用父组件方法修改父组件参数
- 日志异常处理-spring aop注解
- python比赛2020_2020LPL春季赛3月15日比赛数据的数据分析(Python)
- [笔记]MacOs BootCamp装Win10双系统 经历
- 游戏推广中CPA,CPT和CPS是什么意思?
- IOS 检测摇一摇动作的实现方式
- 谷歌、百度、搜狗、有道搜索个人之比较
- 源码角度了解Skywalking之Skywalking是如何进行JVM监控的
- c语言 函数调用顺序,C++函数定义和调用过程(超详细)
- 天宫初级认证答案_跨境电商人才初级认证试题以及答案
- python利用try_except打印错误信息,并继续执行
- 怎么知道本台计算机的用户名和密码,访问其它电脑时“开始-运行-\输入要连接的电脑的IP,用户名和密码输入什么?...
- 我们问了人工智能ChatGPT十个运维问题,结果发现...
- 【单片机毕业设计】【mcuclub-jj-031】基于单片机的水杯的设计
- mac程序进程无法退出,强制退出后有重启了,怎么彻底解决?
- QT中C++程序和QML的集成
热门文章
- RocketMQ实战2
- 判断当前时间为本月的第几周,本周的第几天
- vue:移动端使用ckplayer
- pygame研究之利用sprite的UI架构实现
- python excel筛选统计_懂点EXCEL就行!教你利用Python做数据筛选(上)
- youwuku和koudaitong以及weimeng差异
- scrapy-redis分布式爬虫爬取美女图片
- java holder详解_connection holder is null 异常详解
- android 活动生命,Android 活动生命周期
- 阿里云国际版免费试用:如何注册以及注意事项