• 大小: 7KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-12-27
  • 语言: C/C++
  • 标签: 树莓派  智能小车  

资源简介

基于c语言编写的树莓派智能小车开发的源代码,包括远程遥控,超声避障,黑线循迹,红外避障/物体追踪等功能。

资源截图

代码片段和文件信息

#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include 
#define Trig 28
#define Echo 29
#define LEFT 27
#define RIGHT 26
#define BUFSIZE 512

#define MOTOR_GO_FORWARD   digitalWrite(1HIGH);digitalWrite(4LOW);digitalWrite(5HIGH);digitalWrite(6LOW)
#define MOTOR_GO_BACK    digitalWrite(4HIGH);digitalWrite(1LOW);digitalWrite(6HIGH);digitalWrite(5LOW)
#define MOTOR_GO_RIGHT    digitalWrite(1HIGH);digitalWrite(4LOW);digitalWrite(6HIGH);digitalWrite(5LOW)
#define MOTOR_GO_LEFT    digitalWrite(4HIGH);digitalWrite(1LOW);digitalWrite(5HIGH);digitalWrite(6LOW)
#define MOTOR_GO_STOP    digitalWrite(1 LOW);digitalWrite(4LOW);digitalWrite(5 LOW);digitalWrite(6LOW)

void run()     // 前进
{
    softPwmWrite(40); //左轮前进
softPwmWrite(1250); 
softPwmWrite(60); //右轮前进
softPwmWrite(5250); 

 
}

void brake()         //刹车,停车
{
    softPwmWrite(10); //左轮
softPwmWrite(40); 
softPwmWrite(50); //stop
softPwmWrite(60); 
  
}

void left()         //左转()
{
    softPwmWrite(4250); //左轮
softPwmWrite(10); 
softPwmWrite(60); //右轮前进
softPwmWrite(5250); 

}



void right()        //右转()
{
    softPwmWrite(40); //左轮前进
softPwmWrite(1250); 
softPwmWrite(6250); //右轮
softPwmWrite(50); 

}



void back()          //后退
{
    softPwmWrite(1250); //左轮back
softPwmWrite(40); 
softPwmWrite(5250); //右轮back
   softPwmWrite(60); 
 
}
int main(int argc char *argv[])
{

    float dis;

   // char buf[BUFSIZE]={0xff0x000x000x000xff};

int SR;
int SL;
    /*RPI*/
    wiringPiSetup();
    /*WiringPi GPIO*/
    pinMode (1 OUTPUT); //IN1
    pinMode (4 OUTPUT); //IN2
    pinMode (5 OUTPUT); //IN3
    pinMode (6 OUTPUT); //IN4
    // pinMode (27 OUTPUT); //舵机信号输出
    softPwmCreate(11500);   
    softPwmCreate(41500);
    softPwmCreate(51500);
    softPwmCreate(61500);
    // softPwmCreate(27150);
//softPwmWrite(271);

 while(1)
  {
  //有信号为LOW  没有信号为HIGH
  SR = digitalRead(RIGHT);//有信号表明在白色区域,车子底板上L亮;没信号表明压在黑线上,车子底板上L灭
  SL = digitalRead(LEFT);//有信号表明在白色区域,车子底板上L亮;没信号表明压在黑线上,车子底板上L灭
  if (SL == LOW&&SR==LOW){
   printf(“GO“);
   run();
   
  }
  else if (SL == HIGH&&SR == LOW){
  printf(“RIGHT“);

 left();
  
  }
  else if (SR == HIGH&&SL == LOW) {// 右循迹红外传感器检测到信号,车子向左偏离轨道,向右转  
  printf(“LEFT“);
  
  right ();
  }
  else {// 都是白色 停止
 printf(“STOP“);
 brake();
 }
  }

 
  return 0;

}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2812  2018-01-19 18:17  小车C语言代码\红外物体追踪\zhz.c

     文件       3157  2018-01-19 18:17  小车C语言代码\红外避障\hwbz.c

     文件       2257  2018-01-19 18:17  小车C语言代码\超声避障pwm\csb.c

     文件       5706  2018-01-19 18:17  小车C语言代码\远程遥控\car_server.c

     文件       2814  2018-01-19 18:17  小车C语言代码\黑线循迹\xunji.c

     目录          0  2018-01-22 11:01  小车C语言代码\红外物体追踪

     目录          0  2018-01-22 11:01  小车C语言代码\红外避障

     目录          0  2018-01-22 11:01  小车C语言代码\超声避障pwm

     目录          0  2018-01-22 11:01  小车C语言代码\远程遥控

     目录          0  2018-01-22 11:01  小车C语言代码\黑线循迹

     目录          0  2018-01-22 11:01  小车C语言代码

----------- ---------  ---------- -----  ----

                16746                    11


评论

共有 条评论