Professional Documents
Culture Documents
h>
#include <Wire.h>
#include <UltrasonicSensor.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 6 // Dây dữ liệu được cắm vào chân 6 trên Arduino
OneWire oneWire(ONE_WIRE_BUS); // Thiết lập phiên bản oneWire để giao tiếp với bất
kỳ thiết bị OneWire nào
// (không chỉ IC nhiệt độ Maxim/Dallas)
DallasTemperature sensors(&oneWire); // Truyền tham chiếu oneWire của chúng ta tới
Nhiệt độ Dallas.
//LiquidCrystal LCD(12, 11, 5, 4, 3, 2); //Tạo đối tượng tinh thể lỏng gọi là LCDD
LiquidCrystal_I2C lcd(0x27,16,2);
int trigPin = 9; //Chân Trip cảm biến được kết nối với chân Arduino 9
int echoPin = 7; //Chân Echo của cảm biến được kết nối với chân Arduino 7
int ledPin1 = 8;
int ledPin2 = 10;
int ledPin3 =13;
int buzzer= 5;
int ds20b18=6;
float distance; // Khoảng cách đến mục tiêu tính bằng centimet
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.init();
lcd.backlight();
lcd.init();
lcd.backlight();
lcd.setCursor(2,0);
}
void loop() {
lcd.setCursor(0, 1); //Đặt con trỏ đến cột thứ mười của hàng đầu tiên
lcd.print(" "); //In khoảng trống để xóa hàng
lcd.setCursor(1, 0); // Đặt lại Con trỏ vào cột thứ mười của hàng đầu tiên
lcd.print((int) (distance + 0.5));//In khoảng cách đo được
lcd.print("cm "); //In các đơn vị của bạn
lcd.setCursor(0, 1); // Đặt con trỏ vào cột đầu tiên của hàng thứ hai
lcd.print(""); //In khoảng trống để xóa hàng
lcd.setCursor(0, 1); // Đặt lại Con trỏ về cột đầu tiên của hàng thứ hai
if (distance >= 9) {
lcd.print("LED RED ");
lcd.print(sensors.getTempCByIndex(0));
lcd.print((char)223);
lcd.print ("C");
//digitalWrite (ledPin3, HIGH);
//digitalWrite(buzzer, HIGH);
//tone(buzzer, 500);
}
else if (distance < 6 && distance > 3) {
lcd.print("LED YELLOW ");
lcd.print(sensors.getTempCByIndex(0));
lcd.print((char)223);
lcd.print ("C");
//digitalWrite (ledPin2, HIGH);
}
else (distance < 3); {
lcd.print ("LED GREEN ");
lcd.print(sensors.getTempCByIndex(0));
lcd.print((char)223);
lcd.print ("C");
//igitalWrite(ledPin1, HIGH);
}
if (distance >= 9) {
digitalWrite (ledPin3, HIGH); //Green LED ON
}
else {
digitalWrite(ledPin3, LOW); //Green LED OFF
}
if (distance < 3) {
digitalWrite(ledPin1, HIGH); //Red LED ON
}
else {
digitalWrite(ledPin1, LOW); //Red LED OFF
}