Помогите c подключение ARDUINO UNO + 2.4TFT + RTC1307+DS18b20+relay на 2 порта

masterbob
Offline
Зарегистрирован: 22.01.2015

Добрый день!

Нужна помощь.

Есть ARDUINO UNO R3.

К нему подключили 2.4" TFT TOUCHSCREEN http://ru.aliexpress.com/item/-/1954323517.html?recommendVersion=1.

Были скачаны и установлены соответствующие библиотеки http://www.smokeandwires.co.nz/blog/a-2-4-tft-touchscreen-shield-for-arduino/. Все более, менее заработало. Контроллер определило как ST7783. 

Проблема возникла с подлючением RTC1307, так как 4 аналоговый пин занят  под TFT. (ЧТЕНИЕ с SD карты, установленной на экране не интересует!)

Arduino Pin Connections

Arduino Pin LCD Shield Pin Use
3.3V 3.3V Power
5V 5V Power
GND GND Power
A0 LCD_RD LCD Control
A1 LCD_WR   TOUCH_YP LCD Control / Touch Data
A2 LCD_RS     TOUCH_XM LCD Control / Touch Data
A3 LCD_CS LCD Control
A4 LCD_RST LCD Reset
D2 LCD_D2 LCD Data
D3 LCD_D3 LCD Data
D4 LCD_D4 LCD Data
D5 LCD_D5 LCD Data
D6 LCD_D6 / TOUCH XP LCD Data/ Touch Data
D7 LCD_D7 / TOUCH YM LCD Data / Touch Data
D8 LCD_D0 LCD Data
D9 LCD_D1 LCD Data
D10 SD_CS SD Select
D11 SD_DI SD Data
D12 SD_DO SD Data
D13 SD_SCK SD Clock

Также интересует возможность расширения устройства с подключением датчика температуры DS18b20 и 2 Channel Relay Module и 

Спасибо!

В ?

 

 

bwn
Offline
Зарегистрирован: 25.08.2014

 

Есть библиотека для DS1307 она на программном I2C висит, на цифровых пинах. Хотя по вашей распиновке это вряд ли поможет. Нет желания с таким чудесным дисплеем расстаться до покупки МЕГИ?

Даже если SD ку удастся заблокировать чтобы не мешала, все равно на реле ног почти не остается.

adel
adel аватар
Offline
Зарегистрирован: 03.02.2015

ну в принципе для подключения датчика DS18b20 можно использовать пины 10-13 - их запитывает SD как я понимаю (смотрю на свою плату уно 3 и тоже озадачился этим вопросом

как к уно прицепить пару датчиков

bwn
Offline
Зарегистрирован: 25.08.2014

adel пишет:

ну в принципе для подключения датчика DS18b20 можно использовать пины 10-13 - их запитывает SD как я понимаю (смотрю на свою плату уно 3 и тоже озадачился этим вопросом

как к уно прицепить пару датчиков

По нормальному, посмотреть по схеме или дорожкам как они подключены к SD. Если просто напрямую, то подключать параллельно, нет, возможно резать. Итого получается 10,11 часы, 12 DS, 13 и А5 реле. Но по моему это бред, когда процессор фактически обслуживает только дисплей.

adel
adel аватар
Offline
Зарегистрирован: 03.02.2015

ну мне не надо часы пока, у меня другой проект немного

но вот то что бред - согласен, а в сети пока не нашел чего то более разумного
да и мне нужны немного другие выходы немного - буду думать че и как и искать решения

не хочется отказываться пока от этого экрана

masterbob
Offline
Зарегистрирован: 22.01.2015

Спасибо за ответы.

Результат понятен! Нужна Arduino MEGA и все тогда решается!

adel
adel аватар
Offline
Зарегистрирован: 03.02.2015

В принципе есть решения увеличение входных выходных ног, как увязать с экраном - пока открытый вопрос для меня

bwn
Offline
Зарегистрирован: 25.08.2014

adel пишет:
В принципе есть решения увеличение входных выходных ног, как увязать с экраном - пока открытый вопрос для меня

Оч легко, взять и написать библиотеку)))

bwn
Offline
Зарегистрирован: 25.08.2014

masterbob пишет:

Спасибо за ответы.

Результат понятен! Нужна Arduino MEGA и все тогда решается!

Ничего у вас не решается, дальше это будет тормозить не по детски.

adel
adel аватар
Offline
Зарегистрирован: 03.02.2015

Ну я нашёл только увеличение пионов на чипе только, а как писать библиотеки не изучал ещё

bwn
Offline
Зарегистрирован: 25.08.2014

adel пишет:
Ну я нашёл только увеличение пионов на чипе только, а как писать библиотеки не изучал ещё

)))

adel
adel аватар
Offline
Зарегистрирован: 03.02.2015

Есть какие то предложение или готоаыеирешения по экрану? Чтобы уменьшить количество портов

adel
adel аватар
Offline
Зарегистрирован: 03.02.2015

не могу победить вывод показания с DS18b20 на TFT 2.4" 

если прописывать через переменную temp как в случае с LCD 1602 - выдает ошибку 

Arduino: 1.6.0 (Windows 8), Плата"Arduino Uno"

TFTLCD_v0.1.ino: In function 'long unsigned int testText()':
TFTLCD_v0.1.ino:161:30: error: 'temp' was not declared in this scope
Ошибка компиляции.

  This report would have more information with
  "Отображать вывод во время компиляции"
  enabled in File > Preferences.

 

 

adel
adel аватар
Offline
Зарегистрирован: 03.02.2015

как выводить данные с DS18b20 на TFT LCD?



если пытаться писать по аналогии



temp = sensors.getTempCByIndex(1);



//Print second sensor result

lcd.setCursor (9, 0 );

lcd.print("T2:"); 

lcd.print(temp);

lcd.print(" ");



то через команду tft.println(temp); // выдает ошибку

bwn
Offline
Зарегистрирован: 25.08.2014

В соседней теме на 1.6.0 было что то подобное. Попробуйте другом IDE/

sv18sv
Offline
Зарегистрирован: 10.02.2016

Решение есть, и оно простое.

МОЖНО использовать  порты LCD_D0 ....LCD_D7 , для подключения разного "навеса" на шилд экрана, предварительно сохранив состояние порта D7 , а после выполнения подпрограмм обработки вернув состояние порта обратно (но в пределах разумного- реле вешать нельзя,но можно для реле использовать порты SD карты).

Так-же решается проблема с "глюками" совместной работы LCD и TACHSCREEN. Перед опросом тачскрина сохраняете состояние порта

С и D, получив данные- возвращаете состояние в исходное .

Если у кого-то не запускается шилд с ID 0xC505 -но ID определяется -копать нужно в сторону библиотеки, кривовато идет инициализация камня дисплея , решение есть .