Я кстати, на англоязычном сайте нашёл, что можно этот сенсорный монитор подключать к Мега. Без переделывания в нём не чего. Теперь мне только осталось понять как библиотеки загружаются и постич азы )))
Я кстати, на англоязычном сайте нашёл, что можно этот сенсорный монитор подключать к Мега. Без переделывания в нём не чего. Теперь мне только осталось понять как библиотеки загружаются и постич азы )))
В нём переделывать ничего не нужно, верно. Нужно только уметь перенаправить сигналы с одних пинов на другие. А поскольку я к примеру пока в этом вопросе новичок, не рискую даже пытаться. До тех пор пока не начну понимать.
В нём переделывать ничего не нужно, верно. Нужно только уметь перенаправить сигналы с одних пинов на другие. А поскольку я к примеру пока в этом вопросе новичок, не рискую даже пытаться. До тех пор пока не начну понимать.
Для этого нужно в одном из файлов библиотеки закоментировать одну строку и раскоментировать одну строку.
Есть уже и готовые библиотеки предназначеные именно для Меги и Уно, специально для тех, кто не в состоянии один знак переставить из одной строки в другую.
Вся эта информация многократно на этом форуме обсуждалась с примерами, форма поиска находится в правом, верхнем углу этой страницы.
? (//Так ведь добивали.....сь. Плохо добивали....сь ) в чем конкретно вопрос ?
раз у вас заработало на UNO , на найденной либе, вот её и копайте, в ней вносите изменения (коментите/раскоментите в ней) . Бездумное взятие других либ, может не помочь, ибо у адафруита есть либы для ILI9341 SPI и они не такие как ILI9341 8бит . И UTFT тож зараьотает, в соседней ветке приводили правленную либу для адафруитского шилда ili9327 воткнутого в мегу. в основном останется только инит сменить и выбор с spi на 8бит.
я бы добавил https://it4it.club/forum/16-arduino/ очень отзывчивый люд ! мне один перс вобще код писал и объяснял тупо разжовывал и в рот ложил а мне братцы 41 уже
Извините, возможно не в тему. Но вот какой вопрос. Только начал осваивать Ардуино. Взял Мега 2560, проверил, баботает. Ещё пришёл дисплей ТФТ 2.4". При покупки было написано что совместим с УНО, но возможно и к Мега 2560. Вобщем подключил и светит только белый экран. Поблуждал по инету и видел, как на видео выкладывали подключение Меги и такого дисплея как у меня (и в шапке этого поста). Всё работало. Подскажите мне по-этапно как протестить его. Что-бы удостовериться, что работает исправно.
Ваш дисплейчик такой же как на картинке в первом посте темы? Если да, то он для UNO. Чтобы запустить на Mega, вам нужно пробрасывать пины дисплея с LD_D0 по LD_D7 на 22-29 пины Mega двухрядной гребёнки.
У меня похожий шилд работает и на Uno и на Mega. Для Меги нужно пробрасывать лишь пины для SD-карты, так как SPI на Uno и Mega разведён на разные ноги.
Подскажите тему где можно с самого начала познать все азы. Как загружать библиотеки... Короче вобще всё с самого нуля. За ссылочку буду очень благодарен
Может, есть другой форум, где открыто общаются все? Новички и Бывалые совместно.
Увы, на данном форуме с новичкам не няньчатся - подразумевается, что начальные знания по Ардуино новичок уже нашёл в Интернете (или хотя бы на сайте arduino.ru). Но на правильно поставленные вопросы новичкам даются разумные ответы. Отрицательно воспринимаются вопросы типа "напишите мне код", если этот вопрос не в теме "Ищу исполнителя".
Может, есть другой форум, где открыто общаются все? Новички и Бывалые совместно.
Увы, на данном форуме с новичкам не няньчатся - подразумевается, что начальные знания по Ардуино новичок уже нашёл в Интернете (или хотя бы на сайте arduino.ru). Но на правильно поставленные вопросы новичкам даются разумные ответы. Отрицательно воспринимаются вопросы типа "напишите мне код", если этот вопрос не в теме "Ищу исполнителя".
здесь другой форум и другие люди и специфика другая - полная аналогия сути.
привет всем, есть шилд ST7789V + тачскрин + sd картридер
экран отлично тестирует графику, но не идин скетч тачскрин-тест не работает и вообще не понятно, какие пины выведены на тачскрин с шилда. Вопрос, как юзать тачскрин ?
З.Ы. только у моего маркировка LCD Shield(st7789v) www.mcufriend.сом
привет всем, есть шилд ST7789V + тачскрин + sd картридер
экран отлично тестирует графику, но не идин скетч тачскрин-тест не работает и вообще не понятно, какие пины выведены на тачскрин с шилда. Вопрос, как юзать тачскрин ?
З.Ы. только у моего маркировка LCD Shield(st7789v) www.mcufriend.сом
Страничка зачотная, спасибо. У меня всё засветилось и забегало...
Однако же меня интересует вот что: по дефолту (или мне так кажется), дисплей ориентирован как портрет. А как его перевернуть на 90 градусов в Landscape?
открываешь файл и смотришь ... коряво .. без описания, но разобраться можно .... с остальным по подобию... с CD сам ковыряюсь пока .. читать картинки научился
открываешь файл и смотришь ... коряво .. без описания, но разобраться можно .... с остальным по подобию... с CD сам ковыряюсь пока .. читать картинки научился
Та блин, картинки читать - занимает больше 80% памяти только сама процедура вывода. Что-то я уже и не хочу картинки на экран выводить. Поигрался, получилось - и ладно.
читает картинку в 16 битном цвете (не путать с 16 цветами) с карты и выводин на экран в координаты ...
на адафруте можно сделать и 24 цвета... но у мну экран сним не робит ...
первые 2 цикла пропускают данные о картинке... они почти всегда одинаковые( оттуда например мона почрпнуть размер картинки и использовать в последних циклах, но мне это не надо)... гугл структура BMP файла
выводятся 8 картинок 60х60 секунд за 5 ... но тока при в ключении ... а дальше экран не чищу а стираю квадрат заливая его цветом фона
читает картинку в 16 битном цвете (не путать с 16 цветами) с карты и выводин на экран в координаты ...
на адафруте можно сделать и 24 цвета... но у мну экран сним не робит ...
первые 2 цикла пропускают данные о картинке... они почти всегда одинаковые( оттуда например мона почрпнуть размер картинки и использовать в последних циклах, но мне это не надо)... гугл структура BMP файла
выводятся 8 картинок 60х60 секунд за 5 ... но тока при в ключении ... а дальше экран не чищу а стираю квадрат заливая его цветом фона
Какая-то маленькая функция получилась..... Ану пробану ..
Так, а с библиотеками там как вообще? У меня именно АДАФРУТ только и работает кое-как, и то если ему внаглую вбить 0x9341. Сам он этого не делает...
И кстати - я забыл уже как делать 16-ти битный .BMP )))) А то адафрут 320х240х24b вырисовывает аж за больше чем 3 секунды!
смотря для чего картинка ... я вывожу меню по бокам и не стираю его ... мне время не критично ... в адафруте надо копаться там свои команды есть ... что то типа drawbitmap.....
Здравствуйте, для своих поделок, по неопытности (ардуино) прикупил в Китае несколько Уно с экранами 2.4 - 2.8 ". Курением и бубном все запустил, по разному но общее это "Adafruit_GFX.h" Вот тестовый скетч:
#include <Adafruit_GFX.h> // Libreria de graficos
#include <Adafruit_TFTLCD.h> // Libreria de LCD
// Pines de conexion del LCD
#define LCD_CS A3 // Chip Select - Pin analogico 3
#define LCD_CD A2 // Command/Data - Pin Analogico 2
#define LCD_WR A1 // LCD Write - Pin Analogico 1
#define LCD_RD A0 // LCD Read - Pin Analogico 0
#define LCD_RESET A4 // LCD Reset - Pin Analogico 4
#define WHITE 0x0000
#define YELLOW 0x001F
#define CYAN 0xF800
#define MAGENTA 0x07E0
#define RED 0x07FF
#define GREEN 0xF81F
#define BLUE 0xFFE0
#define BLACK 0xFFFF
// Instancia del LCD
Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
void setup(void)
{
tft.begin(0x9341); // Especificamos el controlador de nuestro LCD.
// En este caso el ILI9341.
// Otros controladores: 0x9325, 0x9328,0x7575, 0x9341, 0x8357.
tft.fillScreen(BLACK);
tft.setRotation(1);
tft.setCursor(10, 10);
tft.setTextSize(3);
tft.setTextColor(CYAN);
tft.println("VOLTAGE CURRENT");
tft.setCursor(10, 120);
tft.setTextSize(3);
tft.setTextColor(CYAN);
tft.println("CONSTANT CURRENT");
}
void loop()
{
tft.setCursor(10, 60);
tft.setTextSize(3);
tft.setTextColor(YELLOW, BLACK);
float X = analogRead(A5);
float Y = analogRead(A5);
tft.print(X, 2);
tft.print(" ");
tft.println(Y, 2);
tft.setCursor(10, 180);
tft.setTextSize(3);
tft.setTextColor(YELLOW, BLACK);
float Z = analogRead(A5);
tft.print(Z, 2);
delay(300);
}
Как видно свободен только А5 аналоговый вход, мне хотелось бы освободить еще два аналога для своего проекта. Возможно ли это? Не используя функции SD карты освободить цифровые каналы и перенаправить аналоги на цифру? И если возможно, то в каких файлах библиотек это надо поправить?
Здравствуйте, для своих поделок, по неопытности (ардуино) прикупил в Китае несколько Уно
....
Как видно свободен только А5 аналоговый вход, мне хотелось бы освободить еще два аналога для своего проекта. Возможно ли это? Не используя функции SD карты освободить цифровые каналы и перенаправить аналоги на цифру? И если возможно, то в каких файлах библиотек это надо поправить?
Спасибо!
неполностью изрекли . A6 A7 разве уже использовали? (по крайней мере на Али брал 2 вида плат UNO , с разведенными этими пинами по разному. Если atmega328p в планарном корпусе, и эти пины не выведены на гребенку разъемов, то можно самому подпаяться прочитав даташит на атмегу328.
Если SD не используется, то управляющие пины (cd rd wr reset cs) можно на них перепаять иль проводами перекоммутировать, за исключением 2х пинов параллельных тачскрину если вы будете его использовать. в скетче переписать на какие пины вы их перевесили
// вообще для вывода изображения на эти дисплеи с 8ми битной шиной - хватает 8пинов шины данных DB0-DB7 и 2пина управления CD и WR ) . Итого всего-то 10 пинов! остальные пины вырезать из библиотеки, на RD подать + , на CS подать -(gnd) , RESET соеденить с RESET пином ардуино. В скетче принудительно включить ваш тип контроллера.
неполностью изрекли . A6 A7 разве уже использовали? (по крайней мере на Али брал 2 вида плат UNO , с разведенными этими пинами по разному. Если atmega328p в планарном корпусе, и эти пины не выведены на гребенку разъемов, то можно самому подпаяться прочитав даташит на атмегу328.
Тоесть я могу без танцев подпаятся на 22 (ADC7) и 19 (ADC6) ноги и использовать их как дополнительные аналоговые входа, без всяких правок? Это было бы просто замечательно. Мне три аналога хватит за глаза.
У меня есть скетч для определения и библиотеки для этого экрана. Если ещё актуально, подскажите как их сюда скинуть. А то чего то не пойму. Путаюсь я в этом форуме.
3. если всетаки юзаешь библиотеку то какую.. у меня чип другой... у тебя ILI9341 с ним пойдет обычная библиотека адафрут... у меня st7789 с ним тока Mcufriend работает...хотя заработает она и у тебя...
На экран выводил почти все тесты, кроме просмотра с сд карточки и с тачем еще мучаюсь. Китаец после двух обращений скинул библиотеки и примеры для монитора. Библиотеки разные пробовал для тача - не получается пока. Библиотеки и примеры он мне на почту прислал-13 мб, Mcufriend у меня тоже частично работает но без тача.
3. если всетаки юзаешь библиотеку то какую.. у меня чип другой... у тебя ILI9341 с ним пойдет обычная библиотека адафрут... у меня st7789 с ним тока Mcufriend работает...хотя заработает она и у тебя...
Тест с буквами уже попробовал русифцировать, получилось, я в принципе не "писатель" я тупо копи-пастер, но помаленьку в суть вникаю, уже перепробовал кучу всяких датчиков, на подходе шилды-тоже буду пробовать.
Определение координат сенсорной точки Для обнаружения нажатия необходимо знать сопротивление между крайними координатами по X. Сопротивление можно измерить с помощью любого мультиметра. Величина сопротивления, например, 300 ом и размеры сенсорной зоны устанавливаются отношением (Сопротивление меряется между пинами XM и XP).Замерив его я обнаружил что у меня пины перепутаны пины wr и rs. Сответсвенно поменял выводы в скетче
#define YP A1 // must be an analog pin
#define XM A2 // must be an analog pin
#define YM 7 // can be a digital pin
#define XP 6 // can be a digital pin
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); // 300 это и есть сопротивление. в моем случае было 269
Для работы с сенсорным экраном необходимо подключить библиотеку
#include <TouchScreen.h> // библиотека сенсорного экрана
Обычно измеренные координаты сенсорной зоны дисплея масштабируются в координатах зоны изображения.
#define TS_MINX 150
#define TS_MINY 120
#define TS_MAXX 920
#define TS_MAXY 940
в координаты зоны изображения 240 x 320 точек с использованием следующих команд.
tft.fillRect(165, 160, 130, 52, ORANGE); // построение прямоугольника
TSPoint p = ts.getPoint(); // считывание координат нажатия в зоне 1024 х 1024
p.x = tft.width()-(map(p.x, TS_MINX, TS_MAXX, tft.width(), 0)); // преобразование
p.y = tft.height()-(map(p.y, TS_MINY, TS_MAXY, tft.height(), 0)); // преобразование
// нажатие в зоне прямоугольника ?
if ((p.x > 15) and (p.x < 90) and (p.y > 120) and (p.y < 215)){…}
Несовпадение преобразованных координат нажатия на углы прямоугольника по оси Х с координатами построения изображения прямоугольника получилось как 15 к 160 и 90 к 212. Несовпадение можно уменьшить проведя калибровку резистивной матрицы сенсорного экрана.
Другой вариант использования тестовых угловых координат для определения - произошло ли нажатие в прямоугольной зоне, позволяет отказаться от функции перевода (масштабирования):
TSPoint p = ts.getPoint();// считывание координат нажатия в зоне 1024 х 1024
// нажатие в зоне прямоугольника ?
if ((p.x > 200) and (p.x < 365) and (p.y > 525) and (p.y < 840)){…}
Особенности построения сенсорных клавиш При использовании сенсорного дисплея для ввода реакции пользователя необходимо на экране показать зоны ввода (сенсорные клавиши). От варианта построения клавиш исчитывая координат нажатия на экран зависит надежность срабатывания ввода. Рассмотрим два варианта организации ввода через дисплей. 1. Одна клавиша используется для ввода двух состояний, например, ВКЛ./ВЫКЛ. (ON/OFF) 2. Используются две клавиши: одна для ON, а другая для OFF. В первом варианте за время нажатия происходило многократное переключение клавиши с ON на OFF и обратно, что затрудняло установку заданного положения клавиши. При введении 100 мс задержки между переключениями потребовалось значительно увеличить силу нажатия и, зачастую, требовалось многократное нажатие для изменения состояния клавиши. Использование двух клавиш увеличило зону экрана занятую вводом, однако в этом варианте не зависимо от задержки происходило уверенное переключение даже при минимальной силе нажатия.
Прошу пардону, подскажите а можно для модулей использовать стороннее питание +5 +3,3 и естественно ГНД чтобы не нагружать шину питания ардуино а сигналы взять с ардуино?
tftpaint_shield:14: error: #error "This sketch is intended for use with the TFT LCD Shield. Make sure that USE_ADAFRUIT_SHIELD_PINOUT is #defined in the Adafruit_TFTLCD.h library file."
Не используется: C:\Users\TOTI\Documents\Arduino\libraries\Touch-Screen-Library-master
exit status 1
#error "This sketch is intended for use with the TFT LCD Shield. Make sure that USE_ADAFRUIT_SHIELD_PINOUT is #defined in the Adafruit_TFTLCD.h library file."
Спасибо. Очень полезные ссылки ;)
Спасибо большое. Буду изучать. А формума. Точнее страцы ни кто не создавал тут на форуме, для начинающих? Что бы ускорить процесс обучения.
Некоторые отдельные моменты здесь есть, но ведь тем очень много а энтузиастов маловато.
Я кстати, на англоязычном сайте нашёл, что можно этот сенсорный монитор подключать к Мега. Без переделывания в нём не чего. Теперь мне только осталось понять как библиотеки загружаются и постич азы )))
Нашел отличный сборник библиотек на все случаи жизни. Здесь:
https://codebender.cc/libraries
Я кстати, на англоязычном сайте нашёл, что можно этот сенсорный монитор подключать к Мега. Без переделывания в нём не чего. Теперь мне только осталось понять как библиотеки загружаются и постич азы )))
В нём переделывать ничего не нужно, верно. Нужно только уметь перенаправить сигналы с одних пинов на другие. А поскольку я к примеру пока в этом вопросе новичок, не рискую даже пытаться. До тех пор пока не начну понимать.
В нём переделывать ничего не нужно, верно. Нужно только уметь перенаправить сигналы с одних пинов на другие. А поскольку я к примеру пока в этом вопросе новичок, не рискую даже пытаться. До тех пор пока не начну понимать.
Для этого нужно в одном из файлов библиотеки закоментировать одну строку и раскоментировать одну строку.
Есть уже и готовые библиотеки предназначеные именно для Меги и Уно, специально для тех, кто не в состоянии один знак переставить из одной строки в другую.
Вся эта информация многократно на этом форуме обсуждалась с примерами, форма поиска находится в правом, верхнем углу этой страницы.
Для этого нужно в одном из файлов библиотеки закоментировать одну строку и раскоментировать одну строку.
Пробовали? А я пробовал. Ничего подобного. - Это специально для самых умных пишу.
Sandr4 описывает вот в этой теме что именно комментировать подробно: http://arduino.ru/forum/obshchii/arduino-mega-2560-i-tft-24
Однако у меня это с таким же шилдом но чипом ILI9341 не сработало. И не только у меня.
Для этого нужно в одном из файлов библиотеки закоментировать одну строку и раскоментировать одну строку.
Пробовали? А я пробовал. Ничего подобного. - Это специально для самых умных пишу.
Sandr4 описывает вот в этой теме что именно комментировать подробно: http://arduino.ru/forum/obshchii/arduino-mega-2560-i-tft-24
Однако у меня это с таким же шилдом но чипом ILI9341 не сработало. И не только у меня.
Специально для ТЕХ КТО РОДИЛСЯ НА БРОНЕПОЕЗДЕ!!!
А вот тут конкретно по теме если даже с поиском у Вас проблеммы.
? (//Так ведь добивали.....сь. Плохо добивали....сь ) в чем конкретно вопрос ?
раз у вас заработало на UNO , на найденной либе, вот её и копайте, в ней вносите изменения (коментите/раскоментите в ней) . Бездумное взятие других либ, может не помочь, ибо у адафруита есть либы для ILI9341 SPI и они не такие как ILI9341 8бит . И UTFT тож зараьотает, в соседней ветке приводили правленную либу для адафруитского шилда ili9327 воткнутого в мегу. в основном останется только инит сменить и выбор с spi на 8бит.
я бы добавил https://it4it.club/forum/16-arduino/ очень отзывчивый люд ! мне один перс вобще код писал и объяснял тупо разжовывал и в рот ложил а мне братцы 41 уже
Извините, возможно не в тему. Но вот какой вопрос. Только начал осваивать Ардуино. Взял Мега 2560, проверил, баботает. Ещё пришёл дисплей ТФТ 2.4". При покупки было написано что совместим с УНО, но возможно и к Мега 2560. Вобщем подключил и светит только белый экран. Поблуждал по инету и видел, как на видео выкладывали подключение Меги и такого дисплея как у меня (и в шапке этого поста). Всё работало. Подскажите мне по-этапно как протестить его. Что-бы удостовериться, что работает исправно.
Ваш дисплейчик такой же как на картинке в первом посте темы? Если да, то он для UNO. Чтобы запустить на Mega, вам нужно пробрасывать пины дисплея с LD_D0 по LD_D7 на 22-29 пины Mega двухрядной гребёнки.
У меня похожий шилд работает и на Uno и на Mega. Для Меги нужно пробрасывать лишь пины для SD-карты, так как SPI на Uno и Mega разведён на разные ноги.
Русифицированный набор библиотек для моего шилда можно взять здесь:
http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafru...
Подскажите тему где можно с самого начала познать все азы. Как загружать библиотеки... Короче вобще всё с самого нуля. За ссылочку буду очень благодарен
Бесплатные книги:
Гололобов В.Н. О проекте Arduino для школьников (и не только) 2011
http://vgololobov.narod.ru/content/arduino/intro.html
Руководство по освоению Arduino 2012
http://robot-kit.ru/manual/Arduino_Sketch_Robot-kit.ru.pdf
Может, есть другой форум, где открыто общаются все? Новички и Бывалые совместно.
Увы, на данном форуме с новичкам не няньчатся - подразумевается, что начальные знания по Ардуино новичок уже нашёл в Интернете (или хотя бы на сайте arduino.ru). Но на правильно поставленные вопросы новичкам даются разумные ответы. Отрицательно воспринимаются вопросы типа "напишите мне код", если этот вопрос не в теме "Ищу исполнителя".
Бесплатные книги:
Гололобов В.Н. О проекте Arduino для школьников (и не только) 2011
http://vgololobov.narod.ru/content/arduino/intro.html
Руководство по освоению Arduino 2012
http://robot-kit.ru/manual/Arduino_Sketch_Robot-kit.ru.pdf
тут был топик, по этому вопросу, как автор, добавьте ваши ссылки в него. если не трудно.
--------------------------
Может, есть другой форум, где открыто общаются все? Новички и Бывалые совместно.
Увы, на данном форуме с новичкам не няньчатся - подразумевается, что начальные знания по Ардуино новичок уже нашёл в Интернете (или хотя бы на сайте arduino.ru). Но на правильно поставленные вопросы новичкам даются разумные ответы. Отрицательно воспринимаются вопросы типа "напишите мне код", если этот вопрос не в теме "Ищу исполнителя".
здесь другой форум и другие люди и специфика другая - полная аналогия сути.
привет всем, есть шилд ST7789V + тачскрин + sd картридер
экран отлично тестирует графику, но не идин скетч тачскрин-тест не работает и вообще не понятно, какие пины выведены на тачскрин с шилда. Вопрос, как юзать тачскрин ?
З.Ы. только у моего маркировка LCD Shield(st7789v) www.mcufriend.сом
привет всем, есть шилд ST7789V + тачскрин + sd картридер
экран отлично тестирует графику, но не идин скетч тачскрин-тест не работает и вообще не понятно, какие пины выведены на тачскрин с шилда. Вопрос, как юзать тачскрин ?
З.Ы. только у моего маркировка LCD Shield(st7789v) www.mcufriend.сом
На этом чипе собаку сьел. Все работает. Так как лички нету ... ссылку дам тут (если запрещено пусть модер удалит) http://eseal.ru/index.php/stati/arduino/spravochnye-dannye/moduli-dlya-arduino/38-2-4-tft-lcd-displej
Статья по этому экрану( правленая под себя чужая статья) что то не понятно будет пишите отвечу...
конкретно у меня была проблемма что были перепутаны пины тача на шилде.
рабочая библеотека тут https://it4it.club/topic/29-24-tft-touch-screen/
рабочая библеотека тут https://it4it.club/topic/29-24-tft-touch-screen/
Страничка зачотная, спасибо. У меня всё засветилось и забегало...
Однако же меня интересует вот что: по дефолту (или мне так кажется), дисплей ориентирован как портрет. А как его перевернуть на 90 градусов в Landscape?
tft.setRotation(tft.getRotation()+1); // разворот экрана на 90 градусов
сам не менял ... но если на этой же библиотеке то так )
по ссылке выше основные команды этой бибилиотеки...
Ну дык там и спросил бы там модер чутьли не за тебя сам програмит )) ну понятно что это пока людей мало
tft.setRotation(tft.getRotation()+1); // разворот экрана на 90 градусов
сам не менял ... но если на этой же библиотеке то так )
по ссылке выше основные команды этой бибилиотеки...
О! Дело пошло!!! Спасибо!
А вот еще вопрос - где можно почитать о доступных коммандах этих библиотек? Что-то я не нахожу там внутри даже "KEYWORDS.txt"
#include <Adafruit_GFX.h>
открываешь файл и смотришь ... коряво .. без описания, но разобраться можно .... с остальным по подобию... с CD сам ковыряюсь пока .. читать картинки научился
#include <Adafruit_GFX.h>
открываешь файл и смотришь ... коряво .. без описания, но разобраться можно .... с остальным по подобию... с CD сам ковыряюсь пока .. читать картинки научился
Та блин, картинки читать - занимает больше 80% памяти только сама процедура вывода. Что-то я уже и не хочу картинки на экран выводить. Поигрался, получилось - и ладно.
дану ) картинку с флешки прочитать ? )
вызов функции
читает картинку в 16 битном цвете (не путать с 16 цветами) с карты и выводин на экран в координаты ...
на адафруте можно сделать и 24 цвета... но у мну экран сним не робит ...
первые 2 цикла пропускают данные о картинке... они почти всегда одинаковые( оттуда например мона почрпнуть размер картинки и использовать в последних циклах, но мне это не надо)... гугл структура BMP файла
выводятся 8 картинок 60х60 секунд за 5 ... но тока при в ключении ... а дальше экран не чищу а стираю квадрат заливая его цветом фона
вызов функции
читает картинку в 16 битном цвете (не путать с 16 цветами) с карты и выводин на экран в координаты ...
на адафруте можно сделать и 24 цвета... но у мну экран сним не робит ...
первые 2 цикла пропускают данные о картинке... они почти всегда одинаковые( оттуда например мона почрпнуть размер картинки и использовать в последних циклах, но мне это не надо)... гугл структура BMP файла
выводятся 8 картинок 60х60 секунд за 5 ... но тока при в ключении ... а дальше экран не чищу а стираю квадрат заливая его цветом фона
Какая-то маленькая функция получилась..... Ану пробану ..
Так, а с библиотеками там как вообще? У меня именно АДАФРУТ только и работает кое-как, и то если ему внаглую вбить 0x9341. Сам он этого не делает...
И кстати - я забыл уже как делать 16-ти битный .BMP )))) А то адафрут 320х240х24b вырисовывает аж за больше чем 3 секунды!
смотря для чего картинка ... я вывожу меню по бокам и не стираю его ... мне время не критично ... в адафруте надо копаться там свои команды есть ... что то типа drawbitmap.....
16 битку делал в онлйн конвертере какомто ...
Здравствуйте, для своих поделок, по неопытности (ардуино) прикупил в Китае несколько Уно с экранами 2.4 - 2.8 ". Курением и бубном все запустил, по разному но общее это "Adafruit_GFX.h" Вот тестовый скетч:
Как видно свободен только А5 аналоговый вход, мне хотелось бы освободить еще два аналога для своего проекта. Возможно ли это? Не используя функции SD карты освободить цифровые каналы и перенаправить аналоги на цифру? И если возможно, то в каких файлах библиотек это надо поправить?
Спасибо!
Здравствуйте, для своих поделок, по неопытности (ардуино) прикупил в Китае несколько Уно
....
Как видно свободен только А5 аналоговый вход, мне хотелось бы освободить еще два аналога для своего проекта. Возможно ли это? Не используя функции SD карты освободить цифровые каналы и перенаправить аналоги на цифру? И если возможно, то в каких файлах библиотек это надо поправить?
Спасибо!
неполностью изрекли . A6 A7 разве уже использовали? (по крайней мере на Али брал 2 вида плат UNO , с разведенными этими пинами по разному. Если atmega328p в планарном корпусе, и эти пины не выведены на гребенку разъемов, то можно самому подпаяться прочитав даташит на атмегу328.
Если SD не используется, то управляющие пины (cd rd wr reset cs) можно на них перепаять иль проводами перекоммутировать, за исключением 2х пинов параллельных тачскрину если вы будете его использовать. в скетче переписать на какие пины вы их перевесили
// вообще для вывода изображения на эти дисплеи с 8ми битной шиной - хватает 8пинов шины данных DB0-DB7 и 2пина управления CD и WR ) . Итого всего-то 10 пинов! остальные пины вырезать из библиотеки, на RD подать + , на CS подать -(gnd) , RESET соеденить с RESET пином ардуино. В скетче принудительно включить ваш тип контроллера.
неполностью изрекли . A6 A7 разве уже использовали? (по крайней мере на Али брал 2 вида плат UNO , с разведенными этими пинами по разному. Если atmega328p в планарном корпусе, и эти пины не выведены на гребенку разъемов, то можно самому подпаяться прочитав даташит на атмегу328.
Тоесть я могу без танцев подпаятся на 22 (ADC7) и 19 (ADC6) ноги и использовать их как дополнительные аналоговые входа, без всяких правок? Это было бы просто замечательно. Мне три аналога хватит за глаза.
Спасибо большое за ликбез.
ардуинка у вас какая ? ...
в инете есть пара статей как вход резет на экране освободить ... 1 аналоговый получите...
там библиотеку править надо ... если у вас библиотека стандартная adafruit то возможно ... а я просто купил мегу... еще 8 портов аналогвы свободно ...
У меня есть скетч для определения и библиотеки для этого экрана. Если ещё актуально, подскажите как их сюда скинуть. А то чего то не пойму. Путаюсь я в этом форуме.
А на Мегу пойдёт? А то от UNO не работает у меня, хотя говорят, что поддерживает. Надо только что-то изменить в программах...
библиотека эта?
https://github.com/adafruit/TFTLCD-Library
Не понял я. Если вопрос ко мне... Нет. Мне китаец её выслал. В Интернете нет.
на меге идет что адафрут что mkufriend.
на дуо вторую запустить не смог ... хотя и не сильно заморачивался
Сильно не ругайте, я новичок, учусь, купил такую Ардуино http://ru.aliexpress.com/item/Free-shipping-latest-1lot-1-set-1pcs-UNO-R... и такой монитор http://ru.aliexpress.com/item/Free-Shipping-2-8-inch-TFT-Touch-LCD-Screen-Display-Module-for-UNO-R3-mega2560/32507684364.html 2 вечера протанцевал с бубном, вроде запустился экран, тесты пошли (до этого был белый экран) не могу проверить тач-скетч записывается на экран выводтся символы но тач не реагирует. И еще при комплировании скетча вылетает много строк красным,я так понимаю это какие то ошибки в коде. На пакетике монитора среди китайских символов есть надпись "2,8 (кит иероглифы) UNO" и тип контроллера "ILI9341" Насчет тача почитал но пока не понял что с этой бедой делать, может кто знает?
1. кинь скетч тестов. китайцы дают тесты без библиотек... тоесть не понятно выводить что то на экран ты уже можешь или нет ?
2 по тачу http://eseal.ru/index.php/stati/arduino/spravochnye-dannye/moduli-dlya-arduino/38-2-4-tft-lcd-displej тут описал свои танцы с бубном...
3. если всетаки юзаешь библиотеку то какую.. у меня чип другой... у тебя ILI9341 с ним пойдет обычная библиотека адафрут... у меня st7789 с ним тока Mcufriend работает...хотя заработает она и у тебя...
На экран выводил почти все тесты, кроме просмотра с сд карточки и с тачем еще мучаюсь. Китаец после двух обращений скинул библиотеки и примеры для монитора. Библиотеки разные пробовал для тача - не получается пока. Библиотеки и примеры он мне на почту прислал-13 мб, Mcufriend у меня тоже частично работает но без тача.
проверь вывод текста к примеру на экран ...
и почитай ссылку... та по тачу написано ...
библиотека TouchScreen.h
основные проблеммы... выяснить выходы на экране.. и масштабация..
1. кинь скетч тестов. китайцы дают тесты без библиотек... тоесть не понятно выводить что то на экран ты уже можешь или нет ?
2 по тачу http://eseal.ru/index.php/stati/arduino/spravochnye-dannye/moduli-dlya-arduino/38-2-4-tft-lcd-displej тут описал свои танцы с бубном...
3. если всетаки юзаешь библиотеку то какую.. у меня чип другой... у тебя ILI9341 с ним пойдет обычная библиотека адафрут... у меня st7789 с ним тока Mcufriend работает...хотя заработает она и у тебя...
Тест с буквами уже попробовал русифцировать, получилось, я в принципе не "писатель" я тупо копи-пастер, но помаленьку в суть вникаю, уже перепробовал кучу всяких датчиков, на подходе шилды-тоже буду пробовать.
Определение координат сенсорной точки
Для обнаружения нажатия необходимо знать сопротивление между крайними координатами по X. Сопротивление можно измерить с помощью любого мультиметра. Величина сопротивления, например, 300 ом и размеры сенсорной зоны устанавливаются отношением (Сопротивление меряется между пинами XM и XP).Замерив его я обнаружил что у меня пины перепутаны пины wr и rs. Сответсвенно поменял выводы в скетче
#define YP A1 // must be an analog pin
#define XM A2 // must be an analog pin
#define YM 7 // can be a digital pin
#define XP 6 // can be a digital pin
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); // 300 это и есть сопротивление. в моем случае было 269
Для работы с сенсорным экраном необходимо подключить библиотеку
#include <TouchScreen.h> // библиотека сенсорного экрана
Обычно измеренные координаты сенсорной зоны дисплея масштабируются в координатах зоны изображения.
#define TS_MINX 150
#define TS_MINY 120
#define TS_MAXX 920
#define TS_MAXY 940
в координаты зоны изображения 240 x 320 точек с использованием следующих команд.
tft.fillRect(165, 160, 130, 52, ORANGE); // построение прямоугольника
TSPoint p = ts.getPoint(); // считывание координат нажатия в зоне 1024 х 1024
p.x = tft.width()-(map(p.x, TS_MINX, TS_MAXX, tft.width(), 0)); // преобразование
p.y = tft.height()-(map(p.y, TS_MINY, TS_MAXY, tft.height(), 0)); // преобразование
// нажатие в зоне прямоугольника ?
if ((p.x > 15) and (p.x < 90) and (p.y > 120) and (p.y < 215)){…}
Несовпадение преобразованных координат нажатия на углы прямоугольника по оси Х с координатами построения изображения прямоугольника получилось как 15 к 160 и 90 к 212. Несовпадение можно уменьшить проведя калибровку резистивной матрицы сенсорного экрана.
Другой вариант использования тестовых угловых координат для определения - произошло ли нажатие в прямоугольной зоне, позволяет отказаться от функции перевода (масштабирования):
TSPoint p = ts.getPoint();// считывание координат нажатия в зоне 1024 х 1024
// нажатие в зоне прямоугольника ?
if ((p.x > 200) and (p.x < 365) and (p.y > 525) and (p.y < 840)){…}
Особенности построения сенсорных клавиш
При использовании сенсорного дисплея для ввода реакции пользователя необходимо на экране показать зоны ввода (сенсорные клавиши). От варианта построения клавиш исчитывая координат нажатия на экран зависит надежность срабатывания ввода. Рассмотрим
два варианта организации ввода через дисплей.
1. Одна клавиша используется для ввода двух состояний, например, ВКЛ./ВЫКЛ. (ON/OFF)
2. Используются две клавиши: одна для ON, а другая для OFF.
В первом варианте за время нажатия происходило многократное переключение клавиши с ON на OFF и обратно, что затрудняло установку заданного положения клавиши. При введении 100 мс задержки между переключениями потребовалось значительно увеличить силу нажатия и, зачастую, требовалось многократное нажатие для изменения состояния клавиши.
Использование двух клавиш увеличило зону экрана занятую вводом, однако в этом варианте не зависимо от задержки происходило уверенное переключение даже при минимальной силе нажатия.
проверь вывод текста к примеру на экран ...
и почитай ссылку... та по тачу написано ...
Текст на экран выводится изумительно!
этот тест (тач) я пробовал уже вчера -картинки выводит а на тач не реагирует. Блин где то сохранил список ошибок при компиляции и найти не могу...
у меня вроде так Пина тачскрина: A2-Xm, A3-Yp, D8-Xp, D9-Ym
тестером звякни между xp и xm
тестером звякни между xp и xm
ОК, спасибо, завтра гляну, сегодня уже поздно
я тож датый... лень доставать )
У меня такой точно шилд. запускается вот как:
У меня такой точно шилд. запускается вот как:
а полностью скетч дать можешь? У меня немного отличается от твоего.
я тож датый... лень доставать )
померял сопротивление между XM и XP -получилось 9.** кОм на плате и около 10 к на шилде... непоняточки
Прошу пардону, подскажите а можно для модулей использовать стороннее питание +5 +3,3 и естественно ГНД чтобы не нагружать шину питания ардуино а сигналы взять с ардуино?
вот сообщение с ошибкой при компиляции