Перейти к контенту
МОРСКОЙ АКВАРИУМ - форум Аква Лого

Аква Лого / мы на связи
Аква Лого в VK
Аква Лого в Телеграмм
Аква Лого в соцсетях

Почвенные рыбы

Синичкин день

Единственный в мире малыш утконос

svyaz

DIY 6-Канальный контроллер LED c тач-панелью "3.2"

Рекомендуемые сообщения

Эти датчики в воду не опустишь , в светильник ?

Поделиться этим сообщением


Ссылка на сообщение

Эти датчики в воду не опустишь , в светильник ?

Джейми на британском сайте показал как их использовать в воде. С помощью колбочки от маленькой лампочки

Поделиться этим сообщением


Ссылка на сообщение

3. Пару (тройку) термодатчиков - вода, радиатор, ну еще раз радиатор (для примера)

4. Соответственно управление вентиляторами от этих термодатчиков.

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

6. Драйверы. Пока не определился, а посему вопрос: Ардуина со всеми ШИМ драйверами будет работать, или есть исключения. Пока ориентируюсь либо на родную плату 6 каналов, тут о ней писали на PT4115. Либо LDD MeanWell, либо еще вариант на HV9910.

В итоге. Какое железо нужно?

1. Какую Ардуину все же лучше, то есть с какой там прошивкой (версии)? Пока честно говоря плаваю в этом вопросе (не программер к сожалению). Не могу понять после Мега 2560 еще есть какие то 16U2 или 8U2?

2. Какой экран, точнее какой именно наименованием (на что особенно обращать внимание), а то есть типа безо всего и цена тогда всего 9 баксов без микрухи на обороте, но с боковыми штырьками - (не могу вставить ссылку - ошибку выдает)

либо за 18 бачинских с микрухой, но без боковыз штырьков -

3. Ну и шилды, в этом я вообще чего-то не понял, где часы, где с дисплеем согласование, где самому надо спаять (как на первой странице этой темы). В принципе с паяльником дружу, паял схемки, но не СМД. Вот это наверно смогу и очень нравиться фраза про экономию места

 

"ITDB02 Arduino MEGA Shield v1.1

На борту часы реального времени DS1307,батарейка и резисторы для согласования уровней с экраном, его легко собрать самому и для экономии места, разместить на нем дополнительные детали схемы (транзисторы управления вентиляторами,спикер)

я спаял на обычной макетке и обрезал её под размер Ардуины

 

Все три модуля одеваются друг на друга, образуя "бутерброд" , но в этом случае не совсем удобно выводить сигналы.

 

Существует макетная плата Mega Prototyping Shield For Arduino с которой удобно выводить сигналы,а к экрану подключить шлейфом от HDD (40pin) В идеале, на этой же плате самому спаять часы (DS1307) и согласующие резисторы (10-20КОМ)"

 

4. Что еще по железу? Сервер не собираюсь поднимать, ви-фи тоже. Достаточно того, что подошел, глянул на сам аквас, на параметры текущие, если надо подкорректировал, сохранил изменения, убрал стилус, дальше наслаждаешься. Участвуешь в беседах по мере своих сил (когда-то в паскале программил), если у кого что-то новенькое - то идешь к нему на страничку с бокалом холодненького и пробуешь новенькое посредством поднесения бука к аквасу.

Звиняйте, что много, но эмоции.... Пока надо по железу определиться, пока это все дело будет идти буду гандобить крышку. светильник, тумбочку....

Звиняйте, что много, но эмоции.... Пока надо по железу определиться, пока это все дело будет идти буду гандобить крышку. светильник, тумбочку....

Спасибо.

 

В существующем проекте термодатчиков как раз 3, один - вода, второй радиатор (основной свет), третий - радиатор (в сампе) и соответственно они управляют вентиляторами, на частоте 25 кгц.

По пятому пункту, такая функция есть в версии 1.2

В самом скетче можно выбрать в каком режиме будет работать шим 200hz или 1кгц (по умолчанию там 200гц)

В теории можно подключить любые драйвера с ШИМ, на практике - пусть напишут те кто уже опробовал, я пока не подключал.

