Гость Илья

Зеркало с информацией

5 сообщений в этой теме

Гость Илья   
Гость Илья

Доброго времени суток, уважаемые читатели. Решил собрать зеркало в ванную комнату, такое, чтоб новости сообщало, погоду, время, и еще показания пары датчиков. Внешне будет смотреться органично, выложу проект, пока что заказываю комплектующие. 

Возник следующий вопрос; возможно ли на stm32 сделать какую-никакую графику, чтоб при этом работала не как слайд шоу? K примеру, на дисплее погода, махнул рукой, появились новости, выбрал нужную, читаешь, перелистываешь.

Встраивать малинку считаю нецелесообразным, все-таки зеркало, а не медиа-центр.

Жду ваших советов!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
andryxa    221

Возможно, даже со слайдшоу и анимацией, сам хочу такое сделать. Только задумка у вас изначально ущербная, большую диагональ к стм32 цеплять смысла нету, а маленький дисплей на большем зеркале будет не красиво смотреться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vanchelsing    0
11 минуту назад, andryxa сказал:

Возможно, даже со слайдшоу и анимацией, сам хочу такое сделать. Только задумка у вас изначально ущербная, большую диагональ к стм32 цеплять смысла нету, а маленький дисплей на большем зеркале будет не красиво смотреться.

Большой это сколько? 

Можете варианты кроме малины посоветовать? (не хочу 3к на мозги зеркала тратить)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
fessit    49

Б/У планшет или телефон с соответствующими программами, общение с датчиками через bluetooth...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vanchelsing    0

Такой вариант я не рассматриваю. С функционалом определился, пытаюсь выяснить что взять за основу.

Впринцепе у малинки есть куча преимуществ, можно и фронталку запилить, и потоковое видео, НО цена выше stm'ки в разы. 

