#include <SPI.h>
#define CS 10
// void setup() {
// Serial.begin(115200);
// pinMode(CS, OUTPUT);
// SPI.begin();
// // Инициируем SPI транзакцию для чтения данных температуры
// digitalWrite(CS, LOW);
// delay(10); // небольшая задержка для стабилизации
// // Принимаем двухбайтовое значение температуры
// uint8_t highByte = SPI.transfer(0x00); // Отправляем dummy-байт для чтения старшего байта температуры
// uint8_t lowByte = SPI.transfer(0x00); // Отправляем ещё один dummy-байт для чтения младшего байта
// digitalWrite(CS, HIGH);
// // Объединяем два байта в одно 16-битное значение
// uint16_t temperature = (highByte << 8) | lowByte;
// // Выводим полученные данные
// Serial.print("Data received from SPI device: ");
// Serial.println(temperature);
// }
// void loop() {
// // Пустой цикл loop, так как вся логика в setup()
// }
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(115200);
pinMode(CS, OUTPUT);
SPI.begin();
}
void loop() {
digitalWrite(CS, LOW);
delay(10);
uint8_t highByte = SPI.transfer(0x00);
uint8_t lowByte = SPI.transfer(0x00);
digitalWrite(CS, HIGH);
uint16_t temperature = (highByte << 8) | lowByte;
Serial.print("Data received from SPI device: ");
Serial.println(temperature);
lcd.setCursor(0,0);
lcd.print("Temperature C=");
lcd.setCursor(0,1);
lcd.print(temperature);
delay(5000);
lcd.clear();
}