Версии ардуин, отличаются преобразователем USB UART (связь между компьютером и процессором) которое в нашем случае нужно только один раз - для загрузки скетча. У мня есть 2 вида ардуин, одна 2560 на плате от 1280, другая 2560 8U2, вторая выполнена более качественно и скетч загружается чуть быстрее, за счет того что USB UART выполнен на ATmega8, а не на FT232BM, как в предыдущей версии. Для проекта годится любая 2560, на данный момент код вместе с графикой (меняющиеся в зависимости от фаз, иконки луны ) занимает 174 из доступных 258кб.

Экран должен быть разрешением 320х200 и быть выполненным на одном из этих контроллеров.

 

- HX8347-A

- ILI9325D

- ILI9327

- SSD1289

 

"Микруха на обороте" - контроллер тач панели, так что лучше чтобы он там все таки был :)

Есть Китайские экраны, урезанные у них 32 пина вместо 40 и штырьки там сбоку, нужно видеть что там за сигналы выходят.

Лучше "за 18 бачинских с микрухой" - тогда точно работать будет, да и удобней подключать, можно удлиннить шлейфом от HDD

 

Шилд там всего один, на нём часы DS1307 с батарейкой и согласующие резисторы для экрана, так как напрямую подключать нельзя.

Мне например проще спаять самому и еще много свободного места останется, которое будет использовано для транзисторов (согласование драйверов Mean Well) и силовые транзисторы вентиляторов.

 

post-972-1340493884_thumb.jpg post-972-1340493912_thumb.jpg

 

Макетка Mega Prototyping Shield у меня уже есть, как оказалось не сильно то она макетка, пару дырок в центре, не много там всего можно поместить и выходы из ардуино разведены к выходам из макетки. То есть их нужно разрезать и впаивать туда резисторы, а вот как промежуточная плата (между ардуиной и ITDB02 v1.1) годится.

Для контроллера нужны 3 детали, посмотрите двумя постами выше на них ссылки

Поделиться этим сообщением


Ссылка на сообщение

А USB UART на ATmega16U2 для наших целей не лучше... или избыточен? В чем отличие от ATmega8, обьясните темному?:oops: :)

Изменено пользователем Александр Авдеев (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

А USB UART на ATmega16U2 для наших целей не лучше... или избыточен? В чем отличие от ATmega8, обьясните темному?:oops: :)

Ардуино - по сути своей отладочная плата, и для тех кто заливает (для отладки кода) по 150 раз на дню скетч, скорость загрузки важна.

Вам код в ардуино нужно "залить" только один раз, если не хотите ждать лишние 2-3 секунды, берите плату на последней версии USB UART (ATmega16U2) :)

USB UART - согласование порта юсб с uart процессора, он там отдельно выведен разьемом и те у кого есть программатор могут сэкономить 8кб используемые загрузчиком.

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

Поделиться этим сообщением


Ссылка на сообщение

Вадим, спасибо за ответ.

А что такое программатор?

Что делать если вентиляторы не поддерживают ШИМ регулирование, просто низкопрофильные пока такие не видел?

Экран наверно все же 320*240?

Сейчас продаются уже только на 16U2 и разница с 8U2 всего 100рублей, а на 1280 чего-то уже нет.

 

"Мне например проще спаять самому и еще много свободного места останется, которое будет использовано для транзисторов (согласование драйверов Mean Well) и силовые транзисторы вентиляторов."

А схема сложная?

А зачем согласование драйверов?

А самому макетку тоже можно подогнать под размер Ардуины?

И тогда не нужен промежуточный мега шилд?

Есть ли принципиальная разница с какого ebay брать: с американского или китайского?

 

Вадим не совсем въехал во фразу

"а вот как промежуточная плата (между ардуиной и ITDB02 v1.1) годится"

вроде ITDB02 и есть промежуточный шилд?

Спасибо

Изменено пользователем Вовка (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

А что такое программатор?

В самом чипе ардуино с завода "зашита" программа (загрузчик) которая находится в начале памяти, благодаря этому контроллер прошивает сам себя.

На заводе загрузчик прошивают ISP (ICSP- если быть точнее) программатором типа такого

На плате ардуино под программатор выведены пины, они же используются некоторыми шилдами, (например эзернет)

 

post-972-1340540696_thumb.jpg

 

Что делать если вентиляторы не поддерживают ШИМ регулирование, просто низкопрофильные пока такие не видел?

С обычным вентилятором (не шим) чуть сложнее ссылка

Экран наверно все же 320*240?

Да, там была опечатка.

Сейчас продаются уже только на 16U2 и разница с 8U2 всего 100рублей, а на 1280 чего-то уже нет.

1280 покупать нет смысла, она не намного дешевле 2560, а памяти меньше.

"Мне например проще спаять самому и еще много свободного места останется, которое будет использовано для транзисторов (согласование драйверов Mean Well) и силовые транзисторы вентиляторов."

А схема сложная?

А зачем согласование драйверов?

На первой странице есть все схемы. Согласовывать нужно так как драйверу Mean Well для включения на полную яркость нужно 10v, в ардуино питание 5v, если подключить прямо к ардуино - будут работать на половину яркости.

А самому макетку тоже можно подогнать под размер Ардуины?

И тогда не нужен промежуточный мега шилд?

Я взял такого плана макетку, положил сверху на нее ардуино и обвёл маркером, затем ножовкой обрезал и выровнял напильником края. У Джейми макетка лучше - там дырок больше чем на тех что у меня :)

 

