// ====================================================
// ArduExams Copyright(C) 2018 Furkan Türkal
// This program comes with ABSOLUTELY NO WARRANTY; This is free software,
// and you are welcome to redistribute it under certain conditions; See
// file LICENSE, which is part of this source code package, for details.
// ====================================================
#define PIN_HCSR04_TRIG 8
#define PIN_HCSR04_ECHO 9
#define PIN_LED1 4
#define PIN_LED2 5
#define PIN_LED3 6
#define PIN_LED4 7
float HCSR04_Duration = 0.0;
float HCSR04_Distance = 0.0;
void setup() {
pinMode(PIN_HCSR04_TRIG, OUTPUT);
pinMode(PIN_HCSR04_ECHO, INPUT);
pinMode(PIN_LED1, OUTPUT);
pinMode(PIN_LED2, OUTPUT);
pinMode(PIN_LED3, OUTPUT);
pinMode(PIN_LED4, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(PIN_HCSR04_TRIG, LOW);
delayMicroseconds(2);
digitalWrite(PIN_HCSR04_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_HCSR04_TRIG, LOW);
HCSR04_Duration = pulseIn(PIN_HCSR04_ECHO, HIGH);
HCSR04_Distance = (HCSR04_Duration / 2) / 29.1;
if (HCSR04_Distance >= 200 || HCSR04_Distance <= 0){
digitalWrite(PIN_LED1, LOW);
digitalWrite(PIN_LED2, LOW);
digitalWrite(PIN_LED3, LOW);
digitalWrite(PIN_LED4, LOW);
Serial.println("Out of range");
} else {
if(HCSR04_Distance > 0 && HCSR04_Distance <= 15){
digitalWrite(PIN_LED1, HIGH);
digitalWrite(PIN_LED2, HIGH);
digitalWrite(PIN_LED3, HIGH);
digitalWrite(PIN_LED4, HIGH);
} else if(HCSR04_Distance > 15 && HCSR04_Distance <= 30){
digitalWrite(PIN_LED1, HIGH);
digitalWrite(PIN_LED2, HIGH);
digitalWrite(PIN_LED3, HIGH);
digitalWrite(PIN_LED4, LOW);
} else if(HCSR04_Distance > 30 && HCSR04_Distance <= 40){
digitalWrite(PIN_LED1, HIGH);
digitalWrite(PIN_LED2, HIGH);
digitalWrite(PIN_LED3, LOW);
digitalWrite(PIN_LED4, LOW);
} else if(HCSR04_Distance > 40 && HCSR04_Distance <= 60){
digitalWrite(PIN_LED1, HIGH);
digitalWrite(PIN_LED2, LOW);
digitalWrite(PIN_LED3, LOW);
digitalWrite(PIN_LED4, LOW);
}
Serial.print("Distance = ");
Serial.print(HCSR04_Distance);
Serial.print(" cm");
Serial.println();
}
delay(1000);
}
- 序言
- 第一章 arduino简介和学习
- 第一节 arduino介绍
- 第二节 学习方法概述
- 第三节 计算机的智能
- 第二章 开始学习之旅
- 第一节 安装环境和购买硬件的说明
- 第二节 介绍一个具体的范例
- 第三章 分类官网教程讲解
- 第一节 Basics类的示例项目
- 第二节 数字端口的示例
- 第三节 模拟端口的示例
- 第四节 串口通信的示例
- 第五节 LED显示的示例
- 第六节 arduino处理矩阵键盘
- 第七节 LCD显示范例
- 第四章 综合实践项目制作教程
- 第一节 简单的计算器
- 第五章 复习题
- 单选题
- 编程题目
- 单选题答案
- 编程题答案
- 第1题
- 第2题
- 第3题
- 第4题
- 第5题
- 第6题
- 第7题
- 第8题
- 第9题
- 第10题
- 第11题
- 第12题
- 第13题
- 第14题
- 第15题
- 第16题
- 第17题
- 复习题包含翻译
- 第六章 快速复习
- 第一节 英文解说