51

(5 ответов, оставленных в Технические вопросы)

Также использую внешний редактор (FAR-editor+colorer)в основном из-за того что ArduinoIDE  игнорирует сочетания клавиш "Ctrl+Ins" "Shift+Ins", а переучиваться некогда.

Сначала думал, что это я написал, т.к. именно связка Far+Colorer+ESC+UnicodeWizard используется мною при программировании на C/C++/PHP/JavaScript/Python/Perl и все остальное. И именно отсутствие Ctrl-Ins/Shift-Ins меня всегда напрягало в этой Arduinio "IDE".

удалось заставить работать один из файлов проекта лишь после тотальной зачистки всех русских комментариев. Возможно это издержки перекодировок Win-Dos-UTF8.

Посмотреть бы на этот исходник.
...а Far я так понимаю старый неюникодный? Я вот пока на 1.71 сижу, руки не доходят переползти на 2.0.

многие навороты из актуальной документации по С и С++ для нашего Си невозможны: структуры struct Point  {double x;  double y;}; конструкторы int[] d= new int[5];

Ничего себе! Похоже там действительно каким-то образом new/delete отрезали! Я еще поковыряю этот вопрос, но похоже, это уже неполноценный C++ получается. Жить конечно можно, выделяя через malloc.
...struct работает вроде:

struct Point { double x; double y; };

void setup() {
  Serial.begin(9600);
  
  struct Point a;
  a.x = 1.0; a.y = 2.0;
  Serial.println(a.x); Serial.println(a.y);
  
  int *d = (int*)malloc(sizeof(int)*2);
  d[0] = 3; d[1] = 4;
  Serial.println(d[0]); Serial.println(d[1]);
  free(d);
}

void loop() {
}

это массив, элементы которого сами являются массивами.

Тут смотря что мы хотим получить в конечном итоге, либо просто многомерный массив, но тогда мы должны знать его размер на этапе компиляции, либо, если если размеры заранее неизвестны, придется самостоятельно его создавать, по частям.
Но это и в "настольном" C/C++ точно так же, если только не обернуть всю эту кухню в какие-то мудрые классы.
Пример на оба варианта:

void setup() {
  Serial.begin(9600);

  //многомерный массив 2 строки, 3 столбца. Создатся на стеке, память освободится
  //после выхода из ф-ии
  int b[2][3] = { {1, 2, 3}, {4, 5, 6}};
  Serial.println(b[0][0]); Serial.println(b[0][1]); Serial.println(b[0][2]);
  Serial.println(b[1][0]); Serial.println(b[1][1]); Serial.println(b[1][2]);

  //динамический
  //Создаем руками - сначала массив из 2-х указателей на int
  int **c = (int**)malloc(sizeof(int*)*2);
  //Потом 2 кусочка по 3 int'а
  for (int i=0; i<2; i++) {
      c[i] = (int*)malloc(sizeof(int)*3);
  }
  //обращаемся к нему
  c[0][0] = 1; c[0][1] = 2; c[0][2] = 3;
  c[1][0] = 4; c[1][1] = 5; c[1][2] = 6;
  Serial.println(c[0][0]); Serial.println(c[0][1]); Serial.println(c[0][2]);
  Serial.println(c[1][0]); Serial.println(c[1][1]); Serial.println(c[1][2]);
  //не забываем освободить память:
  for (int i=1; i>=0; i--) {
      free(c[i]);
  }
  free(c);
  
}

void loop() {
}

52

(26 ответов, оставленных в Технические вопросы)

Конденсатор нужен для фильтрации скачков и провалов напряжения, и если замена не повлияла, то он и не виноват был, и ничего с ним не случилось. Непонятно следующее: "Накоротко замкнул 5V вывод и 5V на USB (припаял тонкий провод) - все работает" - это что означает? Что плата перестала греться, и шьется без проблем?

...и еще - фридуинщикам письмо на e-mail не писал? Ребята они нормальные, могут подсказать что-то, либо может просто замену сделают.

53

(2 ответов, оставленных в Технические вопросы)

В принципе, 4.5 В для самой Arduino должно быть вполне нормально, но подключать нужно не к разъему питания (к нему не меньше 7В желательно), а в обход стабилизатора напряжения напрямую к выводу 5V.
..."Крона" кажется слишком мелкой для большинства моторчиков - они ее скушают за милую душу очень быстро.
...вариант питания от кроны через разъем внешнего питания через стабилизатор мне тоже нравится, заодно от второй батареи избавляемся.

54

(2 ответов, оставленных в Технические вопросы)

