Подключение LCD и ethernet shield к Ардуино одновременно
- Войдите на сайт для отправки комментариев
Втр, 19/06/2012 - 14:43
Подскажите пожалуйста, возможно ли одновременное подключение LCD экрана и ethernet shield к Ардуино Duemilanove? Если для этого необходимо использовать сдвиговый регистр 74HC595, то хотелось бы увидеть конкретную схему подключения. Экран подключен у меня по LiquidCrystal lcd(12, 11, 5, 4, 3, 2);.
P.S. Достойного и понятного примера на форуме и в нете не нашел.
А почему вы просто не подключите дисплей к другим выводам, которые не заняты из.шилдом? например: LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
я пробовал, но к сожалению мой китайский дисплей отказался работать по другим схемам подключения, хотя в даташите к дисплею как бы написано, что дисплей выполнен на чипе, совместимом с HD44780.
Это не дисплей отказываеся работать, это скорее всего вы его не правильно подключаете.
Не знаю как вы искали... но вот один из вариантов подключения дисплея вместе с шилдом:
Вот источник.
Это не дисплей отказываеся работать, это скорее всего вы его не правильно подключаете.
Ну если я смог подключить lcd по схеме (12, 11, 5, 4, 3, 2) и он работает, то ошибиться при подключении по другим схемам довольно сложно.
Есть еще какие - нибудь впарианты совместить изернет шилд и лсд?
http://sree.cc/electronics/connecting-an-lcd-and-ethernet-shield-with-an...
Повторюсь. этот вариант не работает у меня. Экран упорно работает только при подключении (12, 11, 5, 4, 3, 2). Может попробовать другой экранчик?)))
Может попробовать другую библиотеку.
demon969, подправьте библиотеку под те пины которые будете использовать и будет вам счастье.
У меня точно такая же проблема , после инициализации сети напрочь отказывается выводить какие либо данные на дисплей !
Вот код программы ( у меня 2560 и лсд сидит на последних пинах )
#include <SPI.h>
#include <Ethernet.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(52, 51, 50, 45, 44, 43, 42);
byte mac[] = {
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
EthernetClient client;
void setup() {
lcd.print("My IP address "); // это показывает
delay(2000);
Serial.begin(9600);
lcd.clear(); // это работает
lcd.print("My 7777777 "); // работает
// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
lcd.setCursor(0,0); // Отсюда уже ничего нет и дальше тоже
Serial.println("Failed to configure Ethernet using DHCP");
lcd.println("Failed to configure Ethernet using DHCP");
// no point in carrying on, so do nothing forevermore:
lcd.clear();
for(;;)
;
}
// print your local IP address:
// lcd.setCursor(4,0);
lcd.clear();
lcd.print("My IP address: ");
Serial.print("My IP address: ");
for (byte thisByte = 0; thisByte < 4; thisByte++) {
// print the value of each byte of the IP address:
lcd.setCursor(0,1);
lcd.print(Ethernet.localIP()[thisByte], DEC);
lcd.print(".");
Serial.print(Ethernet.localIP()[thisByte], DEC);
Serial.print(".");
}
Serial.println();
}
void loop() {
}
Хочу добавить ко всему , изернет шилд работает только по пину 10 !!! я оставлял подключенный только его и питание , шилд с сетью работает а вот дисплей нет !!!!!!!
У Меги выводы SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) - эти выводы уже заняты изернетом, а у вас к ним же подключен дисплей. Так что подключите на другие выводы дисплей и будет вам счастье...
Надеюсь что вы правы , только дисплей там так удобно расположился что аж незнаю кск бы его подвинуть )))))) Но попробую ! А почему тогда шилд работает только с 10 выводом ???
Вообще странно, что у вас шилд работает с Мегой без доработок... скорее всего он не работает... вам нужно соеденить проводком 10 вовод шилда с 53 выводом Меги, так как библиотека Ethernet использует полностью аппаратный SPI.
MISO, MOSI, SCK шилд берет из разъема ICSP, а SS с 10 вывода, но аппаратный SS у Меги находится не на 10 выводе, а на 53.
Mega2560 а шилд w5100 и работает нормально !!!!
Пробовали отправлять данные на сервер или поднять сервер?
запрашивает адрес с dhcp сервера , видно по логам и кидает в терминал что тоже видно !! сейчас сервер попробую !
Попробовал все идеально работает , взял пример из библиотеки WebServer а на шилде оставил только ноги питания и 10 вывод , остальные отогнул !!!
Да, действительно, сейчас сам проверил, видать в последних версиях библиотек это учли...
Ну уж отгибать то не надо было... речь шла о 10 и 53 выводе. Вам нужно освободить 52, 51, и 50 выводы - они заняты шилдом.
пробую , с 48 пина на уменьшение пойдет ?????
дак шилд до нихне достает , иль програмная какая то привязка ???
да, и соответственно их проинициализируйте LiquidCrystal lcd(?, ?, ?, ?, ?, ?, ?);
дак шилд до нихне достает , иль програмная какая то привязка ???
Не понял...
Вы про 52, 51, и 50 выводы? что изернет шилд до них не достает?
да я про выводи и шилд !! сейчас пробую LiquidCrystal lcd(48, 47, 46, 41, 40, 39, 38);
Все пошло при условии LiquidCrystal lcd(48, 47, 46, 41, 40, 39, 38); !!!!!!!!!! Большое спасибо !! Я бы долго нервничал еще и не понимал что за такое !!
Они запараллены с разъемом ICSP
Но лишь проблема , какой то из этих выводов занят прогроматором и скетч только при отключеном дисплее заливается )))) но эт мелочь )))
Диплей вроде как не должен мешать, для заливки скейтча не должны быть заняты выводы RXD->1 и TXD<-0.