DHCP тестер
- Войдите на сайт для отправки комментариев
Здравствуйте ардуинщики! Поделитесь опытом с новичком. Пытаюсь собрать 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
подпишусь
Как выглядит "lcd keypad shield 16x2"?
Заказывал здесь https://www.aliexpress.com/item/1PCS-LCD-Keypad-Shield-LCD1602-LCD-1602-Module-Display-For-Arduino-ATMEGA328-ATMEGA2560-raspberry-pi-UNO/32708117706.html?spm=a2g0s.9042311.0.0.5eda4c4dkvNnt
Понятно. В инициализации ликвидкристала указываются выходы 10, 11, 12, 13?
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
Получается нужно указать 10, 11, 12, 13? А последние две цифры?
Нет, не нужно. На 10,11,12,13 висит Ethernet Shield и это бы объяснило конфликт между ними. А так я даже и не знаю, что сказать. Никакой явной проблемы тут не наблюдается. Разве что где-то замыкают эти шилды друг на друге. Или питания не хватает.
Понятно. В инициализации ликвидкристала указываются выходы 10, 11, 12, 13?
Я по разному пробывал, уже и не вспомню, но проверить сейчас не смогу, оставил всё на работе. Завтра вечером попробую сразу спаять если подскажите что куда. Соединительными проводами не получается, плохой контакт, вот и прошу подсказать куда паять, чтоб не гадать.
Вот на всякий, такой ethernet shild у меня https://www.aliexpress.com/item/Free-Shipping-1pcs-UNO-Shield-Ethernet-Shield-W5100-R3-UNO-Mega-2560-1280-328-UNR-R3/32549379444.html
Разве что где-то замыкают эти шилды друг на друге. Или питания не хватает.
Так я и спалил свою uno, подключил блок на 12 вольт, а только после того как uno перестала нормально функцианировать, я проверил его через тестер и он оказался на 20(
Не знаю как так получилось, но на корпусе было написано 12 вольт
Может ещё у кого-то мысля будет, а я что-то подустал угадывать что там куда замкнуть могло. Как паять - по вашей ссылке разрисовано всё вроде.
Когда получил свой ethernet shild были замкнут контакт и вход для карты памяти как на картике. Я по началу тоже не мог понять что я делаю не так. Экран даже не показывал пока я не убиру ethernet. Теперь всё хорошо не считая того что не работает должным образом. Я как бы отсеивал мысли о том что проблема из-за этого, так как по отдельности то они работают. Может всё таки в этом проблема?
Может ещё у кого-то мысля будет, а я что-то подустал угадывать что там куда замкнуть могло. Как паять - по вашей ссылке разрисовано всё вроде.
Да я не заставляю)
Форум популярный, знатоки найдутся.
Ну... у картридера, который на шилде, CS-пин D4 вроде. Может это наведёт на какие-то мысли.
помни, что подсветка твоего шилда неявно подключена к 10 пину ардуины.
На какой пин тогда повесить подсветку и как?
На любой свободный в скетче, перерезать на дисплей-шилде дорожку к 10 пину и подпаять провод к свободному, подправить библиотеку шилда, чтобы подать digitalWrite(LED, HIGH) на новый пин.
PS: чисто теоретизирую, у меня не было такого шилда.
У мня есть. Подсветка ЖЕЛЕЗНО припаяна к 10 пину. В принципе, можешь отрезать. Наерна.
Спасибо вам, завтра буду шаманить)
Вот что нашёл в скетче. Правильно я понял, что используется для подсветки 3 пин? Или мне нужно, так скажем самому подключить к 3 пину, а я пихаю его в 10? Или поменять параметр этой стоки на 10????
int lcdBacklightPin = 3; // D3 is the standard pin for the Freetronics LCD & Keypad Shield backlight/brightness control
На моем шилде написано DFROBOT. На твоем чо?
d1 robot
Я так понял что они одинаковые, либо одна копия другой, либо оба копии чего то. Вообще сам скетч был заточен под Freetronics LCD Keypad Shield, а вот он точно другой, так как импульсы кнопок или как это назвать, они отличались. Для этого я записывал скетч на тест кнопок и посл нажатия например right показывалась цифра которая привязана к этой кнопке. Написал чушь как всегда, но думаю хотяб понятную.
Вот часть кода с исправленными кнопками под мой шилд
1
if
(buttonState >= 128 && buttonState <= 138 ) {
// 132 = button 1 (up)
2
button3 =
true
;
3
}
4
else
if
( buttonState >= 304 && buttonState <= 314 ) {
// 308 = button 2 (dwn)
5
button2 =
true
;
6
}
7
else
if
( buttonState >= 718 and buttonState <= 728) {
// 722 = button 3 (select)
8
button1 =
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
}
Ну попрбуй blink загрузить, тока не на 13м, а на 10м пине. Чо будет?
Имеешь ввиду подцепить просто светодиод и проверить? Попробую, спасибо.
Светодиод уже есть в дисплее.
Ну дак он светит, что ещё нужно? 10 пин используется для питания светодиода экрана и етхеРнета и его нужно разгрузить запитав другим пином? Так или я чего то не понимаю?
Не надо лишних мыслей. Напяль шилд и сделай блинк на D10 - будет мигать или нет?
Уточню на всякий случай. Блинк это помигать светодиодом? Например через такой скетч
01
/*
02
Зажигаем светодиод на одну секунду, затем выключаем его на
03
одну секунду в цикле.
04
*/
05
06
void
setup
() {
07
// Инициализируем цифровой вход/выход в режиме выхода.
08
// Выход 13 на большинстве плат Arduino подключен к светодиоду на плате.
09
pinMode(10, OUTPUT);
10
}
11
12
void
loop
() {
13
digitalWrite(10, HIGH);
// зажигаем светодиод
14
delay(1000);
// ждем секунду
15
digitalWrite(10, LOW);
// выключаем светодиод
16
delay(1000);
// ждем секунду
17
}
Большое спасибо всем кто помогал, завтра буду ковырять, о результатах отпишусь. Ардуинки у меня на работе, так что к сожалению завтра только проверю.
Да, загрузи этот блинк и паматри, будет ли твой шилд мигать подсветкой или она у тебя сётаки на 3-м пине (в чем я глубоко сомнева)
Мигает подсветка экрана на 10 пине. Что дальше делать?
ну вот все и разрешилось. Пока не уберешь подсветку с 10 пина, Интырнет работать не будет
Мигает подсветка экрана на 10 пине. Что дальше делать?
На любой свободный в скетче, перерезать на дисплей-шилде дорожку к 10 пину и подпаять провод к свободному, подправить библиотеку шилда, чтобы подать digitalWrite(LED, HIGH) на новый пин.
PS: чисто теоретизирую, у меня не было такого шилда.
Когда я подключал ethernet shield w5100 к arduino uno, я мог узнать ip через монитор порта. Сейчас разными скетчами пробывал и не в какую. Подключаю по надписям пинов, орентируясь на uno. Проверил бы на uno, но она не фурычит. Пробывал на двух nano , поэтому тут или я туплю, или провода тупят, а может оба) Так вот, может мне это сразу спаять, все контакты паять не нужно, я так понимаю. Подскажите куда что паять чтоб не наступать больше на грабли, а то надоело наступать уже. Да и может что то интереснее предложите.
Не совсем понятно чего вы хотите. Чтобы кто-то, кому нечем заняться, собрал такую штуку из модулей, похожих на ваши и потом разрисовал что куда паять и как заливать/отлаживать/настраивать?
Я если и соберу то только на ESP или WEMOS в формате UNO
Не совсем понятно чего вы хотите. Чтобы кто-то, кому нечем заняться, собрал такую штуку из модулей, похожих на ваши и потом разрисовал что куда паять и как заливать/отлаживать/настраивать?
Я и сам всё спаяю и соберу. Я лишь спросил какие провода можно не паять. На странице автора схема соединения экрана с шилдом. Особенно не понятно, почему на uno работало, а на nano не хочет. Может у меня контакт проводов плохой? Вот вам известно, что за подсветку эрана отвечаечает 10 пин, а мне нет. На то что nano не работает может играть много факторов, возможно о многих я не знаю.
Стоит ли вообще паять и какие контакты точно не нужны в данном случае? <-- Вот главный вопрос))