Ув. тов. Калман, залогиньтесь plz под настоящим именем :)))))
...а если серьезно, то я хоть и не специалист, но фильтр Калмана, насколько я помню - это весьма серьезный мат. аппарат для идентификации линейных систем, а для фильтрации шумов можно и попроще использовать методы, например просто суммирование нескольких выборок, или простейший НЧ фильтр 1 порядка.

2 kryachkov: Ситуация стандартная - для всех АЦП считается абсолютно нормальным "дрожание" младшего бита, а в реальных условиях с учетом нестабильности опорного и питающего напряжений, шумов и прочего "дрожат" еще 1-2 битика. Даже вводят понятие эффективной разрядности АЦП, которая бывает дробной.

55

(5 ответов, оставленных в Технические вопросы)

0016 - оптимальная для версия для меня, редактор в Win-1251 кодировке, есть возможность отцепить Serial Monitor от COM-порта с сохранением вывода на экране

...я вобще HyperTerminal стандартный виндовый пользую - интерактива больше

0017 - кодировка в редакторе UTF-8, имхо причина многих бед, в рантайме у прошивки возможны утечки ОЗУ, подозреваются комментарии в UTF-8 как производный мусор при компиляции

Мне кажется маловероятным, что UTF-8 на что-то может повлиять. Это же все-равно потом обычным
gcc компилируется, а ему должно быть абсолютно фиолетово, какие там символы идут после //

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

Не удалось реализовать изрезанный массив или массив массивов. Это вообще возможно на "нашем Си"?

Си там самый что ни на есть "общий", если так можно выразиться.
Я не понял что имеется в виду под "изрезанным". Давай пример кода, и чего хотим получить - будем думать.

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

Ага, он его все-равно в ОЗУ сует. Можно положить константный массив в память программ. Для этого нужно использовать PROGMEM. Подробнее тут.

Существуют ли эффективные способы измерить свободное место в ОЗУ? Как интерпретировать показания глобальной переменной SP?

Что-то вот здесь расписано. Как я понимаю, SP - это классический Stack Pointer - указатель стека, и стек растет вниз. Т.е. изначально она равна максимальному адресу ОЗУ, а по мере заполнения стека уменьшается.

56

(2 ответов, оставленных в Технические вопросы)

Красивые железки получаются!
А батарейка только RTC микруху питает? Она же 3В ? Теоретически ATmega может от 3В работать вроде. Наверное было бы интересно Arduino загнать в энергосберегающий режим какой-нибудь.

57

(26 ответов, оставленных в Технические вопросы)

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

Из того, что Mega сильно греется, следует, что ток где-то через нее бежит, что кажется достаточно странным. Это точно Mega греется? Вокруг нее и снизу остальные компоненты холоднее?
Или ее кто-то из соседей греет?

Раз USB греется, нужно его контакты тоже прозвонить. На фото http://s001.radikal.ru/i196/1007/83/d1dcb27251f4.jpg контакты USB сверху-вниз:
-питание USB
-USB данные минус
-USB данные плюс
-не подключен
-земля
Сам корпус USB разъема - тоже земля - он за нее четырьмя лапами держится.
И визуально посмотреть USB разъем спереди, и сзади - где из него эти 5 ног выходят.
...и как сказал Anwi попробовать другой USB кабель.

58

(6 ответов, оставленных в Технические вопросы)

Если используется последовательный порт, то ноги 0 и 1 уже им заняты.
Т.е. светодиод нужно перевешать на какую-то другую ногу.
А загорается он потому, что вызов Serial.begin перевел его в режим входа
(0й вывод - это RX - прием), а FT232 на этом выводе +5В держит.

...сам не проверял, но судя по коду, чехарда с 0й ногой никак не должна мешать
Ethernet Shield'у устанавливать соединение и прочее.

Типовой пример WebServer'а работает?
Плата пингуется?
Какое состояние светодиодов?

И заодно напомню про типовую хохму всех Shield'ов, если Вы не в курсе:
http://www.arduino.cc/cgi-bin/yabb2/YaB … 25354009/2
...товарищи из freeduino.ru - напишите об этйо особенности в документации!

59

(3 ответов, оставленных в Организационные вопросы)

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

60

(9 ответов, оставленных в Технические вопросы)

