Я тупой и не могу ничего скрафтить на ардуине, помогите, плиз.
- Войдите на сайт для отправки комментариев
Добрый день. Я начал изучать ардуины, но я очень глуп и не понимаю ничерта, однако не теряю надежды.
Возникла следущая проблема: при подключении ТФТ дисплея ILI9163C к Arduino Mega 2560 не происходит ничего.
Подключаю по такой распиновке:
LED (BACKLIGHT) 3.3v
SCK (SCLK) pin 13
SDA (MOSI) pin 11
A0 (DC) pin 9
RESET (RESET) pin 8
CS (CS) pin 10
GND (GND) GND
VCC (VCC) 5v
#include <SPI.h> #include <Adafruit_GFX.h> #include <TFT_ILI9163C.h> // Color definitions #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF /* Teensy3.x and Arduino's You are using 4 wire SPI here, so: MOSI: 11//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site) MISO: 12//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site) SCK: 13//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site) the rest of pin below: */ #define __CS 10 #define __DC 9 /* Teensy 3.x can use: 2,6,9,10,15,20,21,22,23 Arduino's 8 bit: any DUE: check arduino site If you do not use reset, tie it to +3V3 */ TFT_ILI9163C tft = TFT_ILI9163C(__CS,8, __DC); uint16_t ccenterx,ccentery;//center x,y of the clock const uint16_t cradius = 63;//radius of the clock const float scosConst = 0.0174532925; float sx = 0, sy = 1, mx = 1, my = 0, hx = -1, hy = 0; float sdeg=0, mdeg=0, hdeg=0; uint16_t osx,osy,omx,omy,ohx,ohy; uint16_t x0 = 0, x1 = 0, yy0 = 0, yy1 = 0; uint32_t targetTime = 0;// for next 1 second timeout uint8_t hh,mm,ss; //containers for current time void drawClockFace(){ tft.fillCircle(ccenterx, ccentery, cradius, BLUE); tft.fillCircle(ccenterx, ccentery, cradius-4, BLACK); // Draw 12 lines for(int i = 0; i<360; i+= 30) { sx = cos((i-90)*scosConst); sy = sin((i-90)*scosConst); x0 = sx*(cradius-4)+ccenterx; yy0 = sy*(cradius-4)+ccentery; x1 = sx*(cradius-11)+ccenterx; yy1 = sy*(cradius-11)+ccentery; tft.drawLine(x0, yy0, x1, yy1, BLUE); } } static uint8_t conv2d(const char* p) { uint8_t v = 0; if ('0' <= *p && *p <= '9') v = *p - '0'; return 10 * v + *++p - '0'; } void setup(void) { tft.begin(); tft.setTextColor(WHITE, BLACK); ccenterx = tft.width()/2; ccentery = tft.height()/2; osx = ccenterx; osy = ccentery; omx = ccenterx; omy = ccentery; ohx = ccenterx; ohy = ccentery; drawClockFace();// Draw clock face //get current time from compiler hh = conv2d(__TIME__); mm = conv2d(__TIME__+3); ss = conv2d(__TIME__+6); targetTime = millis() + 1000; } void drawClockHands(uint8_t h,uint8_t m,uint8_t s){ // Pre-compute hand degrees, x & y coords for a fast screen update sdeg = s * 6; // 0-59 -> 0-354 mdeg = m * 6 + sdeg * 0.01666667; // 0-59 -> 0-360 - includes seconds hdeg = h * 30 + mdeg * 0.0833333; // 0-11 -> 0-360 - includes minutes and seconds hx = cos((hdeg-90)*scosConst); hy = sin((hdeg-90)*scosConst); mx = cos((mdeg-90)*scosConst); my = sin((mdeg-90)*scosConst); sx = cos((sdeg-90)*scosConst); sy = sin((sdeg-90)*scosConst); // Erase just old hand positions tft.drawLine(ohx, ohy, ccenterx+1, ccentery+1, BLACK); tft.drawLine(omx, omy, ccenterx+1, ccentery+1, BLACK); tft.drawLine(osx, osy, ccenterx+1, ccentery+1, BLACK); // Draw new hand positions tft.drawLine(hx*(cradius-28)+ccenterx+1, hy*(cradius-28)+ccentery+1, ccenterx+1, ccentery+1, WHITE); tft.drawLine(mx*(cradius-17)+ccenterx+1, my*(cradius-17)+ccentery+1, ccenterx+1, ccentery+1, WHITE); tft.drawLine(sx*(cradius-14)+ccenterx+1, sy*(cradius-14)+ccentery+1, ccenterx+1, ccentery+1, RED); tft.fillCircle(ccenterx+1, ccentery+1, 3, RED); // Update old x&y coords osx = sx*(cradius-14)+ccenterx+1; osy = sy*(cradius-14)+ccentery+1; omx = mx*(cradius-17)+ccenterx+1; omy = my*(cradius-17)+ccentery+1; ohx = hx*(cradius-28)+ccenterx+1; ohy = hy*(cradius-28)+ccentery+1; } void loop() { if (targetTime < millis()) { targetTime = millis()+1000; ss++; if (ss == 60) { ss = 0; mm++; if(mm > 59) { mm = 0; hh++; if (hh > 23) hh = 0; } } drawClockHands(hh,mm,ss); } }
При компиляции начинает ругаться на строчку
tft.fillCircle(ccenterx, ccentery, cradius, BLUE);
Что происходит я не понимаю. Подскажите, пожалуйста, что делать. И, если не сложно, где почитать описание распиновки ардуино мега на русском языке. Скорее всего она где-то есть, но, поскольку я туповат, не смог её найти.
Заранее большое спасибо за помощь.
здесь распиновка
Этот скетч попробуйте
Дисплей другой но будет понятно, что неправильно
а для меги тут есть http://arduino.ru/forum/apparatnye-voprosy/displei-na-ili9341?page=1
Большое спасибо, сейчас буду пробовать.
Вот какую ошибку показывает.
error: 'ILI9163C' was not declared in this scope
Я правильно понимаю, что вот этой строчкой:
UTFT myGLCD(ILI9341_16,38,39,40,41); // прописываем сюда дисплей сэндвича
задается подключение экранчика к входам ардуины?
И если да, то какие это выходы экранчика? И что значат названия лапок SCK, SDA?
Где-то есть вообще внятные мануалы по ардуинам? Просто те, что я нашел в виде видеоуроков учат втыкать проводки в дырочки, а это я и сам могу ловко очень делать.
Добрый день. Я начал изучать ардуины, но я очень глуп и не понимаю ничерта, однако не теряю надежды.
Та ладно, разслабтесь. Живут же люди и без этого. Недано - так недано. У всех есть пробелы. Я например штукатурить не могу, не получается и все. Найдите себя в чем другом. А если уж решили попробовать, так начинайте с чего проще чем экран. Ведь получается, как ученик автошколы, вместо катания с инструктором сразу на ралийную гонку стартуете, и просите - "хэлпми", как дойти до финиша? Да, можна дотянуть до финиша Вас на буксире, но Вам то что от этого будет? Ну конечно, если вы не студент и вам не "абысдать".
ПС. Ну допустим, есть вопрос "И что значат названия лапок SCK, SDA?" А чего не загуглить эти SCK, SDA? Ответ сразуже будет. И так на будущее.
Да, пожалуй вы правы. Пойду погуглю.
Однако вопрос об ошибке остается актуален.
Так, эту проблему я решил. На програмную часть больше не ругается. Однако экран только светится и не показывает ровным счетом НИЧЕГО, кроме подсветки.
Распиновка теперь такая:
LED (BACKLIGHT) 3.3v
SCK (SCLK) pin 52
SDA (MOSI) pin 51
A0 (DC) pin 9
RESET (RESET) pin 8
CS (CS) pin 10
GND (GND) GND
VCC (VCC) 5v
Скетч выглядит вот так
С пинами и прочим разобрался.Ошибка возникала из-за отсутствия графической библиотеки Adafruit_GFX.h
Я начал изучать ардуины, но я очень глуп и не понимаю ничерта, однако не теряю надежды.
Человек сразу признался, что на него не стоит тратить своё время.
Я начал изучать ардуины, но я очень глуп и не понимаю ничерта, однако не теряю надежды.
Человек сразу признался, что на него не стоит тратить своё время.
...Полу мудрец...полу невежда...но есть надежда, что станет полным! Наконец
Вот какую ошибку показывает.
error: 'ILI9163C' was not declared in this scope
Я правильно понимаю, что вот этой строчкой:
UTFT myGLCD(ILI9341_16,38,39,40,41); // прописываем сюда дисплей сэндвича
задается подключение экранчика к входам ардуины?
И если да, то какие это выходы экранчика? И что значат названия лапок SCK, SDA?
Где-то есть вообще внятные мануалы по ардуинам? Просто те, что я нашел в виде видеоуроков учат втыкать проводки в дырочки, а это я и сам могу ловко очень делать.
Вашего дисплея в этой либе нет, но вы можете обратить как-бы другим типом дисплея, если правильно распаян какое-то изображение быть должно, по ссылке в посте рассматривается и ваш дисплей, нашёл позднее
справа вверху поиск по форуму , можете забить свой ILI9163C .ну или загуглить , ещё больше найдете
Существуют дисплеи ILI9163C на красной плате, на черной плате, на красной плате с желтыми штырьками. Они все разные. Как правило все проблем происходят из-за неправильной настройки библиотеки под свой дисплей.
Существуют дисплеи ILI9163C на красной плате, на черной плате, на красной плате с желтыми штырьками. Они все разные. Как правило все проблем происходят из-за неправильной настройки библиотеки под свой дисплей.
Как у них с этим дисплеем запущено )))
"...когда в обществе отсутствует цветовая дифференциация штанов..." (C) КУ
....
Как у них с этим дисплеем запущено )))
"...когда в обществе отсутствует цветовая дифференциация штанов..." (C) КУ
Как у них с этим дисплеем запущено )))
Смотря в каком смысле, если расчитываете купить, тыкнуть и заработало, то наверно да, т.к. каждый китаец паяет как желает и цвет по вкусу выбирает. Но контроллер то один, читаете на него спеку - https://www.crystalfontz.com/controllers/ILItek/ILI9163C/136 Понятное дело что ниче не понимаете, это нормально, достаточно поверхам глянуть и иметь представление что в ней можна найти и где, если с английски совсем плохо -ну так хоть картинки посмотреть. Полезно рускоязычную статейку тоже зачитать. Они в паре лучше усвояются. После этого можна и платы посмотреть, и окажется что в общем они одинаковые только цветом и подробностями отличаются (но одной же мелочи достаточно чтоб совсем не работало!!!): там к одному штырю припаяли здесь к соседнему (не беда - правим скетч), там один вариант шины, здесь немного другой (не беда настраиваем либу, или меняем или свою пишем).
....
Как у них с этим дисплеем запущено )))
"...когда в обществе отсутствует цветовая дифференциация штанов..." (C) КУ
Вы не одиноки, 99 и 9 в периоде ничёнипанимают, о чём говорится в киндзаза )))
Начните с КУ, если Вам это конечно интересно
Как у них с этим дисплеем запущено )))
Смотря в каком смысле, если расчитываете купить, тыкнуть и заработало, то наверно да, т.к. каждый китаец паяет как желает и цвет по вкусу выбирает. Но контроллер то один, читаете на него спеку - https://www.crystalfontz.com/controllers/ILItek/ILI9163C/136 Понятное дело что ниче не понимаете, это нормально, достаточно поверхам глянуть и иметь представление что в ней можна найти и где, если с английски совсем плохо -ну так хоть картинки посмотреть. Полезно рускоязычную статейку тоже зачитать. Они в паре лучше усвояются. После этого можна и платы посмотреть, и окажется что в общем они одинаковые только цветом и подробностями отличаются (но одной же мелочи достаточно чтоб совсем не работало!!!): там к одному штырю припаяли здесь к соседнему (не беда - правим скетч), там один вариант шины, здесь немного другой (не беда настраиваем либу, или меняем или свою пишем).
Я сейчас другой дисплей мучаю, у меня всё работает, проект индийского программиста, вот сижу пытаюсь написать общение по протоколу GS-232 и, даже вроде получается, хотя в СИ не в зуб ногой, пока материалов по языку с этого сайта хватает, но это пока, тут надо преобразование из char в int организовать, разбираюсь...
Погуглите "atoi"
Вы не одиноки, 99 и 9 в периоде ничёнипанимают, о чём говорится в киндзаза )))
Начните с КУ, если Вам это конечно интересно
"...когда в обществе отсутствует цветовая дифференциация штанов..." (C) КУ
А чего не продолжили, то??? Там ведь очень хорошо сказано "..., то нет цели!". Так что всё отлично с эими дисплеями. Были б они все одинаковые и все б хорошо работали, о чём бы мы тут трепались? На чём бы зарабатывали продавцы попкорна? А так, всё замечательно!
Дабы не плодить ненужные темы - напишу сюда:
Вообщем, я как и топикстартер, не сидён в ардруине. Заказал с китая ардруину УНО, дисплей 1.44 дюйма (на ST7735) и часы реального времени ds1307. Уже неделю ковыряюсь немогу простейшие часы на LED экране собрать((( сам экран и часы к ардруине подключил, написать скетч проблема ))....кто поможет разобраться начинающему??
Никто не поможет, пока не выложите схему подключения и скетч, с которыми "неделю ковыряетесь", и не начнёте задавать конкретные вопросы по ним.
Дабы не плодить ненужные темы - напишу сюда:
Вообщем, я как и топикстартер, не сидён в ардруине. Заказал с китая ардруину УНО, дисплей 1.44 дюйма (на ST7735) и часы реального времени ds1307. Уже неделю ковыряюсь немогу простейшие часы на LED экране собрать((( сам экран и часы к ардруине подключил, написать скетч проблема ))....кто поможет разобраться начинающему??
я помогаю начинающим здесь Памахите навечку! 001 - заходи, помогу, чем смогу.
да есть тут простейшие часы, идут хреново и DS не нужна, начните хотя бы с этого )))