26

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

icegrif пишет:

Здравствуйте! Скажите пожалуйста, когда можно будет приобрести у вас модуль Ethernet?И хотелось бы узнать когда появиться аналог Arduino MEGA?

Ethernet модуль к сожалению пока не полностью готов - посыпаем голову пеплом :)
Надеемся ближе к концу августа пустить его в продажу.
За Arduino MEGA мы пока не брались - железка весьма неоднозначная - развитие платформы идет экстенсивным путем: добавляется много новых ног, и значительно возрастает цена.
Может раскажите под какие задачи Вы планируете ее применять?

27

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

pashay пишет:

Разобрался. Надо правильно устанавливать виртуальный com-порт в случае если у вас на компе есть USB- мышь или клава.

Опишите пожалуйста поподробнее возникшие проблемы, найденные Вами их причины и способы устранения.

28

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

icegrif пишет:

Возможно ли на о снове этого устройства разработать проект (тот же WEB-сервер) достойный дипломной работы?

Наверное более весомым ответом на такой вопрос будет ответ Вашего предполагаемого руководителя, или заведующего Вашей кафедры.
Мы считаем, что относительная простота оборудования не является препятствием к реализации на нем серьезных задач. Полетом на луну тоже не шибко производительная машина управляла: http://en.wikipedia.org/wiki/Apollo_guidance_computer
:)

29

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

kostyapo пишет:

Посоветуйте пожалуйста, как я могу менять значения в ячейках EEPROM внешней программой с компьютера? (не через внутреннюю программу в микроконтроллере)

Такая возможность есть - bootloader работает по протоколу stk500v1, и в новых своих версиях умеет прошивать в том числе и EEPROM. (Строго говоря, это все-таки "через внутреннюю программу в микроконтроллере", но она там и так есть - свою писать не надо)
Работать с ним можно например так (из командной строки):
1. Перейти в папку ПАПКА_С_СОФТОМ_ARDUINO\hardware\tools\avr\bin\
   (например C:\arduino-0016\hardware\tools\avr\bin)

2. Чтение выполнять такой командой (COM3 заменить на Ваш порт):

avrdude -q -C ..\etc\avrdude.conf -p m168 -c stk500v1 -P COM3 -b 19200 -U eeprom:r:0.bin:r

Содержимое EEPROM прочтется в файл 0.bin размером 512 байт

3. Запись выполнять так:

avrdude -q -C ..\etc\avrdude.conf -p m168 -c stk500v1 -P COM3 -b 19200 -U eeprom:w:0.bin

Из файла 0.bin данные будут записаны в EEPROM

Мы стали прошивать обновленную версию bootloader'а в высылаемые микроконтроллеры недавно, и у Вас может оказаться старая версия.
Если потребуется обновить bootloader, читайте у нас на сайте: http://freeduino.ru/isp.html
Также, при возникновении трудностей пишите нам на e-mail, будем стараться помочь,
в том числе можем выслать прошитую микросхему.

30

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

Alecseyyy пишет:

