Нет подразделов
 
 
Назад Вперед

Визуализация для микроконтроллера. Часть 3. TFT дисплей 2.8" (240х320) на ILI9341

Разместил erbol 15 ноября 2016. Просмотров: 2812

8 Битва за урожай закончена, можно продолжить повествование.
Визуализация для микроконтроллера. Часть 3.  TFT дисплей 2.8" (240х320) на ILI9341



Модуль, который мы рассмотрим сегодня, сочетает в себе свойства двух линеек подобных устройств. С одной стороны, размеры его дисплея всё ещё позволяют использовать протокол SPI без существенного ущерба для картинки на экране. В этом он похож на модули с небольшим дисплеем (к примеру, на базе контроллера ILI9163 или рассмотренного в предыдущей части статьи ST7735). Кстати, из предлагаемых на AliExpress и eBay модулей на базе ILI9341 с протоколом SPI – значительное большинство.

С другой стороны, не редки реализации этого модуля на протоколе 8080, как 8-ми так и 16-битном, что роднит его со второй группой, в которую входит и модуль на базе контроллера ILI9481, о котором мы поговорим в следующей части статьи.
Помимо этого, принцип работы и система команд ILI9341 и контроллеров из вышеуказанных групп настолько схожи (иногда – вплоть до совпадения кодов команд), что, разобравшись, как работает этот модуль, вы без особых усилий сможете запустить и многие другие.
  • Лайков:
    36
 

Программная реализация протокола SPI на AVR в CodeVisionAVR

Разместил Electronik83 15 сентября 2016. Просмотров: 2033

3 Всем коллегам и согражданам привет!
Увлёкся я изучением протоколов. Про реализацию протокола I2C у меня уже была статья на Датагоре. Сегодня поговорим о протоколе SPI. Сразу к делу. Заглянем в Wiki за ёмким определением.
SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для обеспечения простого и недорогого высокоскоростного сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным (англ. four-wire) интерфейсом.

В отличие от стандартного последовательного порта (англ. standard serial port), SPI является синхронным интерфейсом, в котором любая передача синхронизирована с общим тактовым сигналом, генерируемым ведущим устройством (процессором). Принимающая (ведомая) периферия синхронизирует получение битовой последовательности с тактовым сигналом. К одному последовательному периферийному интерфейсу ведущего устройства-микросхемы может присоединяться несколько микросхем. Ведущее устройство выбирает ведомое для передачи, активируя сигнал «выбор кристалла» (англ. chip select) на ведомой микросхеме. Периферия, не выбранная процессором, не принимает участия в передаче по SPI.
В реализации протокола SPI используют четыре цифровых линии для передачи сигналов (в скобках даны вариации обозначений):
Программная реализация протокола SPI на AVR в CodeVisionAVR

CLK (CLOCK, SCLK) — по этой линии передаются тактовые импульсы для ведомых устройств.
DO (MISO, SDO, DO, DOUT, SO) — вход данных МК, эта линия нужна для приема данных от периферии.
DI (MOSI, SDI, DI, DIN, SI) — выход данных МК, передаём данные к ведомому устройству.
CS (SS, nCS, CS, CSB, CSN) — выбор микросхемы, выбор ведомого, в народе «чипселект».
  • Лайков:
    24
 

Визуализация для микроконтроллера. Часть 2. TFT дисплей 1.8" (128х160) на ST7735

Разместил erbol 14 сентября 2016. Просмотров: 3261

6 Следующий из рассматриваемых нами модулей обладает полноцветным дисплеем под управлением контроллера ST7735.

• Размеры модуля: 35 мм х 57 мм х 7 мм.
• Разрешение: 128×160 пикселей.
• Цветность: 65 тысяч цветов в формате RGB 5-6-5.
• Напряжение питания: 3.3В – 5В.
• Протокол обмена данными: SPI.
• Встроенный разъём для SD-карты.

Рассмотрим модуль на ST7735 поближе и разберемся с программированием под него.
  • Лайков:
    39
 

Программная реализация протокола I2C на AVR в CodeVisionAVR

Разместил Electronik83 27 августа 2016. Просмотров: 2222

9 Программная реализация протокола I2C на AVR в CodeVisionAVR Пару лет назад, изучая Atmega8, я захотел программно реализовать работу с устройствами на шине i2c, но как-то не задалось. С аппаратным i2c, напротив, не было никаких проблем и затея как-то забылась.

Но недавно я прочитал статью на Датагоре «Несколько функций для програмной реализации протокола I2C на AVR», в которой автор выложил свой пример программной реализации протокола под IAR. Я в тот же миг переписал всё в CodeVision, но, к сожалению, у меня опять не заработало как надо.
Решил набраться терпения и разобраться сам.
  • Лайков:
    32
 

Визуализация для микроконтроллера. Часть 1. OLED дисплей 0.96" (128х64) на SSD1306

Разместил erbol 24 августа 2016. Просмотров: 5988

