找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 746|回复: 0
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
基本元器件: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 (140.44 KB, 下载次数: 55)

屏幕截图(72).jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

快速回复 返回顶部 返回列表