Страница 1 из 1
Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480x272
Добавлено: Ср авг 05, 2020 23:00:54
GFX
Форум по статье Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480x272
статья
материалы

Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Сб авг 08, 2020 15:17:07
veranika
прежде всего хотела поздравить авторов GFX и radioandrei74 за столь интересную конструкцию
вопросы по проекту,
1. где вы расположили датчики bmp280 и DS18b20? абсурдно предполагать что внутри метеостанции! ведь на то и метеостанция чтобы отражать значения температуры и влажности не помещения а уличные значения !
Если все-таки датчики выведены на улицу поделитесь опытом исполнения
2. возможно добавить функционал метеостанции и в место картинок выводить изображение с камеры? например такой
https://aliexpress.ru/item/32969609187. ... 41-_ePNSNV
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Вс авг 09, 2020 20:34:40
GFX
1. может для вас и важна влажность на улице, но у меня есть квартира там и живу, зачем мне влажность на улице? DS18b20 нужно вывести см на 10-15, чтобы измерял именно в комнате. bmp280 внутри. на улице можно что-то измерять при желании, но это геморно- северная сторона здания, правильное устройство, беспроводная надежная экономная передача данных... была идея где-то взять готовые данные по улице (например, с яндекса), но пока забил, уличные значения итак телефон показывает.
2. ну в целом конечно можно, только это не добавить функционал, а сделать заново печатку и прошивку, пока не интересно. цеплять ее на проводах? или беспроводную камеру? все это требовательно к производительности и примененный МК не потянет этого, у него оперативной памяти гулькин нос для работы с jpeg и ничего аппаратного нет.
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Вс авг 09, 2020 23:06:12
radioandrei74
по мне так и необходимо измерять температуру на улице и в квартире,
у меня датчики bmp280 и DS18b20 установлены на улице, смонтированы в отдельном корпусе. метеостанция и датчики соединены между собой витой парой, длина витой пары 1,5 метра, для надежности плату с датчиком bmp280 аккуратно обмазал лаком по дереву. Из за длины кабеля пришлось непосредственно на выводы DS18b20 запаять еще один выводной резистор подтяжки номиналом 10 ком, все выводы датчика одел в термо-усадку и также обмазал лаком.
из функционала я бы добавил еще один датчик DS18b20 для измерения температуры в квартире
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Пн авг 17, 2020 14:47:26
veranika
так в чем проблема? на один пин можно подключить как только Один, если нужно то два, так и несколько датчиков DS18B20.
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Вс авг 23, 2020 19:51:14
Alex_Megavolt_79
Вопрос к автору, кусок кода где инициализация дисплея можно?
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Ср авг 26, 2020 11:53:08
veranika
можно, смотрите статью Индикатор - шилд с TFT 4.3 на stm32f103vet6
https://www.radiokot.ru/artfiles/6511/
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Ср авг 26, 2020 20:10:31
Alex_Megavolt_79
veranika, там нигде не расписана инициализация (мне нужен код), исходников нет, только прошивка.
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Ср авг 26, 2020 22:23:57
GFX
Alex_Megavolt_79,
Спойлер
Код: Выделить всё
LCD_FSMC_Config_low_speed();
// uint16_t HDP=799;
// uint16_t VDP=479;
uint16_t HDP=480-1;
uint16_t VDP=272-1;
WriteComm(0x00E2); //PLL multiplier, set PLL clock to 120M
WriteData(0x0023); //N=0x36 for 6.5M, 0x23 for 10M crystal
WriteData(0x0002);
WriteData(0x0054);
WriteComm(0x00E0); // PLL enable
WriteData(0x0001);
delay_ms(10);
WriteComm(0x00E0);
WriteData(0x0003); // now, use PLL output as system clock
delay_ms(10);
WriteComm(0x0001); // software reset
delay_ms(20);
WriteComm(0x00E6); //PLL setting for PCLK, depends on resolution
//Set LSHIFT freq, i.e. the DCLK with PLL freq 120MHz set previously
//Typical DCLK for TY700TFT800480 is 33.3MHz(datasheet), experiment shows 30MHz gives a stable result
//30MHz = 120MHz*(LCDC_FPR+1)/2^20
//LCDC_FPR = 262143 (0x3FFFF)
//Time per line = (DISP_HOR_RESOLUTION+DISP_HOR_PULSE_WIDTH+DISP_HOR_BACK_PORCH+DISP_HOR_FRONT_PORCH)/30 us = 1056/30 = 35.2us
// WriteData(0x03);
// WriteData(0xff);
// WriteData(0xff);
WriteData(0x0003);
WriteData(0x0033);
WriteData(0x0033);
//Set LSHIFT freq, i.e. the DCLK with PLL freq 120MHz set previously
//Typical DCLK for TY430TFT480272 is 9MHz
//9MHz = 120MHz*(LCDC_FPR+1)/2^20
//LCDC_FPR = 78642 (0x13332)
// WriteData(0x01);
// WriteData(0x33);
// WriteData(0x32);
WriteComm(0x00B0); //LCD SPECIFICATION
WriteData(0x0008); //18 bit TFT panel
WriteData(0x0000); //Hsync+Vsync +DE mode TFT mode
WriteData((HDP>>8)); //Set HDP
WriteData(HDP);
WriteData(VDP>>8); //Set VDP
WriteData(VDP);
WriteData(0x0000);
WriteComm(0x00B4);//HSYNC
WriteData(0x04); //Set HT
WriteData(0x1f);
WriteData(0x00); //Set HPS
WriteData(0xd2);
WriteData(0x00); //Set HPW
WriteData(0x00); //Set HPS
WriteData(0x00);
WriteData(0x00);
WriteComm(0x00B6); //VSYNC
WriteData(0x02); //Set VT
WriteData(0x0c);
WriteData(0x00); //Set VPS
WriteData(0x22);
WriteData(0x00); //Set VPW
WriteData(0x00); //Set FPS
WriteData(0x00);
WriteComm(0x00B8);
WriteData(0x000f); //GPIO is controlled by host GPIO[3:0]=output GPIO[0]=1 LCD ON GPIO[0]=1 LCD OFF
WriteData(0x0001); //GPIO0 normal
WriteComm(0x00BA);
WriteData(0x0001); //GPIO[0] out 1 --- LCD display on/off control PIN
WriteComm(0x0036); //rotation
WriteData(0x00C0);//RGB=BGR
WriteComm(0x003A); //Set the current pixel format for RGB image data
WriteData(0x0060);//18-bit/pixel
WriteComm(0x00F0); //Pixel Data Interface Format
WriteData(0x0003);//16-bit(565 format) data
WriteComm(0x00BC);
WriteData(0x0040);//contrast value
WriteData(0x0080);//brightness value
WriteData(0x0040);//saturation value
WriteData(0x0001);//Post Processor Enable
delay_ms(5);
WriteComm(0x0029); //display on
WriteComm(0x00BE); //set PWM for B/L
WriteData(0x0006);
WriteData(0x0080);
WriteData(0x0001);
WriteData(0x00f0);
WriteData(0x0000);
WriteData(0x0000);
WriteComm(0x00d0);
WriteData(0x000d);
LCD_FSMC_Config();
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Ср авг 26, 2020 22:45:57
Alex_Megavolt_79
GFX, благодарю, но не помогло, у меня экран всё равно не корректно инициализируется.
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Чт авг 27, 2020 13:29:35
GFX
Alex_Megavolt_79, частота кварца и разрешение совпадает? Если разрешение другое-то и инициализация другая. плюс может непропай где?
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Чт авг 27, 2020 13:43:09
Alex_Megavolt_79
GFX, на ардуине всё нормально, специально на алике купил плату переходник, под этот дисплей. Две недели уже бьюсь. То цвета не те, тут даже не в простом перемене RGB-BGR и их вариации, то инициализация неустойчивая, при этом красный очень тёмно красный. Либо устойчивая, красного вообще нет. Все комбинации перепробовал с передачей пикселей, понял одно, что неправильно инициализация тактирования и настройки синхронизации. В Вашей инициализации, фон жёлтый как и должен быть, а буквы вместо красного - жёлтые ближе к песочному. А у Вас на сколько кварц стоит? У меня три экрана 4,3" с разрешением 480х272 , 5" 800х480 и с 7" 800х480 . С 7" проблем нет, а с первыми двумя не получается. И из примеров ардуины брал именно тем с разрешением, что под один и что другой экран.
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Чт авг 27, 2020 16:53:29
GFX
Alex_Megavolt_79, кварц на 10 Мгц стоит, разрешение 480х272.
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Чт авг 27, 2020 18:27:49
Alex_Megavolt_79
GFX, ну да и у меня так же. Буду дальше ковырять.
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Чт авг 27, 2020 20:41:49
GFX
Alex_Megavolt_79, а скорость FMS меняли? при инициализации ее нужно ставить на очень медленную.
Re: Фоторамка-метеостанция на stm32f103ve + SSD1963 4.3" 480
Добавлено: Чт авг 27, 2020 23:00:50
Alex_Megavolt_79
GFX, у меня сейчас вот так
Спойлер
Код: Выделить всё
// Настройка FSMC
FSMC_NORSRAMTimingInitStructure.FSMC_AddressSetupTime = 0x0f;
FSMC_NORSRAMTimingInitStructure.FSMC_AddressHoldTime = 0x01;
FSMC_NORSRAMTimingInitStructure.FSMC_DataSetupTime = 0x0f;
FSMC_NORSRAMTimingInitStructure.FSMC_BusTurnAroundDuration = 0x00;
FSMC_NORSRAMTimingInitStructure.FSMC_CLKDivision = 0x0f;
FSMC_NORSRAMTimingInitStructure.FSMC_DataLatency = 0x00;
FSMC_NORSRAMTimingInitStructure.FSMC_AccessMode = FSMC_AccessMode_A;
задержки по максимуму. Единственное контроллер f407 и частота 168 МГц
P.S.
Аааааааа!!!!!
Нашёл!!! А дело не в бобине!!! На некоторых вариантах инициализации, экран всё таки отображал цвета почти правильно, но тускло и под разным углом обзора по разному цветовые тона отображались(вплоть до того, что жёлтый становился белым, но красный как красны, а вот когда под другим углом жёлтый жёлтый, красный на почти чёрный). Я внимательно сравнил и увидел, что этих вариантах не зедействуется регистр set_post_proc 0xBC, в котором выставляются настройки яркости контрастности и насыщенности. Те параметры которые использовались в Вашей инициализации и в некоторых других, мне почему-то не подходят. Почему, я пока объяснить не могу. Но сейчас уже очень близко по цветовым тонам, что должно отображаться и под разным углом (нужно ещё чуток подобрать, просто бегло, попробовал)