当前位置:网站首页>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
边栏推荐
- C code implementation of robust estimation in rtklib's pntpos function (standard single point positioning spp)
- Rt-ppp test using rtknavi
- 记录:下一不小心写了个递归
- Basic DOS commands
- TYUT太原理工大学2022数据库大题之概念模型设计
- 记录:动态Web项目servlet访问数据库404错误之解决
- Implementation of Excel import and export functions
- Fundamentals of UD decomposition of KF UD decomposition [1]
- Wechat applet development experience
- Tyut Taiyuan University of technology 2022 introduction to software engineering examination question outline
猜你喜欢
Small exercise of library management system
阿里云微服务(三)Sentinel开源流控熔断降级组件
String类
Role movement in the first person perspective
Tyut Taiyuan University of technology 2022 "Mao Gai" must be recited
TYUT太原理工大学2022数据库大题之概念模型设计
RTKLIB: demo5 b34f. 1 vs b33
Experience summary of autumn recruitment of state-owned enterprises
C code implementation of robust estimation in rtklib's pntpos function (standard single point positioning spp)
Fgui project packaging and Publishing & importing unity & the way to display the UI
随机推荐
初识指针笔记
Several high-frequency JVM interview questions
《软件测试》习题答案:第一章
One article to get UDP and TCP high-frequency interview questions!
Ten minutes to thoroughly master cache breakdown, cache penetration, cache avalanche
Realization of the code for calculating the mean square error of GPS Height Fitting
系统设计学习(一)Design Pastebin.com (or Bit.ly)
ROS machine voice
用栈实现队列
E-R graph to relational model of the 2022 database of tyut Taiyuan University of Technology
初识C语言(下)
A brief introduction to the database of tyut Taiyuan University of technology in previous years
图书管理系统小练习
Experience summary of autumn recruitment of state-owned enterprises
Conceptual model design of the 2022 database of tyut Taiyuan University of Technology
Pride-pppar source code analysis
121 distributed interview questions and answers
All in one 1405: sum and product of prime numbers
记录:初次cmd启动MySQL拒接访问之解决
Interview Essentials: talk about the various implementations of distributed locks!