zoukankan      html  css  js  c++  java
  • 智能小车代码

    #include "Syn6288.h"
    Syn6288 syn;
    uint8_t text1[]={0xD0,0xA1,0xC5,0xA3,0xC5,0xA3,0xC7,0xB0,0xBD,0xF8}; //小牛牛前进
    uint8_t text2[]={0xC7,0xEB,0xD7,0xA2,0xD2,0xE2,0xB5,0xB9,0xB3,0xB5}; //请注意倒车
    uint8_t text3[]={0xD7,0xF3,0xD7,0xAA};//左转
    uint8_t text4[]={0xD3,0xD2,0xD7,0xAA};//左转
    unsigned char PWM = 255;
    int incomingByte = 0;
    int speed=254;
    //Right 2
    int pinA1=23;
    int pinA2=22;
    int speedpinA=3;//定义EA(PWM调速)接口

    //Left 2
    int pinB1=24;
    int pinB2=25;
    int speedpinB=2;//定义EB(PWM调速)接口

    //Right 1
    int pinC1=26;
    int pinC2=27;
    int speedpinC=5;//定义EC(PWM调速)接口

    //Left 1
    int pinD1=28;
    int pinD2=29;
    int speedpinD=4;//定义ED(PWM调速)接口

    int D0=33;
    int D1=32;
    int D2=31;
    int D3=30;

    void setup()
    {
    pinMode(pinA1,OUTPUT);
    pinMode(pinA2,OUTPUT);
    pinMode(pinB1,OUTPUT);
    pinMode(pinB2,OUTPUT);
    pinMode(pinC1,OUTPUT);
    pinMode(pinC2,OUTPUT);
    pinMode(pinD1,OUTPUT);
    pinMode(pinD2,OUTPUT);

    pinMode(D0,INPUT);
    pinMode(D1,INPUT);
    pinMode(D2,INPUT);
    pinMode(D3,INPUT);
    Serial.begin(9600);
    }
    void loop()
    {

    int D0_Value=digitalRead(D0);
    int D1_Value=digitalRead(D1);
    int D2_Value=digitalRead(D2);
    int D3_Value=digitalRead(D3);
    if(D1_Value==HIGH)
    {
    back(speed);

    syn.play(text2,sizeof(text2),3);

    Serial.println("back");

    }
    if(D0_Value==HIGH)
    {

    advance(speed);
    syn.play(text1,sizeof(text1),3);
    Serial.println("advance");
    }
    if(D2_Value==HIGH)
    {
    left(speed);

    syn.play(text3,sizeof(text3),3);

    Serial.println("left");
    }
    if(D3_Value==HIGH)
    {
    syn.play(text4,sizeof(text4),3);
    right(speed);
    Serial.println("right");
    }
    if(D0_Value==LOW && D1_Value==LOW && D2_Value==LOW && D3_Value==LOW)
    {
    stop();
    }
    }

    void advance(int a)//前进
    {
    analogWrite(speedpinA,a);
    analogWrite(speedpinB,a);
    analogWrite(speedpinC,a);
    analogWrite(speedpinD,a);
    digitalWrite(pinA1,LOW);
    digitalWrite(pinA2,HIGH);
    digitalWrite(pinB1,LOW);
    digitalWrite(pinB2,HIGH);
    digitalWrite(pinC1,LOW);
    digitalWrite(pinC2,HIGH);
    digitalWrite(pinD1,LOW);
    digitalWrite(pinD2,HIGH);
    }

    void back(int a)//后退
    {
    analogWrite(speedpinA,a);
    analogWrite(speedpinB,a);
    analogWrite(speedpinC,a);
    analogWrite(speedpinD,a);
    digitalWrite(pinA1,HIGH);
    digitalWrite(pinA2,LOW);
    digitalWrite(pinB1,HIGH);
    digitalWrite(pinB2,LOW);
    digitalWrite(pinC1,HIGH);
    digitalWrite(pinC2,LOW);
    digitalWrite(pinD1,HIGH);
    digitalWrite(pinD2,LOW);
    }

    void left(int a)//左转
    {
    analogWrite(speedpinA,a);
    analogWrite(speedpinB,a);
    analogWrite(speedpinC,a);
    analogWrite(speedpinD,a);
    digitalWrite(pinA1,LOW);
    digitalWrite(pinA2,HIGH);
    digitalWrite(pinB1,HIGH);
    digitalWrite(pinB2,LOW);
    digitalWrite(pinC1,LOW);
    digitalWrite(pinC2,HIGH);
    digitalWrite(pinD1,HIGH);
    digitalWrite(pinD2,LOW);
    }

    void right(int a)//右转
    {
    analogWrite(speedpinA,a);
    analogWrite(speedpinB,a);
    analogWrite(speedpinC,a);
    analogWrite(speedpinD,a);
    digitalWrite(pinA1,HIGH);
    digitalWrite(pinA2,LOW);
    digitalWrite(pinB1,LOW);
    digitalWrite(pinB2,HIGH);
    digitalWrite(pinC1,HIGH);
    digitalWrite(pinC2,LOW);
    digitalWrite(pinD1,LOW);
    digitalWrite(pinD2,HIGH);
    }

    void stop()//停止
    {
    digitalWrite(pinA1,LOW);
    digitalWrite(pinA2,LOW);
    digitalWrite(pinB1,LOW);
    digitalWrite(pinB2,LOW);
    digitalWrite(pinC1,LOW);
    digitalWrite(pinC2,LOW);
    digitalWrite(pinD1,LOW);
    digitalWrite(pinD2,LOW);
    }

  • 相关阅读:
    了解运行时类型信息(RTTI)
    linux培训笔记1
    Delphi 的各种错误信息(中英文)
    delphi XML 原来可以玩接口
    wxWidgets初学者导引(2)——下载、安装wxWidgets
    Delphi中ADO异步执行方式
    模态运行EXE程序
    window.setTimeout()函数的使用
    应用程序的关闭退出(在FMX中,Activity替代了Form的概念)
    Dll方式的线程,需要引用这个
  • 原文地址:https://www.cnblogs.com/chinatefl/p/2860003.html
Copyright © 2011-2022 走看看