post-972-1340545463_thumb.jpg

 

Есть ли принципиальная разница с какого ebay брать: с американского или китайского?

Тут я не знаю, я заказывал через знакомого, показал ему ссылку - он купил (с американского).

Вадим не совсем въехал во фразу

"а вот как промежуточная плата (между ардуиной и ITDB02 v1.1) годится"

вроде ITDB02 и есть промежуточный шилд?

Спасибо

Если Вы читали тему автора проекта, то можно было увидеть какой у него "бутерброд" получился

Первая идет ардуно 2560

 

post-972-1340544016_thumb.jpg

 

Cверху на нее одета "проходная" макетка на которой разъемы:

Обведено зелёным - wavemaker, Желтый - выходы PWM для вентиляторов (для сампа), Темно-красный квадрат - транзисторы управления этим вентилятором.

По "синему" приходит питание 12 и 5v

 

post-972-1340543973_thumb.jpg

 

Затем идет еще одна макетка, на которой buzzer, транзисторы для других вентиляторов и снизу разведены провода к разъему (выходы на драйвера)

 

post-972-1340543833_thumb.jpg post-972-1340545022_thumb.jpg

 

И уже в самом конце, на весь этот супер-бутерброд одевается ITDB02 Arduino MEGA Shield v1.1

На котором часы с батарейкой и согласующие экран резисторы. Размер платы ардуино, не тай уж и большой (как пачка дамских сигарет) толщина естественно меньше.Так что в собранном виде не такое уже и большое получается, по масштабу юсб разъема видно.

 

post-972-1340545895_thumb.jpg

post-972-1340544976_thumb.jpg

Поделиться этим сообщением


Ссылка на сообщение

С обычным вентилятором (не шим) чуть сложнее ссылка

Вадим, там по ссылке вроде как раз про использование 3-проводного вентилятора (с таходатчиком).

 

Но мне кажется, если подключить к проекту двухпроводный вентилятор, ничего плохого не должно быть, просто процессор не сможет плавно управлять оборотами кулера, и не получая обратной связи от вентилятора, будет просто врубать его на полную мощность, а когда по термодатчику поступит сигнал, чот объект остыл, будет вырубать кулер. То есть, управление будет просто более грубым.

Поделиться этим сообщением


Ссылка на сообщение

Вадим, там по ссылке вроде как раз про использование 3-проводного вентилятора (с таходатчиком).

 

Но мне кажется, если подключить к проекту двухпроводный вентилятор, ничего плохого не должно быть, просто процессор не сможет плавно управлять оборотами кулера, и не получая обратной связи от вентилятора, будет просто врубать его на полную мощность, а когда по термодатчику поступит сигнал, чот объект остыл, будет вырубать кулер. То есть, управление будет просто более грубым.

Те, которые использует Джейми - четырехпроводные и они серии Arctic Cooling F12 PWM Fans 120mm , по тому как и схема под них на транзисторах BC549c у которых максимальный ток коллектора 100MA, а обратной связи там и нету, там есть включение вентилятора ,обозначено digital pin 48 и есть управление обозначено pwm pin 45.

 

представители данной серии снабжены инновационной фирменной технологией PWM Sharing Technology (PST). Суть её заключается в том, что к одному четырёхконтактному разъёму материнской платы, помимо самого вентилятора серии ARCTIC F PWM, можно подключить ещё до пяти других "пропеллеров" (включая и тот, что находится на CPU-кулере). При этом скорость вращения всех этих вентиляторов будет управляться методом широтно-импульсной модуляции от одного сигнала материнской платы.

Поделиться этим сообщением


