单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:1070|回复:0

Arduino单片机短距离无线温度实时传输代码

[复制链接]
ID:1083792发表于 2023-6-23 01:52|显示全部楼层
基本元器件:LCD1602显示(IIC驱动)、DS18B20温度传感器、NRF24L01、Arduino-UNO板。

有LCD1602显示的接收端主机代码:
#include< OneWire.h>
#include< DallasTemperature.h>
#include< nRF24L01.h>
#include< RF24.h>
#include< Wire.h>
#include< LiquidCrystal_I2C.h>
#define CE_PIN 9
#define CSN_PIN 10
#define CHANNEL 108
// DS18B20温度模块连接的引脚
#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

RF24 radio(CE_PIN, CSN_PIN);
const byte address[6] = "00001";
// I2C显示屏连接的地址
LiquidCrystal_I2C lcd(0x27,16,2);

void setup() {
   Serial.begin(9600);
   sensors.begin();
   radio.begin();
   radio.setChannel(CHANNEL);
   radio.openReadingPipe(0, address);
   radio.startListening();
   lcd.init();
   lcd.backlight();
   }

void loop() {
   if(radio.available()) {
   float indoorTemp;
   radio.read(&indoorTemp, sizeof(indoorTemp));
   Serial.print("Indoor:");
   Serial.print(indoorTemp);
   Serial.print("℃");
   sensors.requestTemperatures();
   float outdoorTemp = sensors.getTempCByIndex(0);
   lcd.setCursor(0, 0);
   lcd.print("Indoor:");
   lcd.print(outdoorTemp);
   lcd.print("C");
   lcd.setCursor(0, 1);
   lcd.print("Outdoor:");
   lcd.print(indoorTemp);
   lcd.print("C");
   }
   delay(100);
   }

发射外界温度信息的从机代码:
#include< OneWire.h>
#include< DallasTemperature.h>
#include< nRF24L01.h>
#include< RF24.h>
#define CE_PIN 9
#define CSN_PIN 10
#define CHANNEL 108// DS18B20温度模块连接的引脚
#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

RF24 radio(CE_PIN, CSN_PIN);
const byte address[6] = "00001";

void setup() {
   Serial.begin(9600);
   sensors.begin();
   radio.begin();
   radio.setChannel(CHANNEL);
   radio.openWritingPipe(address);
   radio.setPALevel(RF24_PA_MIN); }

void loop() {
   sensors.requestTemperatures();
   float outdoorTemp = sensors.getTempCByIndex(0);
   Serial.print("Outdoor:");
   Serial.print(outdoorTemp);
   Serial.print("℃");
   radio.write(&outdoorTemp, sizeof(outdoorTemp));
   delay(1000); }
屏幕截图(72).jpg

手机版|小黑屋|51黑电子论坛|51黑电子论坛6群QQ管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网