Со своей стороны могу только предложить  (Motor Shield у меня нет, а разбираться детально в этом вопросе честно говоря лень) два варианта, чтобы по простому и быстро:
1. На сайте имеется принципиальная электрическая схема Motor Shield, а также подробная спецификация к ней  (лежит в описании к конструктору данного данного девайса). Помимо этого, там же (на сайте) приведена принципиалка freeduino. Из них можно взять готовые технические решения - то есть по аналогии собрать каналы управления двигателями (по тем же схемам и с такими же комплектующими). Кстати, для простаты сборки можно использовать беспаечную макетную плату, в свое время искал их и с удивлением обнаружил их широкое распространение на Украине.
2. Купить  Proto-Shield и на нем сделать переходник к Motor Shield, что достаточно просто - разъемы припаять  и перемычки бросить. В свою очередь куда перемычки бросать - можно посмотреть из принципиалки Motor Shield и freeduino.

61

(2 ответов, оставленных в Технические вопросы)

Я так понимаю все это время большей частью тратится внутри Serial.println.
Смотря какая задача, может можно в какой-то массив сначала сохранять данные, а уже потом
их посылать.
Либо пробовать посылать самостоятельно - на низком уровне, исключив некоторый имеющийся
во всех "оберточных" функциях overhead.

62

(3 ответов, оставленных в Организационные вопросы)

Интересная железка этот BT. Мне бы наверное более интересен был просто внешний BlueTooth модуль, но и так неплохо.
Также питание у него хитро организованно - через stepup микруху, чтобы можно было от 1.5В питать даже. Жалко, что от более чем 5.5В нельзя.
...платежи у нас между банками и правда бывает долго ходят. :)
Насчет технических проблем ничего посоветовать не могу :( - у самого такой железки нет.
Но я так понял, что нужно сначала на компе создать через BlueTooth соединение с Serial профилем, пароль там указать 12345. И вроде после этого все должно заработать как если-бы через провод.

63

(49 ответов, оставленных в Организационные вопросы)

AnatoliyErmolaev:
Я так понял RSS есть только на форуме. Вверху странички иконка с лого RSS.
Ну и RSS каналы есть на конкретную тему, например на эту:
http://freeduino.ru/forum/extern.php?ac … p;type=rss
Или на всю ветку форума, например на "орг.вопросы"
http://freeduino.ru/forum/extern.php?ac … p;type=rss
Как подписываться зависит от используемого софта. Я в Firefox просто жму ссылку,
и он предлагает подписаться.

64

(9 ответов, оставленных в Технические вопросы)

ilya_dan пишет:

Какая самая серьезная ошибка (схемная или аппаратная), по сравнению, допустим с оригинальной Arduino Nano имеет место быть у "клона для автолюбителей"?

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

65

(9 ответов, оставленных в Технические вопросы)

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

66

(9 ответов, оставленных в Технические вопросы)

noonv пишет:

to Сергей Деменков:
Кстати, в описании есть пункт про отличия, там всё написанно ;)
Именно эти отличия, по нашему мнению, и должны сделать плату более удобной в использовании.
Если хотите могу попросить человека, который занимался её разработкой по пунктам обьяснить - почему были приняты именно такие решения (если конечно это не будет считаться рекламой ;)

Нет, я ни в коем случае не против - появился новый девайс, я за (там конкуренция и снижение цен и все другие дела)!!!  Имеющиеся схемотехнические решения - могут быть полезны, кто спорит!!! Самое главное чтобы Ваше устройство не было повторением Carduino :))) С Вашим человеком общаться  боюсь  - уж больно он напоминает доктора Лектора из фильма "Молчание ягнят", да и к тому же тема, сами понимаете, на грани фола  - админ к чертям выкинет с формума (форум как никак Freeduino.ru) :))))

67

(9 ответов, оставленных в Технические вопросы)

ilya_dan пишет:

Не всегда, правда, люди ценят мои попытки быть объективным, например в этой статье: http://mk90.blogspot.com/2009/09/arduino.html.

Carduino и его (или ее) создатели это отдельный разговор  –  залез на днях на их форум и от души повеселился. Давно я не видел таких горе - разработчиков. Это же надо так испоганить оригинал (Arduino Nano), допустив столько аппаратных (и схемных) ошибок. Например, последняя из которых – вместо стабилизатора на 5 В запаяли на 9 В !!! А если честно – очень, очень неприятно, что они своей деятельностью (своим изделием –  Carduino) ставят под сомнение и выхолащивают идею «проекта Arduino» в целом !!!

68

(2 ответов, оставленных в Технические вопросы)

Для MaxSerial, поскольку у ней нет спец. джампера есть 2 способа:
1. Выпаять/выкусить один любой вывод конденсатора CRS
2. Воткнуть между линиями Reset и +5V резистор на 120 Ом или около того (взято тут).

69

(3 ответов, оставленных в Технические вопросы)

