Освоение STM32F103VE + TFT LCD + touch screen (часть 4)

Часть 1. Начало. Работа с LCD через порты.
Часть 2. Работа с LCD через FSMC, инициализация экрана.
Часть 3. Работа с touch screen через SPI.

Калибрация экрана нужна для того, чтобы значения координат сенсорного экрана совпадали со значениями координат LCD. Можно выполнить простые математические операции и более или менее привести значения в соответствие. Но получится не точно, а ещё каждый раз придётся менять программу под отдельное утройство. А если сенсорный экран приклеен с перекосом, тогда тут простыми операциями не справиться.

touch screen calibration

Алгоритм работы при работе с сенсорным экраном прост:
1. Получение координат с контроллера сенсорного экрана (Xt, Yt)
2. Приведение координат с помощью уравнений (Xd, Yd)


Читать дальше
  • +7
  • 15 ноября 2013, 16:16
  • ilus

Освоение STM32F103VE + TFT LCD + touch screen (часть 3)

Часть 1. Начало. Работа с LCD через порты.
Часть 2. Работа с LCD через FSMC, инициализация экрана.

О самом сенсорном экране написано не мало хороших статей. Здесь одна из них. Удобство современных китайских модулей LCD состоит в том, что на них уже есть готовый контроллер, такие как TSC2046 или ADS7846, с которым можно общаться по SPI шине.

touch screen controller

В двух словах вся работа происходит так. Два слоя замыкаются, образуя два резистора по оси X, два по оси Y. В контроллере находится мультиплексор и ADC. Приходит команда по SPI — измерение по оси X. Контроллер подключает X+ на VCC, X- на землю, замеряет напряжение на линии Y+ (или Y-), и передаёт его опять же по SPI. Подобным образом происходит замер по оси Y.


Читать дальше
  • +4
  • 15 ноября 2013, 14:03
  • ilus

Освоение STM32F103VE + TFT LCD + touch screen (часть 2)

Начали здесь, теперь продолжаем тему.

stm32

Я внёс небольшие изменения в цикл статей. Когда писал первую часть, ещё не знал про контроллер внешней памяти FSMC, который может управлять LCD. Всё управление шло чистым bit-bang'ом, дёргали ножки контроллера и управляли экраном. Когда запустил через FSMC — экран начал просто летать. Разница в скорости на порядки выше. Пришлось даже поменять задержки работы с сенсорным экраном.


Читать дальше
  • +8
  • 14 ноября 2013, 17:08
  • ilus

Освоение STM32F103VE + TFT LCD + touch screen

Началось всё с покупки демо-платы и st-link на ebay. Когда пришла плата, я включил её, подивился китайской демкой на экране с различными тестами, графиками и крутилками.

демо-плата STM32F103VE

А потом я затёр всю прошивку. И экран погас… почти на год (я снова занялся AVR'ками).

Когда появились статьи про STM32 на easy electronics, вновь возникла мысль оживить плату, подружить её с LCD и написать хотя бы обыкновенную рисовалку с сенсорной панелью.

Экран у меня, как оказалось, работает на контроллере ILI9320, а touch screen на TSC2046 (более новый аналог ADS7846).

Писал всё в KEIL uVision 4. Среда разработки чем-то понравилась сразу, подружилась с платой через uLink. После я стал использовать для прошивки и отладки Pinboard II, она слишком большая для таких целей, поэтому заказал FTDI модуль.

Итак, приступим…


Читать дальше
  • +3
  • 11 ноября 2013, 01:05
  • ilus
  • 1

Управление GSM модулем с AVR (часть 2)

AVR
В предыдущей части мы отправляли команды на модуль.



Теперь о получении команд с модуля.


Читать дальше
  • +2
  • 23 сентября 2013, 17:00
  • ilus
  • 4

Управление GSM модулем с AVR (часть 1)

AVR
Идея проекта: спроектировать устройство на базе микроконтроллера AVR для управления готовым GSM модулем (я выбрал модуль TC35 от SIEMENS, но можно использовать любой другой, если используется связь через последовательный порт RS232). Устройство должно быть компактным, минимально простым и надёжным.

Отправка заранее записанного в память сообщения на указанный номер должна выполняться после нажатия кнопки. Всего нужно было 6 кнопок для отправки на 6 различных номеров. Для индикации процессов были выбраны 3 светодиода (Ready, Send, Error), но в последствии был добавлен алфавитно цифровой LCD 16x2 (скорее, для отладки устройства, чем для обычного использования).

Проектировалось всё дело на плате Pinboard II (Rev 2) со стандартным процессорным модулем на ATmega16. На готовом устройстве схема была немного другой (и микроконтроллер использовался ATmega8). Программа писалась в AVR Studio 4.19. В проекте были использованы различные заголовочные файлы (#include) для переключения между Pinboard и готовым устройством.

Общая схема системы:



Читать дальше
  • +6
  • 23 сентября 2013, 15:10
  • ilus
  • 1

Радио-рынок в Японии

Очень впечатляют масштабы…
daypic.ru/technique/71747
  • 0
  • 08 сентября 2011, 14:55
  • ilus