基于arduino的小车(家庭防盗小车、自动大灯、智能寻光)

★★★★★★  家庭防盗小车:通过人体检测模块检测是否有人,来开启蜂鸣器报警。

★★★★★★  自动大灯:通过车载感光元件检测亮度,自动开关灯。

★★★★★★  智能寻光:采用光敏传感器,检测车头各个方向的亮度,完成自动跟踪。

作者:sumjess

 

获取该源码方式:

1、CSDN下载:

     ① 寻光:https://download.csdn.net/download/qq_38351824/11107066

     ② 防盗:https://download.csdn.net/download/qq_38351824/11107115

     ③ 大灯:https://download.csdn.net/download/qq_38351824/11107123

2、可以关注点赞并在下方评论,我给你邮箱发过去。

 

3、关注微信公众号下载:

     ① 关注微信公众号:Tech云  

     ②

一、家庭防盗小车

该部分的程序是有两部分组成的,一部分是由我之前写的博客------避障小车,构成家庭防盗小车的动力部分另一部分是家庭防盗系统,以下就只写该车这部分的内容,两部分拼在一起就构成了全部。

这一部分其实也很简单,使用的是人体检测模块(资料下载:https://download.csdn.net/download/qq_38351824/10601569

我就直接写出这一部分的程序了:

#define val analogRead(A0)  //ADC采集
#define beep_pin 2 

void beep(void);           //蜂鸣器警报

void setup()
{
  pinMode(beep_pin, OUTPUT);      //蜂鸣器引脚初始化
}

void loop()
{
  if(val==550) beep();    //如果检测到人开始警报
 
}
void beep(void)
{
  digitalWrite(beep_pin, HIGH);   // 使蜂鸣器响
  delay(100);              // 延迟0.1秒
  digitalWrite(beep_pin, LOW);    // 使蜂鸣器灭
  delay(100);              // 延迟0.1秒
}


二、自动大灯

该部分的程序是有两部分组成的,一部分是由我之前写的博客------避障小车,构成动力部分另一部分是自动开灯系统,以下就只写该车这部分的内容,两部分拼在一起就构成了全部。

这一部分其实也很简单,使用的是光敏电阻模块(资料下载:https://download.csdn.net/download/qq_38351824/10601580

或光敏二极管模块(资料下载:https://download.csdn.net/download/qq_38351824/10601584

我就直接写出这一部分的程序了:

#define val analogRead(A1)  //光敏ADC采集
#define LED_pin 2 

void setup()
{
  pinMode(LED_pin, OUTPUT);      //LED引脚初始化
}

void loop()
{
  if(val==798)  digitalWrite(LED_pin, HIGH);     //如果检测到天黑开始点灯
  else digitalWrite(LED_pin, LOW);   
}

三、智能寻光

话不多说直接上代码,很简单

#define val2 analogRead(A1)  //光敏ADC采集
#define val3 analogRead(A2)  //光敏ADC采集
#define val4 analogRead(A3)  //光敏ADC采集
#define LED_pin 3 
void LED(void);//自动开大灯
void LED2(void);//寻灯

void setup()
{
  pinMode(LED_pin, OUTPUT);      //LED引脚初始化
  motor_pinint();        //电机引脚初始化
}

void loop()
{
  if(val==798)  digitalWrite(LED_pin, HIGH);     //如果检测到天黑开始点灯
  else digitalWrite(LED_pin, LOW);  
  LED2();
}
/*电机引脚初始化*/
void motor_pinint( )
{
  pinMode (leftA_PIN, OUTPUT); //设置引脚为输出引脚
  pinMode (leftB_PIN, OUTPUT); //设置引脚为输出引脚
  pinMode (righA_PIN, OUTPUT); //设置引脚为输出引脚
  pinMode (righB_PIN, OUTPUT); //设置引脚为输出引脚
  }
/**************************************************
forward子函数——前进子函数
函数功能:控制车前进
**************************************************/
void forward( )
{
  analogWrite(leftA_PIN,120);      
  analogWrite(leftB_PIN,0);         //左轮前进
  analogWrite(righA_PIN,120);      
  analogWrite(righB_PIN,0);         //右轮前进
}
/**************************************************
turnLeft子函数——左转子函数
函数功能:控制车左转
**************************************************/
void turnLeft( )
{
  analogWrite(leftA_PIN,0);      
  analogWrite(leftB_PIN,0);         //左轮静止不动
  analogWrite(righA_PIN,120);      
  analogWrite(righB_PIN,0);         //右轮前进
}
void turnbackRight( )
{
  analogWrite(leftA_PIN,0);      
  analogWrite(leftB_PIN,120);         //左轮后退
  analogWrite(righA_PIN,0);      
  analogWrite(righB_PIN,0);         //右轮静止不动
}
 void LED(void)
{
  if(val2==798)  digitalWrite(LED_pin, HIGH);     //如果检测到天黑开始点灯
  else digitalWrite(LED_pin, LOW);   
  }
 void LED2(void)
{
  /*val2 val3 val4*/
  if((val3>=val2)&&(val3>=val4))    forward( );        //如果中间最大,直行
  else if((val2>val3)&&(val2>val4)) turnLeft( );       //如果左边最大,左转
  else                              turnbackRight( );  //如果右边最大,右转
  }

小编觉得没有什么难点就没有详细的写,大家如果有任何疑问,可在下方提出。

 

 

  • 10
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值