Ссылка на сообщение

Те, которые использует Джейми - четырехпроводные и они серии Arctic Cooling F12 PWM Fans 120mm , по тому как и схема под них на транзисторах BC549c у которых максимальный ток коллектора 100MA, а обратной связи там и нету, там есть включение вентилятора ,обозначено digital pin 48 и есть управление обозначено pwm pin 45.

Вот оно как. А я и не обратил внимания. Спасибо, Вадим.

Зря он ориентировался на относительно редкие 4-проводные вентиляторы... Придется переделывать под 3-х или 2-х проводные

Поделиться этим сообщением


Ссылка на сообщение
Есть экраны с 3.2" 240х400 , их можно брать ?
Брать - можно, работать будут, но справа экрана будет пустая полоса шириной 80 пикселей. Для полного заполнения экрана, нужно в коде делать смещение по Х либо в эту часть экрана перенести некоторую часть функций, кнопки сохранить и отмена например, как это сделал один Бразилец.
Уже есть экраны 4.3" TFT LCD Screen Module:272 x 480 и 5.0" TFT LCD Screen Module:800x480, будут работать? Есть смысл такие брать, тяжело будет адаптировать для наших целей? :tuplu:

http://iteadstudio.com/store/index.php?mai...products_id=541

http://iteadstudio.com/store/index.php?mai...products_id=542

Изменено пользователем Александр Авдеев (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

Спасибо, Вадим. Теперь надо переварить для начала, обмозговать, перечитать, потом думаю появятся еще вопросы, но пока работа, нужно время...

Поделиться этим сообщением


Ссылка на сообщение
А USB UART на ATmega16U2 для наших целей не лучше... или избыточен? В чем отличие от ATmega8, обьясните темному?:oops: :)

 

Для наших целей - все равно.

контроллер ATmega8U2/16U2 в Mega используется для программной организации USB. В ATmega16U2 можно загрузить специальную прошивку для того, чтобы использовать ардуино как USB-хост, например для подключения и работы с Android- устройством. Поэтому Mega 2560 с 16U2 иногда называют MEGA ADK (Android Development Kit). Для обычного применения прошивки для ATmega8U2 и 16U2 функционально идентичны.

Поделиться этим сообщением


Ссылка на сообщение

Уже есть экраны 4.3" TFT LCD Screen Module:272 x 480 и 5.0" TFT LCD Screen Module:800x480, будут работать? Есть смысл такие брать, тяжело будет адаптировать для наших целей? :tuplu:

Cудя по описанию на сайте, эти экраны работают с новой универсальной библиотекой UTFT, и сигналы полностью соответствуют, а значит долно работать, но для того чтобы было на весь экран - нужно брать калькулятор и в самом скетче пропорционално добавлять координаты, в коде нужно будет изменить около тысячи строк.

Поделиться этим сообщением


Ссылка на сообщение

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

Вадим, а как быть тогда с памятью, ведь графика тоже увеличится, и тогда ее придется писать на СД карту, а ты говорил, что тогда медленно будет работать?

А вообще я еще не говорил тебе спасибо, если бы не твои подробные выкладки, то не было бы столько последователей. Респект и уважуха.

Спасибо.

П.С. а по поводу тысячи строк очень просто думаю решается, берется за основу выбранный графический мнтерфейс и дружно все вместе по строчке каждый по второй, и потом сводим. Я лично за, толлько осталось самому все собрать, щас финансы подбиваю и в путь...начало положено - радиатор заказал :)

Поделиться этим сообщением


Ссылка на сообщение

Вадим, а как быть тогда с памятью, ведь графика тоже увеличится, и тогда ее придется писать на СД карту, а ты говорил, что тогда медленно будет работать?

Если мы говорим о оригинальном скетче jarduino, то размер не увеличится не на один байт, так как мы изменяем только координаты, все функции остаются прежними.

Исчисление координат начинается с верхнего левого угла.

 

post-972-1340659012.png

 

И если мы просто подключим новый экран с разрешением 800х480 (естественно указав в скетче его модель) мы получим следующую картину (масштабы соблюдены)

Так как в скетче, как я уже говорил исчисление по X и Y начинается от нуля вот все координаты (прописанные в скетче) туда и станут.

 

post-972-1340659506_thumb.jpg

 

Рассмотрим подробно к примеру код из кетча, для кнопки red, саму графическую часть без функции тач-управления для неё, том тоже координаты (место куда мы нажали) и указываем что при этом нужно сделать или куда перейти.