14 Добрый день, друзья!
Эта статья открывает цикл, посвящённый средствам визуального отображения информации.
Нами будут рассмотрены модули, в состав которых входят следующие дисплеи и управляющие контроллеры:
1. OLED дисплей на 0.96 дюйма (128×64 пикселей), контроллер SSD1306.
2. TFT дисплей на 1.8 дюйма (128×160 пикселей), контроллер ST7735.
3. TFT дисплей на 2.8 дюйма (240×320 пикселей), контроллер ILI9341.
4. TFT дисплей на 3.5 дюйма (320×480 пикселей), контроллер ILI9481.

Весь материал разбит на пять частей, в четырёх из которых изложена информация по модулям (технические параметры, подключение и инициализация, вывод на дисплей базового графического элемента — точки), а пятая содержит единую графическую библиотеку для описанных дисплеев.

Сама идея единой библиотеки и большинство приёмов её реализации позаимствованы из библиотеки Adafruit_GFX, а также отдельных работ её авторов — Лимор Фрид (Limor Fried) и Кевина Таунсенда (Kevin Townsend).
Моя скромная заслуга заключается в переносе кода с С++ на С, написании отдельных функций и выборочном переводе даташитов с целью более детального освещения особенностей работы модулей.

OLED дисплей на 0.96 дюйма (128×64 пикселей), контроллер SSD1306

Тема сегодняшней нашей беседы – вот такой модуль:
  • Лайков:
    51

14 сентября 2016 изменил Datagor. Добавлен архив с переводом таблиц команд.

 

Трансивер 2,4 ГГц Nordic Semiconductor nRF24L01. Перевод таблиц даташита, пояснения и коды для организации сети

Разместил erbol 9 июня 2016. Просмотров: 3438

Привет, датагорцы!
Выкладываю перевод таблиц из спецификации nRF24L01+, файл с пояснениями и исходники кодов, необходимые для организации радиосвязи между двумя трансиверами nRF24L01+.
Трансивер 2,4 ГГц Nordic Semiconductor nRF24L01. Перевод таблиц даташита, пояснения и коды для организации сети
  • Лайков:
    32
 

Машинка с пропорциональным управлением по Bluetooth из-под Android

Разместил Discover 23 мая 2016. Просмотров: 3727

3 Не будем покупать плохие игрушки у Китайцев, а купим у них дешевый конструктор-шасси, несколько модулей и приложим руки!
Вот что у меня получилось в итоге: проходимое шасси, управляемое — ТА-ДА!!! — с моего смартфона на Андроиде.

«Я и прямо, я и боком,
     С поворотом, и с прискоком,
         И с разбега, и на месте,
               И двумя ногами вместе…»

Сегодня мы соберём забавную машинку с дистанционным управлением по Bluetooth. Исходники программы управления под Android в комплекте.
  • Лайков:
    54
 

Рулим китайским FM-радиомодулем на TEA5767. Датагорская библиотека на C

Разместил Discover 25 июня 2015. Просмотров: 19739

12
Рулим китайским FM-радиомодулем на TEA5767. Датагорская библиотека на C

Приобрел я на пробу радио-модуль на базе микросхемы TEA5767.
Модуль представляет собой практически законченный приемник. Сам по себе модуль ничего ловить не будет, если только совершенно случайно настройки модуля по умолчанию будут соответствовать какой-нибудь местной станции, но это вряд ли.

Так вот, для того что бы модуль что-то начал ловить, нужно всего-ничего: подключить модуль в соответствии с распиновкой к усилителю и микроконтроллеру и написать прошивку управления модулем.
Во как, раньше приемники паяли, а теперь пишем!
  • Лайков:
    94
 

Несколько функций для програмной реализации протокола I2C на AVR

Разместил teXnik 7 февраля 2015. Просмотров: 8236

22 Несколько функций для  програмной реализации протокола I2C на AVRДобрый день, дорогие друзья! Решил поделиться с вами несколькими функция для работы по протоколу I2C на микроконтроллерах AVR. Функции реализуют программную работу с протоколом в режиме Master.

Писал я прошивку для управления звуковым процессором. Писал в CodeVision и никаких проблем не было. Но пришлось пересесть на IAR, в котором не нашлось библиотек для программной реализации I2C.
Попытки запустить библиотеки, найденные на просторах Интернета, успеха не принесли и решил я написать необходимый минимум сам.
  • Лайков:
    58
 

Программирование точных часов с применением алгоритма Брезенхама (Bresenham's Algorithm)

Разместил mazr 20 января 2015. Просмотров: 3826

1
Программирование точных часов с применением алгоритма Брезенхама (Bresenham's Algorithm)

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

Также рассмотрим простой и быстрый десятичный счет к привязке к стандарту часов, минут, секунд без преобразования из 16-ой системы счисления в десятичную, также чисто десятичный счет.
Эти методами удобно пользоваться при разработке различных устройств, отсчитывающих точные временные интервалы и производящие их счет и счет различных событий.
Так как я в основном пользуюсь средой разработки и микроконтроллерами фирмы Микрочип, то все будет привязано к ним.

Примечание редакции. Алгоритм Брезенхама применён в программировании PIC-контроллеров Бобом Аммерманом (Bob Ammerman) и описан с доработками в июне 2001 года Романом Блейком (Roman Black) в оригинальной статье «Zero-error 1 second Timer. A very versatile Zero Cumulative Error timing system with PIC source code». См. и другие ссылки на источники.
  • Лайков:
    14
 
Назад Вперед