DHCP тестер

dagon86rus
Offline
Зарегистрирован: 23.04.2019

Здравствуйте ардуинщики! Поделитесь опытом с новичком. Пытаюсь собрать DHCP тестер OzBeLAN, не могу сообразить, как подключать. Если подключить бутербродом lcd keypad shield 16x2 --> ethernet shield w5100 --> arduino uno, экран показывает, но ip адрес не получает (через монитор порта тоже не хочет), если отсоединить экран, покажет ip через монитор порта. Пробовал разные скетчи, разную сеть. Шаманить куда подключать уже устал. В проект так же хочу запихнуть аккумулятор от старого телефона или 18650 банку, индикатор ёмкости li-ion и чтоб заряжалось от самой arduino. Подскажите схему чтоб сразу спаять на arduino nano 328, планировал собирать на nano, да и uno приказала долго жить. Программирование знаю очень плохо, но строку LiquidCrystal lcd и кнопки я вроде как смог подстроить.

Ссыль на скетч автора проекта --> http://www.jo3ri.be/arduino/projects/ozbelan

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

подпишусь

sadman41
Offline
Зарегистрирован: 19.10.2016

Как выглядит "lcd keypad shield 16x2"?

dagon86rus
Offline
Зарегистрирован: 23.04.2019
sadman41
Offline
Зарегистрирован: 19.10.2016

Понятно. В инициализации ликвидкристала указываются выходы 10, 11, 12, 13?

dagon86rus
Offline
Зарегистрирован: 23.04.2019

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

Получается нужно указать 10, 11, 12, 13? А последние две цифры?

sadman41
Offline
Зарегистрирован: 19.10.2016

Нет, не нужно. На 10,11,12,13 висит Ethernet Shield и это бы объяснило конфликт между ними. А так я даже и не знаю, что сказать. Никакой явной проблемы тут не наблюдается. Разве что где-то замыкают эти шилды друг на друге. Или питания не хватает.

dagon86rus
Offline
Зарегистрирован: 23.04.2019

sadman41 пишет:

Понятно. В инициализации ликвидкристала указываются выходы 10, 11, 12, 13?

Я по разному пробывал, уже и не вспомню, но проверить сейчас не смогу, оставил всё на работе. Завтра вечером попробую сразу спаять если подскажите что куда. Соединительными проводами не получается, плохой контакт, вот и прошу подсказать куда паять, чтоб не гадать.

dagon86rus
Offline
Зарегистрирован: 23.04.2019
dagon86rus
Offline
Зарегистрирован: 23.04.2019

sadman41 пишет:

Разве что где-то замыкают эти шилды друг на друге. Или питания не хватает.

Так я и спалил свою uno, подключил блок на 12 вольт, а только после того как uno перестала нормально функцианировать, я проверил его через тестер и он оказался на 20(

Не знаю как так получилось, но на корпусе было написано 12 вольт

sadman41
Offline
Зарегистрирован: 19.10.2016

Может ещё у кого-то мысля будет, а я что-то подустал угадывать что там куда замкнуть могло. Как паять - по вашей ссылке разрисовано всё вроде.

dagon86rus
Offline
Зарегистрирован: 23.04.2019

Когда получил свой ethernet shild были замкнут контакт и вход для карты памяти как на картике. Я по началу тоже не мог понять что я делаю не так. Экран даже не показывал пока я не убиру ethernet. Теперь всё хорошо не считая того что не работает должным образом. Я как бы отсеивал мысли о том что проблема из-за этого, так как по отдельности то они работают. Может всё таки в этом проблема?

dagon86rus
Offline
Зарегистрирован: 23.04.2019

sadman41 пишет:

Может ещё у кого-то мысля будет, а я что-то подустал угадывать что там куда замкнуть могло. Как паять - по вашей ссылке разрисовано всё вроде.

Да я не заставляю)

Форум популярный, знатоки найдутся.

sadman41
Offline
Зарегистрирован: 19.10.2016

Ну... у картридера, который на шилде, CS-пин D4 вроде. Может это наведёт на какие-то мысли.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

помни, что подсветка твоего шилда неявно подключена к 10 пину ардуины.  

dagon86rus
Offline
Зарегистрирован: 23.04.2019

На какой пин тогда повесить подсветку и как?

negavoid
Offline
Зарегистрирован: 09.07.2016

На любой свободный в скетче, перерезать на дисплей-шилде дорожку к 10 пину и подпаять провод к свободному, подправить библиотеку шилда, чтобы подать digitalWrite(LED, HIGH) на новый пин.

PS: чисто теоретизирую, у меня не было такого шилда.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

У мня есть. Подсветка ЖЕЛЕЗНО припаяна к 10 пину. В принципе, можешь отрезать. Наерна. 

dagon86rus
Offline
Зарегистрирован: 23.04.2019

Спасибо вам, завтра буду шаманить)

dagon86rus
Offline
Зарегистрирован: 23.04.2019

Вот что нашёл в скетче. Правильно я понял, что используется для подсветки 3 пин? Или мне нужно, так скажем самому подключить к 3 пину, а я пихаю его в 10? Или поменять параметр этой стоки на 10????

int lcdBacklightPin = 3;        // D3 is the standard pin for the Freetronics LCD & Keypad Shield backlight/brightness control 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

На моем шилде написано DFROBOT.  На твоем чо?

dagon86rus
Offline
Зарегистрирован: 23.04.2019

d1 robot

dagon86rus
Offline
Зарегистрирован: 23.04.2019

