В своих разработках я часто использую операционную систему реального времени (ОСРВ) OSA
OSA — кооперативная многозадачная операционная система реального времени (ОСРВ) для микроконтроллеров фирмы Microchip серий
PIC10, PIC12, PIC16, PIC18, PIC24 и dsPIC, AVR 8-bit фирмы Atmel, а также микроконтроллеров STM8 фирмы STMicroelectronics.
Простая, работает на самых младших камнях, не требовательна к ресурсам, а главное позволяет задавать приоритет задачам. Подробнее про нее можно почитать тут: pic24.ru
На том же сайте мне понравился один проект текстового vga-терминала на pic18
Схемы, прошивки, всё выложено и разжевано. Но электрическая схема это далеко не плата и я решил наколбасить свою версию платы для этого устройства. Уж очень захотелось выкинуть все эти 1602, 2004, 12864 дисплеи. На VGA-то места гораздо больше.
Путем неимоверных страданий и боли долгой ручной трассировки, родилась на свет плата размером 75х27мм.
Плату моментально воплотил в текстолите, залил прошивку и обломался. Точнее просто расстроился. Половина заявленных в статье функций просто отсутствует. Но на экран выводит, то есть работает.
В статье упоминается про Игоря Ковалева (Украина), который доработал этот терминал с 30х30 символов до 51х30. Я списался с Игорем. Оказалось дело было давно, и у него есть версия 64х30, которой он со мной любезно поделился.
Софт пришлось сильно перелопачивать в плане функций отрисовки, допиливания недоделанных и вырезания не нужных кусков. Пришлось возвращаться в старый добрый MPLab и копаться в чужом ASM-коде. До сих пор пупырчатые мурашки от этого. В конечном итоге я заточил этот текстовый терминал под свои нужды. И со стороны модуля и со стороны клиента по SPI.
Заказал с десяток плат на заводе
И по-быстрому запаял
С тех пор использую их как «на коленке», когда нужно по-быстрому что-то проверить, так и в законченных устройствах.
Следующие 2 фото не рекомендуется к просмотру лицам со слабой психикой, беременным женщинам и детям.
А вот эти можно смотреть без ограничений
VGA-монитор, PS/2 клавиатура, CAN-шина
CAN-Ethernet-VGA аж с тремя камнями pic18f67j60, pic18f46k20 и pic32mx170f256b — это тема для отдельной статьи 🙂
Вот дешевле.
https://youtu.be/qJ68fRff5_k
https://www.tindie.com/products/bitluni/esp32-vga-black-edition/
На esp32. Ничего не поделаешь. Они дешевле. Но с практической точки зрения вашего модуля вполне хватит для многих задач.
Есть небольшая разница между 200х150 и 640х480.
Раз в 10,24 если быть точным.
Я не те ссылки скинул) прошу прощения. Есть именно на stm32 проект. (Тут вообще esp32 и низкое разрешение) А там 800х600 было. Потерялся в ссылках. Можете удалить мои комментарии.
там режим экрана 800х600
А физическое разрешение, доступное 400х300
Вы правы. Вот: https://www.artekit.eu/vga-output-using-a-36-pin-stm32/
Но пока я ковырялся, понял что решение использовать монитор для большинства проектов — не целесообразно.
1. Вы правы, что цена не значима для серьезных проектов. Но в таком случае, можно купить новый полноценный дисплей. Так ещё и с сенсором. Если нужен именно большой дисплей, (монитор) — значит там уже совсем другие цели. (например крутить рекламу) А для этого не используют Ардуино. Можно прикрутить какой-то плеер или компьютер и управлять по сети.
2. Если это домашняя поделка и мне нужен большой экран — я купил старый тонкий клиент HP. Они сейчас стоят 15-20 долларов. Но это полноценный компьюр с vga выходом, звуком, сетью и т.д. Там можно выводить любую информацию. Например, собирать информацию с датчиков по сети и выводить на экран. Так ещё и видеонаблюдение можно выводить на экран и т.д.
1) Курсы валют в виде таблиц на нескольких мониторах. Достаточно одной ESP и несколько модулей VGA. Без ОС, без компьютеров.
2) Самодельные станки, где nextion дорого и мало размера
3) 100 датчиков температуры на одном дисплее с одним микроконтроллером. Без ОС, без компьютеров. Мгновенный старт и работа.
4) Встраиваемые системы с текстовыми терминалами диагностики.
5) Мониторинг параметров работы самодельного генератора. Модуль ставится прямо в самодельный ЭБУ.
6) Мониторинг периметра охраны. Окна/двери, 2 этажа, 2 монитора. Без ОС, без компьютера, CAN-сеть. Всё на МК. Дополнение к СКУД без компа работающее.
Еще вспомню для чего брали модули — допишу.
400х200 это конечно интерфейс будущего Nostromo, но 640*480 ч/б вполне себе замена дисплеям 128*64 чтобы просто вывести побольше всего.
Есть ещё такое))
https://youtu.be/MUeIY_gLn3c