вот ещё дополнение, самое главное, при использовании последних "дров" надо было выбрать в Tools - Board - ... ATmega168 (по умолчанию выставилось 328 :( )

Нас все-таки интересует, какой вариант микроконтроллера у Вас?
Ваше описание очень похоже на поведение Arduino NG
(http://arduino.cc/en/uploads/Main/ArduinoNG.jpg).
Современные варианты Freeduino / Arduino не требуют нажатия кнопки Reset для перепрошивки.

djv пишет:

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

Высылаемые нами платы проходят тестирование всех функций перед отправкой, и до сих пор
никаких сбоев не было. Не могли бы Вы подробнее описать проблемы, с которыми столкнулись? Хочется увидеть последовательность действий, состояние светодиодов и т.д.
С обсуждением этих или иных технических вопросов также можете обращаться на e-mail.

31

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

Выложил схемы в .gif на все варианты плат.

32

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

Ваше описание очень похоже на поведение Arduino NG (http://arduino.cc/en/uploads/Main/ArduinoNG.jpg).
Если это действительно она, то все верно - необходимо делать сброс перед загрузкой программы.

33

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

Итак, во первых, прошу прощения за длительную паузу с ответом.
По сути вопроса: наиболее интересным вариантом ISP программатора на основе Freeduino / Arduino мне видится вот этот: Mega-ISP.
BitBang тоже интересный, но он только для USB вариантов Freeduino, а на Serial варианте не заведется, да и фактически он к Freeduino / Arduino никакого отношения не имеет - фактически это программатор на FT232.
К сожалению, Mega-ISP никакой толковой документации не имеет, поэтому я планирую в ближайшее время выложить кратенькое, но достаточное описание с примерами на головном сайте.
Там же приведу пример модификации и компиляции bootloadr'а.
Если у кого-то уже сейчас есть вопросы, пишите, будем отвечать.

34

(1 ответов, оставленных в Выставка достижений)

Очень рады появлению наших клиентов в этом разделе.
Мы маленько порыли интернет насчет Ваших изысканий - вопрос кажется очень интересным, но мы к сожалению опыт работы с ДВС пока имеем только изнутри салона автомобиля :)
Немного не поняли одного - нашлось две почти идентичных ветки на двух разных форумах:
1: gt-irk.ru
2: irkutavto.ru
irkutavto.ru имеет какой-то скрипт, который автоматически перепечатывает сообщения с чужих форумов к себе? Или мы что-то недопоняли?
Собственно куда лучше ходить за новостями и обсуждением проекта?

35

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

kostyapo пишет:

Купил Вашу плату Ethernet, установил программу сервера из примеров.
В локальной сети отлично работает, отвечает,а с внешнего IP не могу подключиться никак.
При этом к другим устройствам в своей локальной сети подключаюсь без проблем.
Перенапраляю по портам на нужный локальный IP.
Вероятно, это ограничение программы или модуля?

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

        ---------------------------------
       |       Router (Win2k Server,     |
       | NAT via Routing & Remote Access)|
       |--------------- -----------------
       |  Public IFace | Private IFace   |
       |   172.20.3.1  |  192.168.1.1    |
        ---------------------------------
              |               |
        ----------       ----------------
       |172.20.3.2|     | 192.168.1.177  |
       |  Клиент  |     |   Freeduino    |
       | Firefox  |     |WebServer Sample|
        ----------       ----------------

Все работает без проблем. NAT сделан встроенными средствами Windows 2000,
в настройках прописан проброс 80 порта с внешнего интерфейса 172.20.3.1
на 80 порт Freeduino (192.168.1.177)

Кроме предложения заново все перепроверить пока в моем мозгу возникает только одно соображение:
Может то ПО, с помощью которого Вы делаете "проброс" порта не подменяет
IP адрес клиента на свой? Если это так, то при инициализации Ethernet библиотеки нужно указывать маску сети и шлюз. Примерно таким образом (на примере WebServer):

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 177 };
byte gw[] = { 192, 168, 1, 1 };
byte mask[] = { 255, 255, 255, 0 };

Server server(80);   //Создаем сервер, слушающий 80й порт (80 - это порт HTTP)

void setup()
{
  Ethernet.begin(mac, ip, gw, mask);
  server.begin();
}
kostyapo пишет:

Отключил Fierwall.

Если речь идет об обычном Firewall из состава Windows XP/Vista, то он на исходящие
соединения не влияет.
Если проблема не решится, опишите ситуацию подробнее - приведите исходный текст программы,
скажите какое ПО стоит на шлюзе, и т.д.

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

37

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

Andrei пишет:

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

Конечно, если мы как-то неправильно изменим загрузчик, допустим ошибки и т.д., а потом зашьем этот неправильный загрузчик, то работать он не будет. Это однако не помешает нам затем зашить правильный загрузчик, и вернуть все в исходное состояние.
Сложность заключается в том, что без дополнительных средств прошивка загрузчика невозможна. Варианты такие:
1. Использовать специализированный программатор вроде такого
2. Сделать программатор на LPT порт: ссылка 1, ссылка 2
3. Т.к. на USB вариантах Freeduino и Arduino есть чип FT232, то можно сделать BitBang программатор
4. Есть еще 2 проекта по созданию программатора из Arduino (не BitBang): ссылка 1, ссылка 2

Варианты 2 и 3 достаточно хорошо документированы, и мне тут добавить нечего. Попробую на днях оба варианта из 4-го пункта, и сообщу что получилось. Заодно выложу загрузчик, который не дергает 13-м выводом при старте.
...у Вас какой вариант Freeduino? (2009, Through-Hole и т.д.)

И кстати, сколько циклов записи выдержит память процессора?

Согласно документации Atmel - 10 тысяч циклов перезаписи

38

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

Andrei пишет:

Заметил, что при запуске программы, на 13 порту проскакивает кратковременный импульс, как с этим бороться?

Стандартный загрузчик (bootloader) специально "моргает" 1 раз светодиодом на плате (он как раз на 13м выводе) - это сделано в отладочных целях.
Если такое поведение мешает внешнему устройству, подключенному к 13 выводу, и переключить его на другой вывод невозможно, то есть вариант изменить исходные тексты загрузчика, перекомпилировать и прошить новый загрузчик.
Исходные тексты загрузчиков идут в комплекте с ПО Arduino в папке hardware\bootloaders.

39

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

Jackal пишет:

Хочу преобрести одну плату freeduino, но я не уверен что смогу разобраться как там что работает.
Подскажите что мне необходимо знать и уметь для того чтоб начать программировать freeduino? (языки програмирования, переменные и вообще методы создания операций для микроконтроллера).

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

Hirurg пишет:

Прикольные посты :)
Сами себе писали?

