当前位置:网站首页>Arduino+ds18b20 temperature sensor (buzzer alarm) +lcd1602 display (IIC drive)
Arduino+ds18b20 temperature sensor (buzzer alarm) +lcd1602 display (IIC drive)
2022-07-06 13:19:00 【Lunan wind】
Experimental equipment
arduino mega2560(uno And other series are the same )
ds18b20 Temperature sensor ( Waterproof package )
lcd1602A ( save io mouth , external pcf8574, Four wire drive )
There are several DuPont lines
Introduce
ds18b20
characteristic : Wide voltage range ,3.0~5.5v, Single line transmission of data , Multiple temperature sensors can be connected on three lines , Multi point temperature measurement , When the positive and negative poles are reversed for a short time , Will not burn the chip , But it doesn't work .
Measuring temperature range :-55℃~+125℃
Programmable resolution ,9 A to 12 position , Respectively 0.5℃,0.25℃,0.125℃,0.0625℃. Default 12 Bit accuracy ds18b20, There is an external terminal adapter , If there is no terminal adapter connected externally at the data end 1k The pull-up resistance of about Ω is enough ( The chip resistor on the module is only used 472 o )
Call library , The simple function program is as follows The same is true for references after adding other libraries
Code segment
#include <OneWire.h>
#include <LiquidCrystal_I2C.h> //4 The needle pcf8574 drive lcd1602 library
#include <DallasTemperature.h> //ds18b20 library
#define buzzpin 6 // Define buzzer 6 Pin No
#define Onewire_bus 7 //ds18b20 Connect 7 Pin
OneWire oneWire(Onewire_bus);
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C lcd(0x27,16,2); //LCD1602 Of I2C The address is 0x27,LCD1602 Two lines , Each row 16 Character LCD
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
lcd.init(); // Perform twice LCD Of I2C Communication initialization
delay(20);
lcd.init();
delay(20);
lcd.backlight();// Lighten up LCD Backlight
}
void loop() {
// put your main code here, to run repeatedly:
delay(50);
Serial.print(" Get the temperature :"); // Send a few words
sensors.requestTemperatures(); // Get the temperature
Serial.println(sensors.getTempCByIndex(0));
lcd.setCursor(0, 0); // take LCD The cursor moves to the first position 0,0( Column , That's ok )
lcd.print("temp:");
lcd.print(sensors.getTempCByIndex(0)); // Sensor temperature value
lcd.print(" C"); // Continue the previous statement to write
if(sensors.getTempCByIndex(0)>40) // The temperature is greater than 40 Call the police
{
digitalWrite(buzzpin,HIGH);
}
else
{
digitalWrite(buzzpin,LOW);
}
delay(10);
}
test
There is no water here , Simple touch temperature test Serial port display
if lcd1602IIC The address is not 0x27, You can find it through the following program , Serial port sending address
#include <Wire.h>
void setup() {
Serial.begin (115200);
while (!Serial) { }
Serial.println ();
Serial.println ("I2C scanner.Scanning ...");
byte count = 0;
Wire.begin();
for (byte i = 8; i < 120; i++) {
Wire.beginTransmission (i);
if (Wire.endTransmission () == 0) {
Serial.print ("Found address: ");
Serial.print (i, DEC); Serial.print (" (0x");
Serial.print (i, HEX); Serial.println (")");
count++; delay (1); // maybe unneeded?
} // end of good response
} // end of for loop
Serial.println ("Done.");
Serial.print ("Found ");
Serial.print (count, DEC);
Serial.println (" device(s).");
} // end of setup
void loop() {}
( source csdn, I can't find the original article of the boss , Invasion and deletion )
Have a problem
IIC Wrong address
Welded pcf8574 There is a potentiometer behind the adapter board , If the serial port displays the value normally ,lcd If it is not shown, you can adjust the potentiometer ,lcd After brightness adjustment, it can be displayed
边栏推荐
- 异常:IOException:Stream Closed
- Tyut Taiyuan University of technology 2022 introduction to software engineering examination question outline
- One article to get UDP and TCP high-frequency interview questions!
- Rt-ppp test using rtknavi
- arduino+水位传感器+led显示+蜂鸣器报警
- Record: newinstance() obsolete replacement method
- 阿里云微服务(四) Service Mesh综述以及实例Istio
- Quickly generate illustrations
- [while your roommate plays games, let's see a problem]
- Answer to "software testing" exercise: Chapter 1
猜你喜欢
随机推荐
记录:下一不小心写了个递归
Quickly generate illustrations
系统设计学习(一)Design Pastebin.com (or Bit.ly)
121道分布式面试题和答案
[rtklib] preliminary practice of using robust adaptive Kalman filter under RTK
MySQL Database Constraints
Atomic and nonatomic
记录:newInstance()过时的代替方法
First acquaintance with C language (Part 2)
The port is occupied because the service is not shut down normally
TYUT太原理工大学2022软工导论大题汇总
Heap sort [handwritten small root heap]
《软件测试》习题答案:第一章
13 power map
(超详细onenet TCP协议接入)arduino+esp8266-01s接入物联网平台,上传实时采集数据/TCP透传(以及lua脚本如何获取和编写)
初识C语言(上)
初识指针笔记
Abstract classes and interfaces
Introduction and use of redis
Experience summary of autumn recruitment of state-owned enterprises