day -4 红外寻迹小车测试2 -arduino

//一共4个传感器,从左到右分别为D 2,1,3,4引脚
int Left_f = 8;
int Left_s = 7;
int Right_f = 2;
int Right_s = 4;
int Left_go = 6;
int Right_go = 5;
void go_straight() {
  digitalWrite(Left_f, HIGH);
  digitalWrite(Left_s, LOW);
  digitalWrite(Right_f, HIGH);
  digitalWrite(Right_s, LOW);
  analogWrite(Left_go, 110);
  analogWrite(Right_go, 110);
}
void Stop() {
  digitalWrite(Left_f, LOW);
  digitalWrite(Left_s, LOW);
  digitalWrite(Right_f, LOW);
  digitalWrite(Right_s, LOW);
  analogWrite(Left_go, 0);
  analogWrite(Right_go, 0);
}
void turn_left() {
  digitalWrite(Left_f, LOW);
  digitalWrite(Left_s, HIGH);
  digitalWrite(Right_f, HIGH);
  digitalWrite(Right_s, LOW);
  analogWrite(Left_go, 0);
  analogWrite(Right_go, 110);
}
void turn_right() {
  digitalWrite(Left_f, HIGH);
  digitalWrite(Left_s, LOW);
  digitalWrite(Right_f, LOW);
  digitalWrite(Right_s, HIGH);
  analogWrite(Left_go, 110);
  analogWrite(Right_go, 0);
}
void back() {
  digitalWrite(Left_f, LOW);
  digitalWrite(Left_s, HIGH);
  digitalWrite(Right_f, LOW);
  digitalWrite(Right_s, HIGH);
  analogWrite(Left_go, 110);
  analogWrite(Right_go, 110);
}
void turn_left_stop() {
  digitalWrite(Left_f, LOW);
  digitalWrite(Left_s, HIGH);
  digitalWrite(Right_f, HIGH);
  digitalWrite(Right_s, LOW);
  analogWrite(Left_go, 110);
  analogWrite(Right_go, 110);
}
void turn_right_stop() {
  digitalWrite(Left_f, HIGH);
  digitalWrite(Left_s, LOW);
  digitalWrite(Right_f, LOW);
  digitalWrite(Right_s, HIGH);
  analogWrite(Left_go, 110);
  analogWrite(Right_go, 110);
}

void Begin() {
  while (digitalRead(A0));
  while (!digitalRead(A0)) {
    delay(10);
    if (digitalRead(A0) == 0) {
      delay(100);
      while (!digitalRead(A0));
    }
  }
}
void setup() {
  // put your setup code here, to run once:
  pinMode(Left_f, OUTPUT);
  pinMode(Left_s, OUTPUT);
  pinMode(Right_f, OUTPUT);
  pinMode(Right_s, OUTPUT);
  pinMode(Left_go, OUTPUT);
  pinMode(Right_go, OUTPUT);
  pinMode(A0, INPUT);
  pinMode(A2, INPUT);
  pinMode(A1, INPUT);
  pinMode(A3, INPUT);
  pinMode(A4, INPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  Begin();
  while (1) {
    if (digitalRead(A2) && !digitalRead(A1) && !digitalRead(A3) && digitalRead(A4) ) {
      go_straight();
    }
    else if (digitalRead(A2) && !digitalRead(A1) &&  digitalRead(A3) && digitalRead(A4)) {
      turn_left();
    }
    else if (digitalRead(A2) && digitalRead(A1) && !digitalRead(A3) && digitalRead(A4)) {
      turn_right();
    }
    else if (!digitalRead(A2) && digitalRead(A1) &&  digitalRead(A3) && digitalRead(A4)) {
      turn_left();
    }
    else if (digitalRead(A2) && digitalRead(A1) && digitalRead(A3) && !digitalRead(A4)) {
      turn_right();
    }
    else if (!digitalRead(A2) && !digitalRead(A1) && !digitalRead(A3) && digitalRead(A4)) {
      delay(30);
      turn_left_stop();
    }
    else if (digitalRead(A2) && !digitalRead(A1) && !digitalRead(A3) && !digitalRead(A4)) {
      delay(30);
      turn_right_stop();
    }
    else if (!digitalRead(A2) && !digitalRead(A1) && digitalRead(A3) && digitalRead(A4)) {
      delay(30);
      turn_left_stop();
    }
    else if (!digitalRead(A2) && digitalRead(A1) && !digitalRead(A3) && digitalRead(A4)) {
      delay(30);
      turn_left_stop();
    }
    else   if (!digitalRead(A2) && !digitalRead(A1) && !digitalRead(A3) && digitalRead(A4)) {
      delay(30);
      turn_left_stop();
    }
    else if (digitalRead(A2) && !digitalRead(A1) && digitalRead(A3) && !digitalRead(A4)) {
      delay(30);
      turn_right_stop();
    }
    else  if (digitalRead(A2) && digitalRead(A1) && !digitalRead(A3) && !digitalRead(A4)) {
      delay(30);
      turn_right_stop();
    }
    else  if (digitalRead(A2) && !digitalRead(A1) && !digitalRead(A3) && !digitalRead(A4)) {
      delay(30);
      turn_right_stop();
    }
    else  if (!digitalRead(A2) && !digitalRead(A1) && !digitalRead(A3) && !digitalRead(A4)) {
      go_straight();
    }
  }
}
循迹小车,随着电力电子器件的发展,PWM电压型逆变器在交流变频调速、UPS、电能质量控制器、轻型直流输电换流器等电力电子装置中得到了越来越广泛的应用。PWM电压型逆变器直流侧所需的理想无脉动直流电压源通常通过整流加上大直流电容滤波获得。大直流滤波电容的使用,给装置带来占用空间大、成本高及严重影响电能质量方面的问题。因此,研究如何减小甚至去除逆变器直流侧电容,以及解决因其产生的低次谐波和相关问题,具有十分重要的理论意义和实用价值。本文在综述了国内外在PWM电压型逆变器及各种抑制谐波PWM技术的基础上,对目前工程中应用最广泛的SPWM电压型逆变器的主电路及谐波消除调制技术和相关问题进行了深入研究。50年代末晶闸管标志着电力电子半导体期间的开端。电力电子器件经历了40多年的发展历程[1-2],特别是近30多年内更是得到了迅猛的发展[3,4]。以Th(SCR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值