Добрый день всем.Делаю метеостанцию на мега 2560+ тфт дисплей 3,5" Взято из сайта Метеостанция на Arduino mega nrf24l01+ цветной tft дисплей 3,5 дюйма, Видео, Смотреть онлайн. Сразу напишу , автор написал, что схему он не рисовал, собирал на колене, и больше на вопросы не отвечал. Подключил датчик dht11 на пин 2, часы ds3231 на пины 20, 21.Залил скетч появились полтора окошка из 6. И справил данные дисплея, дорисовал остальные окошки, дальше ничего не получается. Если кто делал, прошу выложить скетч, или указать мне мои ошибки.
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
#include "iarduino_RTC.h"
#include <ds3231.h>
#define ds3231pin (20,21);
#include <SPI.h>
#include <RF24.h>
RF24 radio(9, 10);
const uint32_t pipe = 123456789;
#include <Time.h>
#include <UTFT.h>
extern uint8_t nadianne[];
extern uint8_t DotMatrix_M[]; //Подключаем шрифт DotMatrix_M
extern uint8_t DotMatrix_XL_Num[]; //Подключаем шрифт SevenSeg_XXXL_Num
extern uint8_t GroteskBold32x64[];
extern uint8_t GroteskBold24x48[];
extern uint8_t SevenSegNumFontPlusPlus[];
extern uint8_t Dingbats1_XL[];
extern uint8_t GroteskBold16x32[];
extern uint8_t arial_italic[];
extern uint8_t nadianne[];
extern uint8_t hallfetica_normal[];
extern uint8_t various_symbols[];
extern uint8_t Various_Symbols_16x32[];
//extern uint8_t SmallFont[];
UTFT myGLCD(CTE40, 38, 39, 40, 41); // Remember to change the model parameter to suit your display module!
float data1;
float data2;
float data3;
void setup()
{
Serial.begin(9600);
pinMode(9, INPUT);
Serial.print("rx 2");
Serial.println();
dht.begin();
radio.begin();
//radio.setChannel(1);// МОЖНО УБРАТЬ
//radio.setPALevel(RF24_PA_MIN);
// iarduino_RTC (ds3231[,20[,21]])
radio.setDataRate(RF24_250KBPS); // RF24_1MBPS или RF24_2MBPS
radio.openReadingPipe(1,pipe); // открыть канал на приём
//radio.powerUp();
radio.startListening(); // приём
myGLCD.InitLCD(); //Инициализируем дисплей
//myGLCD.fillScr(255, 255, 0); //Закрашиваем дисплей черным цветом
myGLCD.clrScr();
myGLCD.setColor(255, 255, 255);
myGLCD.fillRect(0,4,220,0);
myGLCD.setColor(255, 255, 255);
myGLCD.fillRect(220,4,440,0);
myGLCD.setColor(255, 255, 255);
myGLCD.fillRect(0,180,220,182);
myGLCD.setColor(255, 255, 255);
myGLCD.fillRect(440,180,440,0);
myGLCD.setColor(255, 255, 255);
myGLCD.fillRect(220,90,440,90);
myGLCD.setColor(255, 255, 255);
myGLCD.fillRect(220,180,440,180);
myGLCD.setColor(255, 225, 225);
myGLCD.fillRect(0,280,440,280);
myGLCD.setColor(255, 255, 255);
myGLCD.fillRect(1,270,5,0);
myGLCD.setColor(255, 255, 255);
myGLCD.fillRect(440,280,440,0);
myGLCD.setColor(255, 255, 255);
myGLCD.fillRect(220,280,220,0);
myGLCD.setColor(255, 255, 255); //розовый, 255,225,225 синий,255,225,255 светло голубой
myGLCD.fillRect(218,182,220,0);
myGLCD.setColor(255, 255, 255); //розовый, 255,225,225 синий,255,225,255 светло голубой
myGLCD.fillRect(0,90,220,96);
myGLCD.setColor(255, 0, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("Street temp", 40, 5);
myGLCD.setColor(255, 0, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("mm", 182,110);
myGLCD.setColor(255, 0, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("Hg", 186,125);
myGLCD.setColor(255, 0, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("Pressure", 20,94);
myGLCD.setColor(0, 255, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("Home temp", 235, 5);
myGLCD.setColor(0, 255, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("o", 365,20);
myGLCD.setColor(0, 255, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("C", 380,30);
myGLCD.setColor(0, 255, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("%", 370,110);
myGLCD.setColor(0, 255, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("Humidity", 235,94);
myGLCD.setColor(255, 0, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("o", 180,20);
myGLCD.setColor(255, 0, 255);
myGLCD.setFont(hallfetica_normal);
myGLCD.print("C", 195,30);
}
void loop()
{
float h = dht.readHumidity(); // чтение датчика на пине 2
float t = dht.readTemperature(); // чтение датчика на пине 2
delay(2000);
if (isnan(h) || isnan(t))
{
//Serial.println("Failed to read from DHT sensor!");
return;
}
float hic = dht.computeHeatIndex(t, h, false);
//radio.available();
radio.read(&data1,32);
delay(500);
Serial.println(data1);
//radio.available();
radio.read(&data2,32);
delay(500);
Serial.println(data2);
//radio.available();
radio.read(&data3,32);
delay(500);
Serial.println(data3);
if (data1/133.3 > 730.00)
{
myGLCD.setColor(255, 0, 255);
myGLCD.setFont(Various_Symbols_16x32);
myGLCD.print("Q", 187,141);
}
else if (728.00 < data1/133.3 <730.00)
{
myGLCD.setColor(255, 0, 255);
myGLCD.setFont(Various_Symbols_16x32);
myGLCD.print("P", 187,141);
}
else if (715.00 < data1/133.3 <728.00)
{
myGLCD.setColor(255, 0, 255);
myGLCD.setFont(Various_Symbols_16x32);
myGLCD.print("<>", 187,141);
}
//else
//{
// Действие C
//}
myGLCD.setColor(255, 0, 255);
myGLCD.setFont(GroteskBold32x64);
myGLCD.printNumF(data3, 1, 52, 20);
myGLCD.setColor(255, 0, 255); //Цвет отображения
myGLCD.setFont(GroteskBold32x64); //Шрифт для отображения
myGLCD.printNumF(data1, 1, 20, 110);
myGLCD.setColor(0, 255, 255);
myGLCD.setFont(GroteskBold32x64);
myGLCD.printNumF(data2,1,235,20);
myGLCD.setColor(0, 255, 255);
myGLCD.setFont(GroteskBold32x64);
myGLCD.printNumF(dht.readHumidity(),1,235,110);
//myGLCD.setColor(0, 255, 0);
//myGLCD.fillCircle(70, 205, 17); //Верхняя точка
//myGLCD.fillCircle(90, 225, 3); //Верхняя точка
//myGLCD.fillCircle(85, 221, 3);
//myGLCD.fillCircle(95, 215, 3);
//myGLCD.fillCircle(90, 225, 3);
//myGLCD.fillCircle(90, 225, 3);
//rtc.setTime(12, 0, 0);
//myGLCD.setColor(0, 255, 255);
//myGLCD.setFont(GroteskBold32x64);
//myGLCD.print(rtc.getTimeStr(),20,190);
}