当前位置:网站首页>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
边栏推荐
- 国企秋招经验总结
- Abstract classes and interfaces
- MYSQL索引钟B-TREE ,B+TREE ,HASH索引之间的区别和应用场景
- A brief introduction to the database of tyut Taiyuan University of technology in previous years
- What are the advantages of using SQL in Excel VBA
- 六种集合的遍历方式总结(List Set Map Queue Deque Stack)
- MySQL backup -- common errors in xtrabackup backup
- 4.30动态内存分配笔记
- 十分鐘徹底掌握緩存擊穿、緩存穿透、緩存雪崩
- Tyut outline of 2022 database examination of Taiyuan University of Technology
猜你喜欢
Edit distance (multi-source BFS)
Problems and solutions of robust estimation in rtklib single point location spp
Common method signatures and meanings of Iterable, collection and list
阿里云微服务(四) Service Mesh综述以及实例Istio
TYUT太原理工大学2022软工导论大题汇总
Application architecture of large live broadcast platform
C code implementation of robust estimation in rtklib's pntpos function (standard single point positioning spp)
MPLS experiment
十分钟彻底掌握缓存击穿、缓存穿透、缓存雪崩
2022 National Games RE1 baby_ tree
随机推荐
Record: the solution of MySQL denial of access when CMD starts for the first time
String类
继承和多态(上)
Code example of MATLAB reading GNSS observation value o file
Application architecture of large live broadcast platform
The port is occupied because the service is not shut down normally
Design a key value cache to save the results of the most recent Web server queries
MySQL 30000 word essence summary + 100 interview questions, hanging the interviewer is more than enough (Collection Series
分支语句和循环语句
Implementation of Excel import and export functions
[rtklib] preliminary practice of using robust adaptive Kalman filter under RTK
系统设计学习(一)Design Pastebin.com (or Bit.ly)
Branch and loop statements
2022 National Games RE1 baby_ tree
Alibaba cloud microservices (I) service registry Nacos, rest template and feign client
【话题终结者】
学编程的八大电脑操作,总有一款你不会
RTKLIB: demo5 b34f. 1 vs b33
How do architects draw system architecture blueprints?
Record: solution of 404 error of servlet accessing database in dynamic web project