当前位置:网站首页>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
边栏推荐
- Ten minutes to thoroughly master cache breakdown, cache penetration, cache avalanche
- First acquaintance with C language (Part 2)
- Conceptual model design of the 2022 database of tyut Taiyuan University of Technology
- 【快趁你舍友打游戏,来看道题吧】
- Implementation of Excel import and export functions
- 12 excel charts and arrays
- 一文搞定 UDP 和 TCP 高频面试题!
- Tyut Taiyuan University of technology 2022 "Mao Gai" must be recited
- Novatel board oem617d configuration step record
- 面渣逆袭:Redis连环五十二问,三万字+八十图详解。
猜你喜欢
2年经验总结,告诉你如何做好项目管理
Music playback (toggle & playerprefs)
Design a key value cache to save the results of the most recent Web server queries
One article to get UDP and TCP high-frequency interview questions!
Code example of MATLAB reading GNSS observation value o file
How to ensure data consistency between MySQL and redis?
Heap sort [handwritten small root heap]
Record: the solution of MySQL denial of access when CMD starts for the first time
Abstract classes and interfaces
图书管理系统小练习
随机推荐
Error: sorting and subscript out of bounds
TYUT太原理工大学2022数据库大题之分解关系模式
图书管理系统小练习
错误: 找不到符号
arduino+DS18B20温度传感器(蜂鸣器报警)+LCD1602显示(IIC驱动)
[Topic terminator]
2022 National Games RE1 baby_ tree
How do architects draw system architecture blueprints?
Abstract classes and interfaces
First acquaintance with C language (Part 2)
String类
TYUT太原理工大学2022软工导论大题汇总
MYSQL索引钟B-TREE ,B+TREE ,HASH索引之间的区别和应用场景
Error: symbol not found
Alibaba cloud microservices (II) distributed service configuration center and Nacos usage scenarios and implementation introduction
FileInputStream和BufferedInputStream的比较
TYUT太原理工大学2022数据库大题之数据库操作
CorelDRAW plug-in -- GMS plug-in development -- Introduction to VBA -- GMS plug-in installation -- Security -- macro Manager -- CDR plug-in (I)
学编程的八大电脑操作,总有一款你不会
Wechat applet development experience