myGLCD.setColor(255, 0, 0); - цвет красный (по принципу R,G,B)

На этом сайте можно визуально выбрать нужный цвет и переписать его значения.

myGLCD.fillRoundRect(5, 174, 105, 194); - заполнение области, выбранным выше цветом.

Первая цифра - начало по координате X (по горизонтали от координаты 0)

Вторая - начало по Y (по вертикали от координаты 0)

Третья - конец по X

Четвертая конец по Y , то есть нижняя область кнопки.

setFont(SMALL, 255, 255, 255, 255, 0, 0); - здесь так шрифт маленький, цвет шрифта белый, фон красный.

myGLCD.print("Red:", 15, 178); - в скобках надпись Red: (выбранным выше цветом) и координаты, первая цифра, координата по Х (от нуля), вторая координата по Y.

myGLCD.print("0", 67, 178); - то же что и выше.

myGLCD.fillRect(4, 173, 106, 195); - белая кайма по периметру кнопки, желательно что бы она была на один пиксель больше размера самой кнопки, тогда смотрится ярче.

Вот и вся графика, мы полностью нарисовали красную кнопку, но размеру неё будут одинаковыми что при маленьком экране, что при большом, и для того чтобы на большом экране она стала больше - нужно менять её координаты. Функции и цвет не трогаем, меняем только координаты, но и не забываем про пропорции, расстояний между кнопками, если так всё и оставить - будет просто не видно.

Вот еще пример, отображение даты (левый нижний угол) myGLCD.print(bufferD, 20, 227); - выводим из буфера в координату, первая цифра - Х (по горизонтали), вторая по Y (по вертикали) Это то что нужно менять при коррекции под другой экран, все остальное мы не трогаем, как видно нам здесь нужно изменить только одно значение Y (опустить вниз)

 

 

post-972-1340660209.png

 

А вообще я еще не говорил тебе спасибо, если бы не твои подробные выкладки, то не было бы столько последователей. Респект и уважуха.

Спасибо.

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

Кроме того хочется что бы больше людей присоединялось к добавлениям / изменениям в коде.

 

Как оказалось, встроить web контроль очень легко, на скрине реальные значения ледов и так как датчики у меня не подключены значения температур. Все это без использования sd карты - только htm. Но это выглядит очень убого и я сейчас занимаюсь оформлением встраиваю кнопки управления и попробую добавить ведение логов.

 

post-972-1340664382_thumb.jpg

Поделиться этим сообщением


Ссылка на сообщение

Если мы говорим о оригинальном скетче jarduino,

а то, что ты представлял изменения - это все еще на основе этого кода?

 

 

Исчисление координат начинается с верхнего левого угла.

И если мы просто подключим новый экран с разрешением 800х480 (естественно указав в скетче его модель) мы получим следующую картину (масштабы соблюдены)

Так как в скетче, как я уже говорил исчисление по X и Y начинается от нуля вот все координаты (прописанные в скетче) туда и станут.

 

Вот и вся графика, мы полностью нарисовали красную кнопку, но размеру неё будут одинаковыми что при маленьком экране, что при большом, и для того чтобы на большом экране она стала больше - нужно менять её координаты. Функции и цвет не трогаем, меняем только координаты, но и не забываем про пропорции, расстояний между кнопками, если так всё и оставить - будет просто не видно.

Вот еще пример, отображение даты (левый нижний угол) myGLCD.print(bufferD, 20, 227); - выводим из буфера в координату, первая цифра - Х (по горизонтали), вторая по Y (по вертикали) Это то что нужно менять при коррекции под другой экран, все остальное мы не трогаем, как видно нам здесь нужно изменить только одно значение Y (опустить вниз)

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

Кроме того хочется что бы больше людей присоединялось к добавлениям / изменениям в коде.

среднее знание Паскаля для этого хватит?

Как оказалось, встроить web контроль очень легко, на скрине реальные значения ледов и так как датчики у меня не подключены значения температур. Все это без использования sd карты - только htm. Но это выглядит очень убого и я сейчас занимаюсь оформлением встраиваю кнопки управления и попробую добавить ведение логов.

Круть!

Поделиться этим сообщением


Ссылка на сообщение

а то, что ты представлял изменения - это все еще на основе этого кода?

