// ====================================================
// 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.
// ====================================================
#include <LiquidCrystal.h>
LiquidCrystal lcd(0, 1, 4, 5, 6, 7);
#define PIN_HCSR04_TRIG 8
#define PIN_HCSR04_ECHO 9
float HCSR04_Duration = 0.0;
float HCSR04_Distance = 0.0;
void setup() {
pinMode(PIN_HCSR04_TRIG, OUTPUT);
pinMode(PIN_HCSR04_ECHO, INPUT);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("WAIT...");
Serial.begin(9600);
}
void loop() {
lcd.setCursor(0,0);
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){
lcd.print("OUT OF RANGE");
Serial.println("Out of range");
} else {
if(HCSR04_Distance > 0 && HCSR04_Distance <= 15){
lcd.print("TOO CLOSE");
} else if(HCSR04_Distance > 15 && HCSR04_Distance <= 30){
lcd.print("CLOSE");
} else if(HCSR04_Distance > 30 && HCSR04_Distance <= 40){
lcd.print("FAR");
} else if(HCSR04_Distance > 40 && HCSR04_Distance <= 60){
lcd.print("TOO FAR");
}
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题
- 复习题包含翻译
- 第六章 快速复习
- 第一节 英文解说