咸鱼买了个汽车折叠后视镜,使用Arduino Uno做一个驱动
纯小白,大佬勿喷
使用的ADC电路,取车载12v,汽车ACC电路加电阻连接至ADC(我用的A1),当高电平时打开后视镜,当低电平时关闭。
7和8连接电机驱动板同样采用12v供电,使用的是L298N电机驱动板模块
int kai = 7;
int guan = 8;
int pot_pin=A1;
int kgs;
//关==0
//开==1
//停==2
int old_pot_data;
void k(int kk){
if(kk != kgs){
Serial.println("开的主程序开始执行");
digitalWrite(kai,HIGH);
digitalWrite(guan,LOW);
delay(6000);
digitalWrite(kai,LOW);
Serial.println("开的主程序执行完毕");
}else{
Serial.println("k调用了stop1");
void stop1();
}
}
void g(int gg){
if(gg != kgs){
Serial.println("关的主程序开始执行");
digitalWrite(guan,HIGH);
digitalWrite(kai,LOW);
delay(6000);
digitalWrite(guan,LOW);
Serial.println("关的主程序执行完毕");
}else{
Serial.println("g调用了stop1");
void stop1();
}
}
void stop1(){
Serial.println("执行停止");
digitalWrite(guan,LOW);
digitalWrite(kai,LOW);
delay(1000);
Serial.println("执行停止完毕");
}
void setup() {
// put your setup code here, to run once:
pinMode(kai,OUTPUT);
pinMode(guan,OUTPUT);
pinMode(pot_pin,INPUT);
Serial.begin(9600);
Serial.println("初始化。。。");
Serial.println("当前日期版本20220531");
//g(2);
k(2);
stop1();
old_pot_data = analogRead(pot_pin);
delay(500);
}
void loop() {
// put your main code here, to run repeatedly:
//g();
delay(1000);
int pot_data=analogRead(pot_pin);
Serial.println("当前ADC数值:");
Serial.println(pot_data);
if(pot_data == old_pot_data){
stop1();
}else{
if(pot_data>500){
k(1);
kgs = 1;
}else{
g(0);
kgs = 0;
}
}
Serial.println("主程序调用了stop1");
stop1();
old_pot_data=pot_data;
delay(1000);
}