C дозаторами и недельными таймерами - французкий SebduinoV2, там задействована SD карта, в оригинальной версии - практически вся графика с карты памяти, с кодом Jarduino у него нет ничего общего.

Так как коллективных проектов практически нет, каждый пошел своим путем, очень многие на основе проекта Stilo

 

post-972-1340699136_thumb.jpg

 

Вообще в ардуино не всё так гладко, нельзя например задействовать одновременно SD карту на дисплее и эзернет шилд так как они используют один и тот же ISP, даже на шилде эзернет переключение между картой памяти и и контроллером происходит поочередно через 4 пин, потому использование карты памяти сильно замедляет работу. Если память не использовать - вывод страницы в браузере - моментальный я бы сказал исчисляется микросекундами. Два устройства ISP можно приживутся только если модифицировать библиотеку.

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

По поводу экрана - я не могу гарантировать что он подойдет на все 100, так как я посмотрел демо код и там есть некоторые функции инициализации мне незнакомые, нужно продавца спросить, он же разработчик библиотеки UTFT Henning Karlsen

среднее знание Паскаля для этого хватит?

Я паскаль не изучал, потому незнаю. Я забыл про бары отображения яркости каналов, там нужно будет вмешиваться в функции для увеличения еще можно шрифты заменить на большего размера, но это очень легко.

Круть!

Это старый убогий интерфейс, новый пока показать немогу, так как не запускается еще.

Поделиться этим сообщением


Ссылка на сообщение

Это старый убогий интерфейс, новый пока показать немогу, так как не запускается еще.

 

Как я понял, в лоб, по другому особенно и не сделаешь (на распространенных изернет библиотеках). Первым делом все упирается в 8 кБайт RAM AVR (на все причем), т.е. буфер для изернета (используя GET в HTTP) получается небольшой (1-2кБ), с учетом стека и прочей своей лабуды (у меня по крайней мере так). Использовать же SD, как правильно подметил, одновременно ни как, а значит нужен еще буфер в RAM для промежуточного хранения данных с SD для отправки. Я SD использую для хранения заранее записанных туда значений уровней ШИМ по каналам. Т.е. кроме варианта, когда микроконтроллер обсчитывает уровни в зависимости от времени и прочего, тут просто уже готовый сценарий (сделал с обработкой 8-ми команд в секунду), т.е. даже по ресурсам менее затратно. Пока правда эту байду только в тестовом варианте пробовал.

Кстати, я напарился с поиском "рабочей" SD карты. И вроде как это не только мой случай, и проблема такая есть, причем авторы библиотек также сталкивались с этим. У меня было несколько карт, ни с одной нормально картридер не хотел работать, купил еще несколько, разных фирм, емкостей и скоростей... нифига. Потом дома нашел древнюю Трансенд на 512МБ, с ней все сразу заработало. Но ситуация, когда ты зависишь от древней карты и нет особой ясности чем ее заменить, напрягает. Мое предположение, что производители современных карт (за редким исключением, причем это касается, имхо, в основном НЕ фирм лидеров рынка), просто перестали поддерживать медленный и не родной SPI интерфейс для карт.

Поделиться этим сообщением


Ссылка на сообщение

Как я понял, в лоб, по другому особенно и не сделаешь (на распространенных изернет библиотеках).

Есть альтернативная библиотека webduino, я пока еще не вникал так как еще на пока на "грабли" от стандартной не наступил.

 

Кстати, я напарился с поиском "рабочей" SD карты. И вроде как это не только мой случай, и проблема такая есть, причем авторы библиотек также сталкивались с этим. У меня было несколько карт, ни с одной нормально картридер не хотел работать, купил еще несколько, разных фирм, емкостей и скоростей... нифига. Потом дома нашел древнюю Трансенд на 512МБ, с ней все сразу заработало. Но ситуация, когда ты зависишь от древней карты и нет особой ясности чем ее заменить, напрягает. Мое предположение, что производители современных карт (за редким исключением, причем это касается, имхо, в основном НЕ фирм лидеров рынка), просто перестали поддерживать медленный и не родной SPI интерфейс для карт.

Скорее всего это связано с проблемой сброса езернет модуля, у меня тоже было - пока карту не передернешь, не работает. На форуме ардуино есть топик где обсуждали эту проблему. В "новых" модулях вроде бы как решили, но фиг его знает какой у меня , я взял самый дешевый китайский.

Поделиться этим сообщением


Ссылка на сообщение

Есть альтернативная библиотека webduino

