zoukankan      html  css  js  c++  java
  • ardunio 实验:超声波测距、声光报警模拟倒车雷达

    所用元件:

         1、Arduino 2012 UNO R3开发板
         2、超声波模块:HC-SR04
         3、LED \ 蜂鸣器

    功能:

    • 输出测距信息至串口
    • 距离20CM 蜂鸣器开始报警,LED闪烁
    • 20CM 到 3CM 间 报警音不断急促,3CM内报警音长鸣,LED长亮

    代码:

     1 int beeppin = 8;
     2 int ledpin=9;
     3 int echo= 6;
     4 int trig=7;
     5 unsigned long time_echo=0; // record the pulse width by sensor returns
     6 unsigned long distance =0; // record the distance value;
     7  
     8 void setup(){
     9    Serial.begin(9600);
    10    pinMode(beeppin,OUTPUT);
    11    pinMode(ledpin,OUTPUT);   
    12    pinMode(echo,INPUT);
    13    pinMode(trig,OUTPUT);
    14 }
    15  
    16 void loop(){
    17   digitalWrite(trig,HIGH);  //send pulse
    18   delayMicroseconds(80);    //set pulse width with 50us(>10us)
    19   digitalWrite(trig,LOW);   //stop send
    20  
    21   time_echo = pulseIn(echo,HIGH); //get return pulse width
    22   if((time_echo<60000)&&(time_echo>1)) //valid scope 1-60000
    23   {
    24     distance = (time_echo*34/100)/2; //mm   
    25     if(distance < 200)
    26      {
    27       if(distance<30){
    28         digitalWrite(beeppin,HIGH);
    29         digitalWrite(ledpin,HIGH);
    30       }else{   
    31         alert(distance/2);
    32       }
    33      }
    34     Serial.print(distance,DEC);
    35     Serial.println('\n');
    36  
    37   }
    38   delay(100);
    39 }
    40 void alert(unsigned i){
    41   digitalWrite(beeppin,HIGH);
    42   digitalWrite(ledpin,HIGH);
    43   delay(i);
    44   digitalWrite(beeppin,LOW);
    45   digitalWrite(ledpin,LOW);
    46   delay(i);
    47 }
  • 相关阅读:
    [Python]执行Linux命令
    [Linux]命令返回值以及错误对照表
    [ERROR]pip insall pyodbc
    [CentOS7]安装ODBC Driver 17 for SQL Server
    [Python]获取字典所有值
    [Python]判断变量类型是否为List列表
    十分钟了解pandas
    Docker容器化技术(上)
    C语言位域
    PAT基础级-钻石段位样卷2-7-7 危险品装箱 (25 分)
  • 原文地址:https://www.cnblogs.com/vmax/p/2733730.html
Copyright © 2011-2022 走看看