Вот ведь особенность русского языка - непонятно, то ли вопрос задан в вежливой форме (с обращением на "Вы"), и адресован Jackal'у, то ли нам (команде freeduino.ru). :)

40

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

Andrei пишет:

Спасибо.
Счас попробую, думаю резистора на 220 Ом будет в самый раз.

Забыл указать сопротивление. 220 Ом - это мало, т.к. бегущий через него ток при замкнутом контакте будет 5В/220Ом = 22мА - это многовато. Зачем лишний ток потреблять?
Обычно ставят около 10кОм.
Встроенные резисторы согласно документации 20-50кОм.

Andrei пишет:

Попробовал вариант 1 - получил интересный эффект, все работает наооборот:

Все верно. В программе нужно учесть, что при замкнутом контакте будет читаться 0, а при разомкнутом - 1.

41

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

Andrei пишет:

Если к считываемому порту ничего не подключено, то функция digitalRead () может беспорядочно возвращать значения HIGH или LOW.
Но как с этим бороться, поставить параллельно выключателю, установленному на 3 порт, сопротивление?

Вы правы - "висеть в воздухе" вывод микроконтроллера не должен, и если Вам нужно подцепить к микроконтроллеру кнопку или выключатель, то в разомкнутом состоянии нога микроконтроллера должна через резистор быть соединена например с +5, а в замкнутом - с землей. Либо наоборот. Оба варианта можно изобразить вот так:
http://freeduino.ru/images_forum/pull_up_down.gif
Первый вариант предпочтительнее, т.к. подтягивающие к +5В резисторы уже есть внутри микроконтроллера - их нужно только программно включить. Ваш выключатель будет либо соединять вывод микроконтроллера с землей, либо разъединять, и тогда он "притянется" резистором к +5.
После того, как вывод установлен на "вход" чтобы включить на нем подтягивающий резистор нужно "записать" в него 1.
программа будет примерно такой:

void setup() {
  pinMode(13, OUTPUT);   //13я нога - выход
  pinMode(3, INPUT);     //3я - вход
  digitalWrite(3, HIGH); //включаем подтягивающий резистор
}
void loop() {
  digitalWrite(13, digitalRead(3));
}

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

42

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

ilya_dan пишет:

Скажите, а этот Ethernet-shield будет совместим с Arduino Mega?

На уровне "воткнул и заработало" - нет, как и оригинальный Shield.
Там принципиальная проблема - на Arduino Mega шина SPI уехала на другие ноги,
и если сигналы SCK, MISO, MOSI можно взять с разъема ICSP, то SS все-равно придется
тянуть проводом с 53 вывода.
Подробно вот тут расписано: http://mcukits.com/2009/04/06/arduino-e … mega-hack/

43

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

Shumiloff пишет:

После заработной платы (после 11 числа) я в любом случае заказал бы один Shield и возможно ещё один вместе с модулем.

Как созреете, пишите нам на почту.

44

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

Shumiloff пишет:

Здравствуйте.
Я уже приобретал два комплекта freeduino и остался доволен. Очень интересует, планируется ли расширять ассортимент? И если да, то когда?

Спасибо.
Ассортимент стараемся расширять - только что обновил сайт - теперь также предлагаем Ethernet и еще Max232 serial вариант.
Пока еще не написали документацию с примерами - скоро выложим.

Здесь обсуждаются вопросы оплаты, доставки, и прочее.

46

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

В данной ветке предлагается собирать часто задаваемые  вопросы и часто отвечаемые ответы :)