Кто-нибудь пользовался кмиайскими клонами малины?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: Crendelek
      Требуется консультация либо шабашка  с оплатой за написание кода к SPC560D30L1
    • Автор: Aven
      Продам остатки от производства:
      Микроконтроллер STM32L151C8T6 - 19шт. 200 руб. штука, все скопом - 3000р.
      Кварцы KX-9A 8МГц в ленте 100шт. по 30р. шт., оптом - 2500р. за все.
      Все компоненты новые, не паянные. Пересылка за ваш счет из Ростова-на Дону.
      Связь через ЛС.
    • Автор: Тимур1992
      Доброго времени суток.
      Решил пробудить свои скилы по написанию программ под stm32f103. Поигрался с SMT32CUDEMX и HAL, но вернулся к SLP библиотеке.  Начал постепенно наращивать программу по примерам, начиная с GPIO, тактирования и на работе c USART встал. Суть в том что передача по UART идет нормально, а вот прием приводит к "зависанию". Устанавливая бесконечные while с мигалками внутри, я выяснил что по все видимости МК не переходит в прерывания USART1_IRQHandler. Я не могу понять в чем ошибка, раньше с таким не сталкивался, хотя написал несколько программ для stm32f100 .____.
      Среда разработки Atollic TrusStudio 9.0.0.
       
      #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_usart.h" #include "misc.h" #include <string.h> // тактовый светодиод для индикации #define LED GPIO_Pin_5 #define RX_BUF_SIZE 80 volatile char RX_FLAG_END_LINE = 0; volatile char RXi; volatile char RXc; volatile char RX_BUF[RX_BUF_SIZE] = {'\0'}; volatile char buffer[80] = {'\0'}; void init_GPIO(void); void SetSysClockTo72(void); void init_uart(void); void clear_RXBuffer(void); void USARTSend(const char *pucBuffer); void USART1_IRQHandler(void) { GPIO_ResetBits(GPIOA, LED); //GPIOA->ODR ^= LED; //USART_ITConfig(USART1, USART_IT_RXNE, DISABLE); //if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) { //if ((USART1->SR & USART_FLAG_RXNE) != RESET) { //if ((USART1->SR & USART_SR_RXNE) != (u16)RESET) { if (USART1->SR & USART_SR_RXNE) { // Сбрасываем флаг прерывания USART1->SR &=~ USART_SR_RXNE; //RXc = USART_ReceiveData(USART1); //RX_BUF[RXi] = RXc; //RXi++; //if (RXc != 13) { // if (RXi > RX_BUF_SIZE-1) { // clear_RXBuffer(); // } //} //else { // RX_FLAG_END_LINE = 1; //} //Echo //USARTSend("Interrapt_UART1\r\n"); //USART_SendData(USART1, RXc); } //return } int main(void) { int i; //SetSysClockTo72(); init_GPIO(); init_uart(); USARTSend("Test USART1\r\n"); while (1) { //if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_9) != 0) { /* Toggle LED which connected to PC13*/ GPIOA->ODR ^= LED; // Invert C13 /* delay */ for(i=0;i<0x100000;i++); /* Toggle LED which connected to PC13*/ GPIOA->ODR ^= LED; /* delay */ for(i=0;i<0x100000;i++); USARTSend("Test USART1\r\n"); //} //else { //GPIO_SetBits(GPIOA, LED); //} } } void init_GPIO(void) { // Создаем класс для постепенной настройки параметров и единовременного применени¤ GPIO_InitTypeDef GPIO_InitStructure; //Настрайваем светодиод, включаем тактирование GPIOA RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // Конфигурация для светодиода, режим работы, максимальная скорость GPIO_InitStructure.GPIO_Pin = LED; // GPIO_Mode_Out_OD выход с открытым стоком, GPIO_Mode_Out_PP выход двумя состояниями // GPIO_Mode_AF_OD выход с открытым стоком для альтернативных функций, GPIO_Mode_AF_PP то же самое, но с двумя состояниями GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); // Устанавливаем начальное значение SetBits -> High level ("1"), ResetBits -> Low level ("0") GPIO_ResetBits(GPIOA, LED); // Настрайваем пин 9, регистра B на вход, для отладки, включаем тактирование регистра B RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); // Настрайваем для кнопку, пин, режим, максимальная частота входного сигнала GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; // GPIO_Mode_AIN аналоговый вход, GPIO_Mode_IN_FLOATING вход без подтяжки, болтающийся // GPIO_Mode_IPD вход с подтяжкой к земле, GPIO_Mode_IPU вход с подтяжкой к питанию GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); } void SetSysClockTo72(void) { ErrorStatus HSEStartUpStatus; /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/ /* Системный RESET RCC (делать не обязательно, но полезно на этапе отладки) */ RCC_DeInit(); /* Включаем HSE (внешний кварц) */ RCC_HSEConfig( RCC_HSE_ON); /* Ждем пока HSE будет готов */ HSEStartUpStatus = RCC_WaitForHSEStartUp(); /* Если с HSE все в порядке */ if (HSEStartUpStatus == SUCCESS) { /* HCLK = SYSCLK */ /* Смотри на схеме AHB Prescaler. Частота не делится (RCC_SYSCLK_Div1) */ RCC_HCLKConfig( RCC_SYSCLK_Div1); /* PCLK2 = HCLK */ /* Смотри на схеме APB2 Prescaler. Частота не делится (RCC_HCLK_Div1) */ RCC_PCLK2Config( RCC_HCLK_Div1); /* PCLK1 = HCLK/2 */ /* Смотри на схеме APB1 Prescaler. Частота делится на 2 (RCC_HCLK_Div2) потому что на выходе APB1 должно быть не более 36МГц (смотри схему) */ RCC_PCLK1Config( RCC_HCLK_Div2); /* PLLCLK = 8MHz * 9 = 72 MHz */ /* Указываем PLL от куда брать частоту (RCC_PLLSource_HSE_Div1) и на сколько ее умножать (RCC_PLLMul_9) */ /* PLL может брать частоту с кварца как есть (RCC_PLLSource_HSE_Div1) или поделенную на 2 (RCC_PLLSource_HSE_Div2). Смотри схему */ //RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); RCC_PLLConfig(0x00010000, RCC_PLLMul_9); /* Включаем PLL */ RCC_PLLCmd( ENABLE); /* Ждем пока PLL будет готов */ while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) { } /* Переключаем системное тактирование на PLL */ RCC_SYSCLKConfig( RCC_SYSCLKSource_PLLCLK); /* Ждем пока переключиться */ while (RCC_GetSYSCLKSource() != 0x08) { } } else { /* Проблемы с HSE. Тут можно написать свой код, если надо что-то делать когда микроконтроллер не смог перейти на работу с внешним кварцом */ /* Пока тут заглушка - вечный цикл*/ // while (1) { //} } } void init_uart(void) { /* Enable USART1 and GPIOA clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA, ENABLE); /* Configure the GPIOs */ GPIO_InitTypeDef GPIO_InitStructure; /* Configure USART1 Tx (PA.09) as alternate function push-pull */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /* Configure USART1 Rx (PA.10) as input floating */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); /* Configure the USART1 */ USART_InitTypeDef USART_InitStructure; /* USART1 configuration ------------------------------------------------------*/ /* USART1 configured as follow: - BaudRate = 115200 baud - Word Length = 8 Bits - One Stop Bit - No parity - Hardware flow control disabled (RTS and CTS signals) - Receive and transmit enabled - USART Clock disabled - USART CPOL: Clock is active low - USART CPHA: Data is captured on the middle - USART LastBit: The clock pulse of the last data bit is not output to the SCLK pin */ USART_InitStructure.USART_BaudRate = 9600; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART1, &USART_InitStructure); /* Enable USART1 */ USART_Cmd(USART1, ENABLE); /* Enable the USART1 Receive interrupt: this interrupt is generated when the USART1 receive data register is not empty */ USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); /* NVIC Configuration */ NVIC_InitTypeDef NVIC_InitStructure; /* Enable the USARTx Interrupt */ NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); //NVIC_EnableIRQ(USART1_IRQn); } void clear_RXBuffer(void) { for (RXi=0; RXi<RX_BUF_SIZE; RXi++) RX_BUF[RXi] = '\0'; RXi = 0; } void USARTSend(const char *pucBuffer) { while (*pucBuffer) { USART_SendData(USART1, *pucBuffer++); while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) { } } }  
    • Автор: Кирилл Мороз
      Имеется STM32F405RGT6. С выхода его ЦАП необходимо получить ток 50 мА. Диапазон напряжений необходимо изменять в пределах от 3.5 до 4.5 В, ну или же расширить от 0 до 5 В.С самого же выхода ЦАП, согласно даташиту, можно получить не более 25 мА и напряжение в пределах от 0 до 3.3 В.
      Как лучше совершить преобразование? 
    • Автор: Astrix77
      Добрый вечер!
      Необходимо написать код и разработать схему для контроллера управления домом:
      1й этап самый простой, необходим код для управления освещением.
      2й этап, написание кода для управления температурой дома.
      Цена и сроки договорные, подробности в личке.
      Забыл добавить. Код нужен для отладочной платы STM32VLDISCOVERY, только камень заменен на stm32f103ret6
      В начале нужна будет консультация по установке и настройке всех необходимых программ для прошивки МК
  • Сообщения

    • Всем привет, мне сказали что у меня не работает данная деталь, но не сказали как называеться и где искать (отмечина синим маркером) на ней написано d99241601, но по этому запросу все пусто. Подскажите пожалуйста
    • Ноутбук acer extensa 5620. Изображение есть до загрузки винды потом всё сыпется или зависает. При установке винды также только графический интерфейс появляется всё на экране сыпется. Диагностировать я пока не смогу (нет знаний), но есть два донора с заведомо рабочими чипами. Похоже это на видеочип? Хочу попробовать перепаять, но если проблема может быть в другом элементе в другом пока отложу. 
    • Спасибо, ознакомился , даже и не подозревал о существовании проходных конденсаторов. Неоднократно сталкивался с тем что конденсаторы стоящие  в сигнальных цепях неправильно называют проходными, отсюда и возникает недопонимание )
    • в общем все больше склоняюсь в пользу шириков все таки. Больше шансов получить что-то играющее
    • and13th спасибо,помогло. Теперь я понял откуда этот замечательный кабель.У нас с Вами кабели -братья. Мне его пытались сунуть на базаре как силовой для электромонтажных работ: экран как 0 а две жилы вместе как фаза.Сразу оценил его мягкость в любую погоду.Вы используете "военный" разъем на блок , а я стандартный пятипиновый, с этим кабелем лезет плотно, но зато "забыл" об это соединении. Со стороны датчика использую резиновый гермовводик для электроинструмента. промазываю водостойким "Формула-1"(можно термоклеем). Как раз из-за хорошего качества этого кабеля по прочности можно использовать  именно короткий гермоввод-,проблем не должно быть. В PG-9 (особенно китайских у меня уже было), со временем "летит" пружинка. Относительно пятого провода под графитовый экран - делал такой, пока разницы не почувствовал с ним отдельным или без него на общем экране.Может у кого больше опыта поделяться по этой теме? Пока буду экран графитовый сажать на общий экран Rх обмоток (для SD).   Посыл к rudik  Если информация про обмотку Тх - 40 грамм с вышеизложенными характеристиками шутка, принимаю без обид. Респект опыту  DesAleх ,таки пришлось перемотать Tх под диаметр не 70 , а 73 см под этот корпус. некуда лепить гермоввод(на уши не хотелось).А разница в весе составила 12 грамм( думал будет больше).  
    • Доброго времени суток всем. Тоже начал собирать станцию от 4uvak. Мне понравилась данная конструкция для самостоятельного исполнения. Только на днях приехали детали (большая часть). Собрал мозги, экран маленький китайский(ссылка из постов под статьёй). Контроллеры в китае брать не решился (заказал в Чип-нн).  Заработало сразу, только подкрутил контрастность. Есть подозрения по работе энкодера. Он нашелся в запчастях от Ардуины. Оказалось тяжело найти 20мкф керамикой. Хорошо нашлись на донорских материнских платах, но по 10мкф. Сделал бутерброды))  Сейчас привожу к соответствию схеме китайские ad8495: у них по входу (по схеме R2,3,6,7) стоят 100 Ом, заменил на 10 кОм, замкнул на землю 2ю и 3ю ногу AD. Готовлю плату для силовой части. Ищу металл для корпуса. Верх и низ будет китайская керамика. П.С. Никаких нестыковок в печатных платах и схеме не увидел. Печатал как есть. Когда буду делать чистовую версию кое что переделаю. Пока просто проверка работоспособности.