Я так понял что они одинаковые, либо одна копия другой, либо оба копии чего то. Вообще сам скетч был заточен под Freetronics LCD Keypad Shield, а вот он точно другой, так как импульсы кнопок или как это назвать, они отличались. Для этого я записывал скетч на тест кнопок и посл нажатия например right показывалась цифра которая привязана к этой кнопке. Написал чушь как всегда, но думаю хотяб понятную.

Вот часть кода с исправленными кнопками под мой шилд

1if (buttonState >= 128 && buttonState <= 138 ) {       // 132 = button 1 (up)
2button3 = true;
3}
4else if ( buttonState >= 304 && buttonState <= 314 ) { // 308 = button 2 (dwn)
5button2 = true;
6}
7else if ( buttonState >= 718 and buttonState <= 728) { // 722 = button 3 (select)
8button1 = true;
9}

Вот для Freetronics

01// than the debounce delay, so take it as the actual current state:
02  if (buttonState >= 140 && buttonState <= 150 ) {       // 145 = button 1 (up)
03  button3 = true;
04  }
05  else if ( buttonState >= 324 && buttonState <= 334 ) { // 329 = button 2 (dwn)
06  button2 = true;
07  }
08  else if ( buttonState >= 736 and buttonState <= 746) { // 741 = button 3 (select)
09  button1 = true;
10  }

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Ну попрбуй blink загрузить, тока не на 13м, а на 10м пине. Чо будет?

dagon86rus
Offline
Зарегистрирован: 23.04.2019

Имеешь ввиду подцепить просто светодиод и проверить? Попробую, спасибо.

sadman41
Offline
Зарегистрирован: 19.10.2016

Светодиод уже есть в дисплее.

dagon86rus
Offline
Зарегистрирован: 23.04.2019

Ну дак он светит, что ещё нужно? 10 пин используется для питания светодиода экрана и етхеРнета и его нужно разгрузить запитав другим пином? Так или я чего то не понимаю?

sadman41
Offline
Зарегистрирован: 19.10.2016

Не надо лишних мыслей. Напяль шилд и сделай блинк на D10 - будет мигать или нет?

dagon86rus
Offline
Зарегистрирован: 23.04.2019

Уточню на всякий случай. Блинк это помигать светодиодом? Например через такой скетч

01/*
02  Зажигаем светодиод на одну секунду, затем выключаем его на 
03  одну  секунду в цикле.
04 */
05 
06void setup() {              
07  // Инициализируем цифровой вход/выход в режиме выхода.
08  // Выход 13 на большинстве плат Arduino подключен к светодиоду на плате.
09  pinMode(10, OUTPUT);  
10}
11 
12void loop() {
13  digitalWrite(10, HIGH);   // зажигаем светодиод
14  delay(1000);              // ждем секунду
15  digitalWrite(10, LOW);    // выключаем светодиод
16  delay(1000);              // ждем секунду
17}

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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Да, загрузи этот блинк и паматри, будет ли твой шилд мигать подсветкой или она у тебя сётаки на 3-м пине (в чем я глубоко сомнева)

dagon86rus
Offline
Зарегистрирован: 23.04.2019

Мигает подсветка экрана на 10 пине. Что дальше делать? 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ну вот все и разрешилось.  Пока не уберешь подсветку с 10 пина, Интырнет работать не будет

GVS
GVS аватар
Offline
Зарегистрирован: 26.04.2018

dagon86rus пишет:

Мигает подсветка экрана на 10 пине. Что дальше делать? 

negavoid пишет:

На любой свободный в скетче, перерезать на дисплей-шилде дорожку к 10 пину и подпаять провод к свободному, подправить библиотеку шилда, чтобы подать digitalWrite(LED, HIGH) на новый пин.

PS: чисто теоретизирую, у меня не было такого шилда.

dagon86rus
Offline
Зарегистрирован: 23.04.2019

Когда я подключал ethernet shield w5100 к arduino uno, я мог узнать ip через монитор порта. Сейчас разными скетчами пробывал и не в какую. Подключаю по надписям пинов, орентируясь на uno. Проверил бы на uno, но она не фурычит. Пробывал на двух nano , поэтому тут или я туплю, или провода тупят, а может оба) Так вот, может мне это сразу спаять, все контакты паять не нужно, я так понимаю. Подскажите куда что паять чтоб не наступать больше на грабли, а то надоело наступать уже. Да и может что то интереснее предложите.

sadman41
Offline
Зарегистрирован: 19.10.2016

Не совсем понятно чего вы хотите. Чтобы кто-то, кому нечем заняться, собрал такую штуку из модулей, похожих на ваши и потом разрисовал что куда паять и как заливать/отлаживать/настраивать?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Я если и соберу то только на ESP или WEMOS в формате UNO

dagon86rus
Offline
Зарегистрирован: 23.04.2019

sadman41 пишет:

Не совсем понятно чего вы хотите. Чтобы кто-то, кому нечем заняться, собрал такую штуку из модулей, похожих на ваши и потом разрисовал что куда паять и как заливать/отлаживать/настраивать?

Я и сам всё спаяю и соберу. Я лишь спросил какие провода можно не паять. На странице автора схема соединения экрана с шилдом. Особенно не понятно, почему на uno работало, а на nano не хочет. Может у меня контакт проводов плохой? Вот вам известно, что за подсветку эрана отвечаечает 10 пин, а мне нет. На то что nano не работает может играть много факторов, возможно о многих я не знаю.

Стоит ли вообще паять и какие контакты точно не нужны в данном случае? <-- Вот главный вопрос))