управление цифровым дисплеем
- Войдите на сайт для отправки комментариев
Ср, 11/12/2013 - 14:50
Задача: управление дисплея валютообменного пункта с компютера на расстоянии ок. 20 м (WiFi, LAN).
Skype: maxo127
Email: maxo127 на мейл ру
http://i016.radikal.ru/1312/8e/a99462a7347a.jpg
http://s52.radikal.ru/i137/1312/7f/3ced61cdea5f.png
Краткость - сестра таланта.
Моя то есть?
А что там распространятся - надо иметь возможность с РС менять число и все.
ГМ, а зачем? Все эти табло в комплекте имеют пульт ДУ.
Не все. Например, то которое я собираюсь сделать, не будет иметь. Ну если сам же не сделаю :)
Тоже таким сношаю себе мосх.
Потому рискну дополнить ТСа
Железо: 328Р+W5100+Х*(max7219+8 1.5" семисегментника) пара-тройка резисторов/кондеев. (Буржуи пишут что для 343 (1.5") семисегментов при 8*"8." мощи макса вполне хватает на шиме 10/16 без дополнительного внешнего усиления.)
Пульт это карашо, но при поднятом серваке на дуине, можно менять курсы, хоть из другого города не выходя на улицу и не дублируя аппаратные экраны. Также можна еще одним контроллером поменять все курсы по стране в один клик. Дороже по железу на котейки. Если автор решит городить сам, подкину идеек :) Сам пока жду прихода от китайцев, потому только в теории.
teodor4ik
Правда ничего не понял, но в целом согласен :)
Нагрузка на сегменте будет ок 35 ма. Может кто подскажет что кроме самого Ардуино нужно для управления - микросхемы какие и сколько, в соединениях сам разберусь, просто подскажите оптимальное решение.
Ардуино получил уже, вникаю потихоньку.
Валют сколько? Какие конкретно семисегментники? Почитай это: http://arduino.ru/forum/apparatnye-voprosy/7-segmentnyi-indikator-pitanie
там особо интересны ссылки на мах7219 и его подключение через "усилители"(в пн кину с работы интересную ссылку по включению мощных семисегментов). Сам макс переваривает 500мА, а дальше считаем:
к-во фифр*к-во включеных сегментов*ток сегмента. тоесть потолок 8*7.5(точка дохлее)*35= 2.1А. На самом максе7219 есть ШИМ регулировка яркости от 1 до 16. Итого 3 можна ставить спокойно, возможно 4. Т.к. 8ки будут редко и не все, то можна смело считать 8*5.5*35=1.5, тоесть 6-7 тож должно покатить. Опять же, я уже думаю о 4х цифрах на 1 макс чтобы удвоить яркость не городя более ничего.
По сети. На *duino+w5100 можна поднять вебсервер простенький и не очень. Вводимые в форму поля можна передать на экран. Я планирую писать их в ЕЕПРОМ и перегружать железку. В сетапе считывать с ЕЕПРОМа, вываливать не экран и более к нему не возвращатся до следующего ребута. (Даже отключение проца не помешает экрану работать). В луупе только вебсервер.
teodor4ik
Две валюты, как на первой ссылке с первого поста. Т. е. всего 4 числа по 4 цифр.
Цифры собираюсь делать из ленты типа http://www.ledvista.ie/commercial-led-lighting-systems/led-strip-lighting/red-led-strip-low-power-12v-ip65-5-metres-reel
Там по 3 СД последовательно с резистором, на 12 В. Ток ок. 35 мА. Да и не с токами проблема, поставлю чтото типа ULN2004 в конце концов. по MAX7219 на каждую четверку - тоже можно, но негуманно как-то. Как-никак, почти тезка мне :)
Проблемы тут:
Я ж дал ссылку на темку. Там есть ссыль на даташит к максам и схема включения светодиодов... они включаются последовательно, по 8 цыфирь на каждый. В скетче используется библиотечка к нему. ledcontrol.h команда выглядит как вывести число на такую-то позицию, такого-то по очереди чипа.
http://embedded-lab.com/blog/?p=6862 крайне в тему... там все крайне просто описано. Но для 5в, а не 12В. Предложенную затею с лед лентой считаю глупой, т.к. добиться ровного свечения будет крайне сложно. Как по мне то готовые 7сегментники очень упростят жисть. http://embedded-lab.com/blog/?p=7628 тут для 12В и выше. В твоем случае этих схем две на 2 макса. Ну и типок их там же и продает в сборе для ленивых.
Передача с компа. Вариантов много. Ком порт(ЮСБ) - тупо в порт команду и данные предварительно прописав их отработку, например "$D1_1234" $-шас буит команда "D1"- сменить 1й сегмент, 1234 собсно данные... "$P1_2" установить точку первого сегмента на 2ю позицию ... и т.п. Плохо то что комп рядом дожен быть.
Вебсервак: http://startingelectronics.com/tutorials/arduino/ethernet-shield-web-server-tutorial/basic-web-server/ расписано для того кто в вебе и дуине 0 полный. Правда надо будет поковыряться с обработкой данных из полей "Input". Тут они это обошли, а нам оно буит надо. Но, в конце концов все равно надо разбирать строку на составляющие полюбому, а там ужо и заготовочка есть. Отдельная кака: ИП адрес - его надо либо через ДХЦП получить и пробить у сисадмина по маку, либо предусмотреть изменение в процессе руками.
Также рекомендую почитать про работу с ЕЕПРОМом, там не слишком сложно, но пригодится.
Да, все просто когда есть опыт. Ладно поковыряюсь сам когда придут материалы, никто за это не возмется кажется, а самому со временем не очень, за полночь к компу попадаю только, а иногда и спать надо :)
С лентами это не от хорошей жизни - семисегментики в 25 см я не нашел просто. Есть модули, но даже в китае ок 30 усд, цена невозможная, плюс еще транспортировка с растаможкой - до 50 наберется. А с равномерностью - ничего, там с близка смотреть и не надо, я сделал одно цифру, 12 ледов в высоту - четко все видно. приемлемо по крайней. Если и оргстекло удачно подберется - совсем хорошо будет.
А вот плата точно пригодилось бы, но нету счас у них, да и гнут с транспортировкой.
С компа - одно не пойму: даже не в методе соединения, а просто интерфейс - что надо будет делать чтоб цифру заменить на другое? Не будет же оператор скетч редактировать и загружать в Арду?
ты когда скетч залил в консоль выводишь данные(serial.write)? так же можна и с консоли получить (serial.read). Можна их получить и гет запросом по сети. Можна кодами с ИК пульта. Можна по радио с другой такой же дуины, но с экраном и кнопками, хоть смс-кой в гсм шилду.
Грубо. Задача делится на:
1. как-то получить данные (интерфейс на выбор).
2. обработать (извлечь то что надо из того что пришло).
3. сохранить в памяти.
4. вывести из памяти на экран.
Собсно далее скетч лепится из кусков, подходящих к ситуации.
Дык это... ну представим, девушка сидит в обменном пункте, ей позвонили сказали меняй курс. Она редактирует скетч и заливает в Арду?
ммм... НЕТ... она меняет переменные в памяти...
Любым из доступных ей методом из описанных выше.
Например стандартный скетч из комплекта:
Зависимо от введеннных в консоль значений меняется яркость диодов на ногах 3,5,6 и выводится цифра назад в консоль. Подразумевается что данные о яркости идут через запятую. Консолью может выступать, например, putty или на беду гипертерминал виндовый.
Лучше LAN - открывает веб страничку а там все крупными буквами просто и понятно даже самой тупой блондинке
Ну я не блондинка и не блондин даже, лысий вообще, но не пойму как-где-какую сраничку надо открывать, может дадите ссылку где прочитать, или объясните вкратце?
http://code.google.com/p/webduino/
http://playground.arduino.cc/Main/MAX72XXHardware
вопрос только потянет мах столько диодов или нет
вобщем на 1 час работы - написать вебформу и слать на мах
вопрос только потянет мах столько диодов или нет
40 мА тянет кажется, а больше и не потребляет сегмент на 12В (там 6 диодов по3 последовательно). И выход не пробет 12В надеюсь.
вобщем на 1 час работы - написать вебформу и слать на мах
вот с этим тяжелее - хоть убей не пойму какую вебформу писать надо, как ее на мах слать, вообще что для этого нужно...
может поможете поконкретнее, ато дума какая-то получается - вроде все правильно говорим, а толку никакого :(
MAX7219 только на 5 вольт если больше надо то так http://www.maximintegrated.com/app-notes/index.mvp/id/1196
вебформу с 4 полями. http://htmlbook.ru/html/input
эта форма создает get запрос по тому адресу где выводится - тоесть в корне
http://192.168.0.100/?dol_buy=00.00&dol_sell=00.00&eur_buy=00.00&eur_sell=00.00
Можно конечно и текущие значения подставлять в поля но это усложняет вывод формы в программе.
Хранить в памяти можно как побайтно строку так и два байта означающие целую и дробную части
вам нужно 4 переменных char* если строки и 8 переменных byte если разделять.
ИМХО удобнее строками, но кушает больше памяти. Вобщем паяйте, читайте документацию, если лень самому сделать skype:nxn_neiron?chat