- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能雨刮器同步控制程序代码
/*
early function :
1. IIC driver for DAC7678 OUTPUT 0-5V analog signal level
2. 6 scale for external speed
3. Control 2 way signal on the same time
used library Bounce
2013.11.18
Modified by 2014.02.17
*/
#include Bounce.h
//定义6档手动调速开关 1档最小,6档最大
#define SPEED_1 14 // NORMAL(min)
#define SPEED_2 15 //
#define SPEED_3 16 //
#define SPEED_4 17 //
#define SPEED_5 18 //
#define SPEED_6 19 // MAX
#define SWITCH_CONTROL 23 // 定义接近开关上对应的单片机的引脚,第23号数字口
#define SWITCH_CONTROL_1 25 // 定义接近开关上对应的单片机的引脚,第25号数字口
#define TIME_SLOT 100 // 定义时间误差范围在500ms以内,位移误差所导致的时间误差,暂定为500ms,可调
#define TIME_OUT 1000 // 定义超出最大时间范围,即第一个雨刷器与第二个雨刷器同步时间相差一个周期,定义这个周期最大时间为2000ms
#define DAC7678_SDA 20 //定义数字模拟转换模块DAC7678的通信接口,采用二线模拟方式
#define DAC7678_SCL 21
#define SCL_1 digitalWrite(DAC7678_SCL,HIGH) // IIC的时钟线 SCL 写高
#define SCL_0 digitalWrite(DAC7678_SCL,LOW) // SCL 拉低
#define SDA_1 digitalWrite(DAC7678_SDA,HIGH) // IIC的数据线 SDA 写高
#define SDA_0 digitalWrite(DAC7678_SDA,LOW) // SDA 拉低
#define DAC7678 0x90 // DAC7678模块地址,作为IIC模块
unsigned char IIC_ACK;
long referenceTime; // 以第一个雨刷器到达接近开关时的时间作为参考时间referenceTime
long referenceTime1; // 第二个雨刷器离开接近开关时的时间referenceTime1
long intervalTime; // 记录两个雨刷器到达或离开接近开关的时间间隔 intervalTime
boolean startCount = false; // 记数标志位
int device2Current;
int device1_init_1 = 1400; // 第一个雨刷器速度量化值
int device2_init_1= 1800; // 第二个雨刷器速度量化值
int device1_init_2= 2100; // 第一个雨刷器速度量化值
int device2_init_2 = 2700; // 第二个雨刷器速度量化值
int device1_init_3= 2500; // 第一个雨刷器速度量化值
int device2_init_3 = 3214; // 第二个雨刷器速度量化值
int d
文档评论(0)