资源简介
基于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
- 上一篇:校园卡信息管理系统
- 下一篇:算法竞赛入门经典 第2版 -刘汝佳清晰非扫描版
评论
共有 条评论