Скорее всего это связано с проблемой сброса езернет модуля, у меня тоже было - пока карту не передернешь, не работает.

 

Судя по описанию библиотека интересная, только не понял будет ли она на мелкочиповом контроллере работать. Пока я остановился на Nuelectronics ENC28J60 EtherShield Library for Arduino.

 

На счет инициализации также интересно (может позже попробую поэкспериментировать, правда свободных пинов на меге у меня не осталось, если только чем-то жертвовать), но там обсуждается W5100, у меня другой (когда покупал не смотрел что за чип, искал определенного форм-фактора, а на W5100 таких не было, может и сейчас нет). Но то что есть карты с которыми работает без проблем и так, заставляет задуматься о других причинах сей проблемы.

Поделиться этим сообщением


Ссылка на сообщение

Один из способов решения проблем с SD картой:

 

Инициализация библиотеки с уменьшенной скоростью:

initFAT(spispeed)

значения spispeed:

SPISPEED_LOW

SPISPEED_MEDIUM

SPISPEED_HIGH (это значение по умолчанию)

SPISPEED_VERYHIGH

 

Второй источник появления проблем - это наличие нескольких устройств, работающих на SPI- шине.

Так, среди наших устройств это - touchScreen(иногда), SD карта, Ethernet, dataFlash, внешний EEPROM.

Все такие устройства используют стандартные пины для работы SPI: SCK, MISO, MOSI (на Mega это выводы 52, 50 и 51 соответственно) и индивидуальный для каждого устройства вывод CS (Chip Select). Для активного устройства на шине уровень на выводе CS должен быть установлен в низкий уровень. Это обычно делает стандартная библиотека устройства. Так вот проблема: при обмене с одним устройством для всех неактивных устройств на шине SPI значение CS должно быть установлено в неактивное состояние (высокий уровень). А вот этого сделать стандартные библиотеки не могут - так как понятия не имеют сколько устройств на шине SPI и на каких пинах они работают. Так что нужно думать о том, как согласовывать разные SPI устройства в рамках одного скетча.

 

Изменено пользователем netscape (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

Один из способов решения проблем с SD картой:

Инициализация библиотеки с уменьшенной скоростью:

 

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

 

на счет -SS есное дело он у каждого устройства свой и библиотеки, по крайней мере, то что я использовал, корректно с этим работают. мало того я под себя еще и подправил позже библиотечку именно для гарантированного мультиплексирования устройств.

 

если бы речь шла, что вообще не работает, можно было бы считать, что что-то не в порядке, а т.к. с одними картами работает, а с другими не хочет, причем разработчики библиотек сами упоминают об этой проблеме с совместимостью карт (и упоминают, что лучшие результаты они получали на картах дешовых и от малораскрученных брендов, кстати именно отсюда мое предположение про отказ от поддержки медленного и не родного интерфейса в контроллерах современных емких и быстрых карт, а вендоры второго эшелона еще продолжают использовать старые технологии).

 

причем с аппаратной точки зрения картридер для ардуины на столько примитивен (только логика по уровням) что сделать там неправильно нереально.

 

на счет ошибки при инициализации (правда упоминается W5100) интересно (но опять таки если бы вообще не работало, а тут.... кстати разные карты отрабатывают по разному, т.е. одни просто не читаются, другие с разными ошибками, т.е. и здесь все указывает, что врятли дело в конфликте устройств на шине). Но, если говорить об -SS (по крайней мере у меня) точно проблемы не от него.

 

короче проблема такая имеется, единого решения в сети нет (чаще всего авторы библиотек предлагают подбирать карты).

можно только позавидовать белой завистью человеку, у которого заработало сразу :)

Поделиться этим сообщением


Ссылка на сообщение

Парни такой вопросец, тут в некоторых темах были споры есть ли разница между 8-ми битным диммированием и 10-ти битным. Ну то есть заметно на глаз или нет. А в ардуине какая битность на выходах ШИМ на драйверы?

Поделиться этим сообщением


Ссылка на сообщение

А в ардуине какая битность на выходах ШИМ на драйверы?

В Arduino на PWM можно вывести от 0 до 255, то есть получается 8 бит.

Поделиться этим сообщением


Ссылка на сообщение

Пожалуйста, авторизуйтесь, чтобы оставить комментарий

Вы сможете оставлять комментарии после авторизации



Войти

×
×
  • Создать...

Политика обработки персональных данных