Принципиальные схемы устройств выложены на сайте - в описании устройств, например: схема freeduino max serial

70

(9 ответов, оставленных в Технические вопросы)

noonv пишет:

создавая CraftDuino не было стремления скопировать Arduino, а было желание улучшить юзабилити этой замечательной платы.
http://robocraft.ru/blog/RoboCraft/97.html


Честно говоря, мне не понятно чем достигается "юзабилити"  CraftDuino !!! Помимо этого, некоторое сомнение в совместимости с Arduino/Freeduino вызывает расположение разъемов (могу конечно ошибаться - оцениваю по фотографии). Надо Илью Данилова попросить дать характеристику этому девайсу - он специалист и достаточно объективен.

71

(53 ответов, оставленных в Организационные вопросы)

mega_alan пишет:

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

Насколько я могу судить -  при отправке наложенным платежом, да и вообще при любой посылке с объявленной стоимостью Почта России (филиал ада на земле) берет дополнительно деньги за страховку (иначе она отказывается отправлять посылку).  При этом, одним из страховых случаев  естественно является  внутреннее повреждение содержимого посылки (косвенный признак которого - это внешние повреждения коробки). В почтовых отделениях весят по этому вопросу памятки, как и в каких случаях  оформляются претензии - если я не ошибаюсь им можно даже за смятую коробку предъявить (но нужно было сразу это делать -  при получении посылки: написал бы претензию, что посылка повреждена и ты отказываешься ее получать, копию претензии направил к мужикам из  Freeduino, а те бы уже начали трясти после возврата им твоей поврежденной посылки страховку с Почты России и параллельно направили бы тебе другую посылку).  По-поводу повреждения  деталей - обратись к  мужикам из  Freeduino (письмо им напиши), они вроде бы не гонят - осуществят замену за собственный счет, да и к тому же подробно проконсультируют, что надо было делать в подобной ситуации. Бесит то, что Почта России  берет деньги не только за пересылку, но и также за страховку  -  а в результате.... вот явный пример. Бороться с ней надо!!!

72

(9 ответов, оставленных в Технические вопросы)

Давно не был на форуме, да вообще давненько не касался этой темы (все, что связано с duino). Однако, залез на днях в интернет и немного прошерстил там. Обнаружил достаточно большое duino (например, помимо известной мне freeduino ее клоны carduino, craftduino, roboduino и еще пару названий с окончанием на duino).  При этом, изготовители (продавцы) всячески их нахваливают, говоря это единственная хххх-duino и она настолько особенная, что ее купить вообще не возможно кроме как у них.  Ну это,  по-моему мнению, мягко говоря не правда - просто людям морочат голову. Все это одна и таже железка по функционалу  с различным количеством элементов на схеме (некоторые их уменьшают, чтобы снизить как я понимаю себестоимость) и их расположением.  Предлагаю здесь высказать поэтому вопросу свои мнения. Цель - чтобы у людей сформировалось понимание в чем разница между всеми этими железками (человек зайдет интернет поискать для покупки craftduino, найдет эту тему, прочитает ее и поймет, что у него есть выбор купить другую  хххх-duino, ни чем не отличающеюся от той, которую он изначально искал).

Все выложил. см. в исходном сообщении.

74

(22 ответов, оставленных в Технические вопросы)

Athlocatle пишет:
Admin пишет:

Высылаемые нами платы проходят тестирование всех функций перед отправкой, и до сих пор
никаких сбоев не было. Не могли бы Вы подробнее описать проблемы, с которыми столкнулись?

При попытке залить скетч в freeduino2009 (USB), получал устойчивое
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

Как-то не верилось, что могут быть проблемы с железом. Благо дело, что я приобрёл кроме 2009 ещё и MaxSerial. Спаял кабель, подключил к com-порту - залилось в лучшем виде. Перестановка микросхем с платы на плату показала, что микросхемы исправны. Это уже легче. В итоге включил паяльник и просто пропаял наиболее вероятный элемент - кварц, после чего всё заработало.

Внимание, вопросы.
Как вы объясните сей факт?
Какой флюс вы применяете для пайки?


Ни хр... себе! Холодный пай, что ли был (такое бывает - вроде работает, потом потрес и не работает :))))? А по поводу флюса, что-то я непонял - это как повлиять может (активный - отмывают же) ?  В любом случае вопросы интересные, посмотрим, что ответят :)))

Athlocatle пишет:

Дни затянулись?

Спокойствие мужчины! Лето время отпусков - только сейчас вернулся :))) Прошу немного подождать - нужно время подредактировать принципиалку (чтобы читабельна была).