Робоконструктор POP-BOT

Снова Элемент порадовал новым робоконструктором. Опять от Innovative Experiments. На этот раз это POP-BOT.

Выглядит почти точно также как и MICROCAMP и шасси сходное, а вот начинка несколько иная.

Электроника
Первое отличие, которое бросилось в глаза — уж больно бутербродистая плата. Нафига такой огород? А потом допетрил — это же Arduino сборка! Т.е. имеем шасси и силовой модуль на TB6612FNG. Бегло глянул — похож на L293 только покомпактней.

Сверху сажается плата переходник. С разьемами всякими, под разную периферию и гнездом под Ардуину:

А уже в него втыкается мозговой блок на базе ATmega168 с ардуиновским загрузчиком:

Модуль используется не классический Arduino Diecimila, а какой то уменьшеный вариант, названия не знаю, т.к. их расплодилось сейчас как грязи всяких разных на любой размер.

Получается вот такая монстровидная конструкция:

Выглядит жутко и страшно, но Ардуинщики радуются и аплодируют :)

Раз там стоит загрузчик, то соответственно и программатор к нему в комплект не идет, всего лишь шнурок на базе FTDI:

А в комплекте на диске лежит собственно среда Arduino и какие то примеры для работы с этим роботом.

Также есть дисплей, точно такой же как в MICROCAMP — со вспомогательным контроллером:

Шасси
Такое же как и в Microcamp — круглая плашка, на этот раз готичного цвета:

Колеса те же самые, но резина с чуть более ярко выраженным протектором. Что как бы символизирует агрессивно попсовый стиль вождения:

Движки точно такие же, я даже поленился их фотографировать и взял из прошлого поста:

Куча разных винтов и стяжек

Датчики
Тут тоже все стандартно для Inex, то же самое что и в Microcamp или Robopica

Датчик расстояния, обычный шарповский дальномер:

Датчик полосы и кнопка:

Это добро там в количестве, ЕМНИП, трех штук на каждый тип.

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

Прочее барахло:
Бумажная карта, такая же как и в двух других конструкторах

А еще в комплекте идет сервомашинка (!). На кой черт непонятно — при беглом осмотре робота в сборе нигде ее не увидел, но в комплекте есть:

На нее можно будет повесить датчик расстояния и робот сможет башкой вертеть, ощупывая местность.

В общем, то же самое что и Microcamp, плюс сервомашинка и минус программатор. Благодаря изначальной заточке под Arduino будет проще в освоении, но в дальнейшем без программатора будет тяжко.

Еще понравилась цена. Если в Элементе Микрокамп стоил около 6тыр, то эта тарантайка заметно меньше — что то в районе 4-5тыр. Сказывается, видимо, отсутствие программатора.

Инструкция на робоконструктор POP-BOT

Пока только на английской мове, но может кто перевод подбросит?

На диске, кстати, инфы было просто дофига. Папочка с документами весила наверное метров 50. Там было и описание всей электроники этого робота, и подробнейший мануал по среде Arduino IDE и по самому языку Wiring на котором пишутся ардуиновские скетчи (Wiring, как я понял, это что то вроде слегка упрощенного и заточенного именно под Ардуино Си, причем компилится все через стандартный WinAVR GCC, просто хитро все завернуто в библиотеки).

А также видеоролики есть:

Если слазать на Ютуб, то у этого юзера будет еще с десяток подобных киношек.

Империя наносит ответный удар
А я вот призадумался… У меня давно уже вынашивался план скреативить собственную миниплатформу, подобную микрокампу.
Но в ценовом диапазоне около 3тыр, расширяемую и модульную, с программными шаблонами и своего рода RoboAPI, дающим возможность абстрагироваться от железа и механики.
А вот эта штука, особенно если брать напрямую у производителя, оказывается очень таким сильным конкурентом — фабричное качество, да гламурное исполнение фактически по той же цене.

Пришлось переработать концепцию, подумать чем можно вырулить и в каком месте дать прикурить. Кажись придумал, но пока не буду разглашать задумку. Хай интрига будет :)

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

108 thoughts on “Робоконструктор POP-BOT”

  1. Забавная игрушка. А кроме бегов маленьких роботов у него есть еще интересные функции? А в производство наверное было бы хорошо пустить игрушку которую сваял SWG.

    1. Ну, у меня он еще не доведен до ума, программа пока состоит фактически из тестовых модулей той или иной периферии, и развитие продолжается. Сейчас прикидываю компоновку поворотной платформы. Вчера поехал, купил на всяк случай по 5-10шт 74HC164N, 74HC165N, 74HC595N, 74HC595 SMD, PCF8574AP, MC34063API, MC34063AD SMD. Некоторые из них у меня еще были, но не ждать же, когда кончатся, чтобы потом бегать искать по морозу. Пусть лучше будут под рукой. Закончу подготовку к зиме, займусь опять своим роботом. Приведу в порядок то, что уже есть, и добавлю поворотную платформу. Недавно подсчитал ее потребности — получается линий на 10-15 больше, чем есть даже у PIC16F877 в DIP 40. Cтавить чего-нибудь с сотней ног на башню не хочется. Придется кое — где ставить регистры… Прикинул вариант совместить контроллер башни и центральный — но не хватит ног, да и загружен устройствами на поворотной платформе он будет изрядно. А на центральный пока Мегу 128 планирую, если не подвернется что-нибудь более подходящее из PICов. Меги 32,64,128 у меня есть. В принципе, 128 должно хватить. А по глобальным проблемам пусть с компом советуется, для того и радиоканал двухсторонний сделан.

        1. 74HC164N — регистр сдвига с последов. входом — параллельным выходом (1533ИР8),
          74HC165N — регистр сдвига с параллельным входом — последов. выходом (1533ИР9), 74HC595N — регистр сдвига с последов. входом — параллельным выходом, выходным буфером с защелкой и 3 состояниями,
          PCF8574AP — 8 разрядный порт ввода — вывода, управляемый по шине I2C. 3битный задаваемый индивидуальный адрес позволяет иметь на шине их одновременно 8 штук. Корпус DIP 16ю

            1. Ну,я не сторонник крайностей. И так у меня получается распределенная система обработки с 4 контроллерами, связанными по шине I2C, с максимально законченной функциональностью каждого. Пока было 2 контроллера — ходовой и бамперов, ходовой выступает в роли главного, общаясь через RS232 с компом, получая от него команды, и выдавая в ответ телеметрию и данные об обстановке. Сейчас начал разработку контроллера поворотной платформы(башни). К нему через полую ось поворотного узла пойдет всего 4 линии: земля, питание +12v и шина I2C. Возможно, добавлю запрос прерывания центрального контроллера, для особых ситуаций. Хотел вообще подать питание через вращающийся трансформатор, а сигналы — через оптопары, смотрящие друг на друга через ту же полую ось, но решил пока особо не мудрить. Ну а в пределах платформы управление и первичная обработка информации — в одном PIC16F877. Через сдвиговые регистры с защелками буду управлять 2 шаговиками — поворота башни и подьема телекамеры, также в аналогичные регистры хочу собрать управляющие сигналы включения подсветки камеры, лазеров, светодиодов оптопар положения платформы, вкл. питания камеры, пиродатчика, множители чувствительности измерителя освещенности (4 бит). Возможно, через регистры подключу ЖК индикатор 2х16 или графический 128х64. Думал подключить его к центральному, но в башне раположить его логичней. (на затылке, или сделать подьемным). Остальное пойдет напрямую, тогда ног хватит (три с лишним десятка у контроллера все-таки).

  2. «своего рода RoboAPI, дающим возможность абстрагироваться от железа и механики.»
    Буу-га-га-га. Лавры Билли, нашего, Гейтса, покоя не дают? Очередную винду пишем? Ну вот, расскажите, мне батенька, зачем от железа абстрагироваться? К чему всё это? Ну ладно, допустим (по прошлым постам) злые линуксоиды охмурили вас в свою идиотскую веру. Они показывали изображение священной птицы Пингвина, и рассказывали про Идеал Переносимости. Почти как свидетели йеговы, у которых лев и ягнёнок вместе спят. Так и у этих малахольных эффективность приносится в жертву некой мифической переносимости. Типа пишем под PC на базе i386, а потом то же самое запихнём в tiny25, и всё будет работать. Ага. Слушайте их больше…
    А от механики зачем абстрагироваться, когда в каждой из платформ есть свой неповторимый цимес?

    1. Думаю, что дихальт писал про интерпретатор позволяющий не программисту программировать робота.

      1. А зачем не программисту программировать? Да и разницы нет, если с нуля, что учить: асм или новый какой то язык. Вообщем, холивар это очередной по поводу использования языков. Просто будет что то удобное под конкретные задачи, автору решать что именно.

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

          1. Программирование вполне органично включает в себя кодирование. Они никоим образом не являются двумя частями целого, или двумя этапами. Целое здесь — программирование, часть — кодирование, в него входящая.

            1. Я имел в виду, что без умения определить, что и как нужно сделать, для решения задачи, никакой язык программирования не поможет, как бы хорош он не был. Вроде написал достаточно понятно. Деление на части обычно реально существует только в голове программиста. Определившись с решением, выбираем языки для реализации (C, DELPHI, SQL, PHP, VB, и прочие).
              Правда, в больших программных проектах действительно существовало деление программистов на системных аналитиков, для постановки и анализа задач, групп программистов (забыл названия), занимающихся разработкой алгоритмов решения, и кодеров, реализующих эти алгоритмы средствами языков программирования, вплоть до ассемблера. Таким путем, например, создавались операционные системы для компьютеров фирмы IBM. Например, знаменитая OS360. Трудозатраты на нее составляли вроде около 300 человеко-лет.

    2. Полагаю разница вот в чем (экстраполируем на другую предметную область):
      1) написать дровину (на тыщщу строк) под видеокарту для вывода на монитор хэлловорд
      или
      2) заюзать апи (одна строка) чтобы вывести тот же хэлло ворд на экран

      1. Вот, выше уже товарищ SWG ответил. Проблема в том, что даже приснопамятный хэлловорд невозможно сделать, абстрагировавшись от железа. У кого-то железо — писишная видеокарта, у кого-то ком-порт (и больше ничего), а где-то экранчик от нокии.
        При этом наличие/отсутствие API ни на что не влияет. Да разговор не про API, а про абстракцию, а это две очень,очень разные вещи. API — это способ облегчающий делать какое-то действие — рисовать буковку на экране, или считать кубический корень. И неважно, откуда берётся код API — поставляется производителем, написан ли он коммьюнити, или это та самая тысяча строк на ассемблере, сделанная под конкретный проект.
        Не стоит путать наличие API с абстракцией. Абстракция — это представление оборудования в качестве некоего класса, с забивом на его реальные возможности. Вот например, если вас отправить в стройбат — та вам сунут лопату в руки, и скажут «Копай!». И никого не ыпёт, что вы замечательно программируете. Для командования — вы абстрактный копающий механизм, позволяющий выполнить «боевую» за дачу. А что не так? Руки есть? Лопата к ним подходит?

        1. Любой API и есть абстракция, ведь имея интерфейс, нам становится не важно, как устроена система, сложная система представляется лишь черным ящиком, которым можно легко управлять через удобный интерфейс (что видимо и предлагается через RoboAPI).
          Кстати, «представление оборудования в качестве некоего класса» и есть API. API в виде определенного класса.

          1. Вот здесь я категорически не согласен. Любой API есть ни что иное, как готовый код для многократного использования. Как я написал выше, вызов API может заниматься вычислением кубического корня. Причём здесь абстракция?
            Удобство к абстракции тоже никаким боком не клеится, а по управление «сложным ящиком простым методом» — Так не бывает. Либо ящик простой, либо управление _АДЕКВАТНО_ сложности задачи, или это вообще не управление. Управление, оно как мёд. Оно или есть, или его нет. Случай, когда не всё учитывается, называется «управления нет», и его показали два месяца назад на Саяно-Шушенской.
            Рассмотрим робо-платфому. В домашних условиях можно родить целый перечень платформ — колёсную, гусеничную, шагающую, прыгающую, и, если очень напрячь межушный ганглий, то даже летающую. (Забыл имя того мужика, в честь которого назван эффект «прилипания» струи воздуха к поверхности. Немцы во ww2 баловались, а сейчас американцы действующий прототип дроида сконструировали)
            Так вот, управление каждым из этих видов платформ является совершенно разной задачей. Начнём с того, что то, что является препятствием для колёсной платформы, едва замечается гусеничной, а для остальных препятствием вообще не является. У шагающей обязательно надо мониторить нагрузку на каждую из лапок. При мысли о том, сколько всего надо учитывать для прыгающей и летающей — у меня помутнение наступает.
            То есть получается, что ехать на колёсиках — это один набор задач, а на лапках — совершенно другой.

            1. Хочу добавить, что недавно японцы продемонстрировали вообще уникальный вид движителя для робота. Робот, у которого в наличии был только корпус, выставлялся на улицу, и к нему прикрепляли записку «Мне очень нужно попасть туда-то. Отнесите меня пожалуста.»
              И ведь до места добрался. Но то в японии. Добрался бы он у нас?

            2. API не есть код, API — интерфейс. (Нет «кода» OpenGL, есть его стандарт, описывающий структуры, константы и имена функций (говорят, сишный интерфейс))
              Есть железка1, которая вычисляет одним, только ему известным способом квадратный корень.
              Есть железка2, вычисляющая корень другим способом, исходя из своих возможностей.
              Есть железка3, вычисляющая то же самое третьим, совершенно замутным способом, через свои могучие аппаратные возможности.

              И что же? Будем вручную обрабатывать все случаи? Лучше уж скажем, что все три железки поддерживают API с функцией sqrt. Как она реализована, нам не важно, но мы знаем, что работаем с железом, поддерживающим этот API. А значит, мы абстрагируемся от конкретного железа, не теряя при этом никаких возможностей по его программированию/управлению.
              Другой вопрос, что этот API еще кто-то должен реализовать.

              1. Полную ерунду глаголете, батенька.
                Начиная с того, что что ввели понятие некоего интерфейса, коего зверя в природе нет.Есть процессор, и код, который тот может исполнять. Сейчас мне начнут рассказывать про стандарт…
                Стандарт берётся из справочника Потолковского, или высасывается из пальца каждым производителем. До тех пор, пока кому-нибудь не улыбнётся фортуна, в виде заглота рынком его творения — как рыбка кушает крючочек, а потом сплюнуть не может. Вот тогда откровенно «пионерские», непродуманные решения делаются стандартом. Вдруг и внезапно.
                Как пример, могу привести пи-си, который весь состоит из рудиментов, подпорочек, тащит это хозяйство с собой из далёких семидесятых, и только обрастает новыми. И софт от него такой же.
                Далее, что вы говорите — цитирую: мы знаем, что работаем с железом, поддерживающим этот API. — еще больший бред, уж извините меня. Вам стоило подумать, прежде чем писать такое. Вот мой компьютер, а вот в ящике стола лежат диски с виндами, с досом, и с линухами. Продолжать?
                Или всё же согласитесь, что АПИ даёт софт, а не железо. На самом деле, вы никогда не сможете абстрагироваться от железа. Этот цирк в разных вариациях продолжается столько, сколько существуют компьютеры, и пока еще никому не удалось. И самое главное — зачем?

                1. АПИ даёт железо (в том смысле, о котором говорим мы), примечательна в данном случае история с тем же OpenGL, стандарт которого усиленно подтягивают к возможностям видеокарт: не успел выйти 3.0, выходит 3.1, и буквально тут же выходит 3.2, в то время как даже не все вендоры успели реализовать тот же 3.0 (полностью и без ошибок). Просто аппаратные возможности видеокарт оказались выше возможностей существующего АПИ, что привело к череде подтягиваний до нужного уровня.
                  Если вы пишете программы, не зная с каким железом вы работаете, то тут мало что поможет. У меня вот рука не подымается использовать то, что в аппаратуре невозможно реализовать (работать же не будет).
                  Понятие интерфейса кстати не я ввел :), API — application programming interface, мы об этом вообще говорим?
                  Вообще, что плохого в заглоте рынком чьего бы то ни было творения? Вы против OpenGL? Вы против DirectX? Вы считаете, что лучше работать с видеокартами напрямую? Заглот рынком и означает, что API удобен, и работать с ним легче, чем без него. Сейчас разработкой игр занималось бы штук 5 фирм по пятьсот программистов в каждом, коли не было бы АПИ к железке.
                  Конечно, если вы хотите работать с одним единственным уникальным экземпляром аппаратуры, то флаг вам в руки, напишите одну единственную программу под эту аппаратуру, АПИ вам тут и не нужен (хотя я очень сильно сомневаюсь, что у вас получится программировать что-нибудь сложнее простенького микроконтроллера; слабо реализовать OpenGL 3.2 под ATI HD4870? Спеки железки открыты на саете АТИ/АМД)

                2. API дает и софт, и железо.
                  Например, несколько десятков регистров типа PORTx или там UDR — это API МК (точнее, его периферии), реализован в железе.
                  Туева хуча функций вроде CreateWindow и т.п. — API винды, реализован программно.
                  Абстракция от железа в той же винде вполне наличествует — чтобы вывести звук, не требуется определять, какая у пользователя звуковуха, на каком адресе, канале DMA, прерывании (а во времена DOS была веселуха с заданием всего этого в программе настройки) — достаточно обратиться к общему для всех этих железок API — MMSystem или DirectSound. Собственно, про непосредственно железо вспоминать приходится очень редко.
                  Про архитектуру ПК — да, она страшная. Но иначе апгрейд был бы как с консолями — купите новую приставку и новые игры, потому как старые на новой платформе не работают (впрочем, теперь и приставки сохраняют костыли для совместимости).

                  1. Всем сестрам — по серьгам. Начнём с троллинга. Это почему же не надо? Вон, какие народ забавные вещи говорит в запале, аж сердце радуется. Википедию в ранг Абсолютной истины возводят, железо у них апи предоставляет. Опять же, вон, все смертные грехи на меня вешають — говорять, дескать противник я директикса (и кто это им такого нашептал, вон все мои посты на виду, неговорил я такого…) И невидимую руку рынка хвалят, можно подумать, она кого по голове гладит…
                    При этом, вы, благородные доны, с упорством защищаете мою же позицию, говорите, таки да, «Если вы пишете программы, не зная с каким железом вы работаете, то тут мало что поможет.»
                    Собственно, с того я сам и начал «даже приснопамятный хэлловорд невозможно сделать, абстрагировавшись от железа.»
                    Троллинг вышел классический… Лучше у меня получилось только несколько лет назад, когда я показывал дельфистам, что объектной модели не существует. Вернее, не существует, как чего-то отдельного — все программы до единой, формально работают в объектной модели.
                    Вот спрошу я себя — а что эти люди так забурлили-то? Они защищают парадигму, то есть систему взглядов, набор правил и ограничений, предписывающий, КАК ИМЕННО надо воспринимать вещи.
                    Например, товарищ «vgacich.livejournal.com» упоминает затруднительность апгрейда. Можно, я товарищу напомню, как добрые дяди из интеля выпустили п-2? Если кто забыл суть, то был п-1, торчал себе из гнезда сокет-5, потом сделали п-2, и сунули его в слот-1. А затем сделали п-3, и сунули его в сокет-370. И шо тут такого, спросите вы? Поясняю хохму — все три этих камешка работали на чипсете интел-440. Если как следует поискать, то можно найти отчет, как народ на спор пень2 мгтфными проводочками к плате от п-1 приживил, и всё работало.
                    Для чего я это? Показываю, как невидимая рука рынка залазит нам в кармашку, вытягивая денюшку на «технический прогресс». Невозможность апгрейда софта и железа создаётся искусственно. Но, не так, чтобы допустить реальный прогресс (на это ни у кого нет не денег, ни желания), а так, чтобы вынудить юзера башлять вновь и вновь, не получая взамен ничего нового. Так что заглот рынком означает всего лишь заглот рынком, и ни в коей мере не говорит о потребительских качествах заглоченного. Может эту штуку просто дешевле производить, как соевые сосиски.
                    Остыньте, остыньте, не стану я вас больше троллить, хочу вот напоследок сказать, подытоживая тему, донести свою мысль.
                    Мысль была такая — нас окружают догмы. Стоит только завести разговор относительно программирования, народ возбуждается, и начинает бегать по палате с криками «Нет, всё это не так, это неправильно». Согласен, неправильно, потому что не по правилам. А кто эти правила установил?
                    Программирование относится к той области человеческой деятельности, в которой каждый волен задавать любые правила, и придерживаться любых рамок.
                    Здесь есть всего две категории — возможно и невозможно. Всякие остальные вещи придуманы, именно придуманы, измышлены, для удобства понимания. Типы данных, правила вызова, описатели — это всё искусственные нагромождения, сделанные для удобства. Удобства, а не для возведения их на пьедестал, и поклонения им. Принимая ту или иную модель программирования, никогда не стоит забывать, что эта модель искусственная. Что она создана кем-то для своего удобства, и принимая это удобство мы одновременно одеваем шоры на глаза, сужая свое поле зрения и возможностей. Матрицу смотрели? Ложки нет. А вы тут устраиваете споры на тему, какой именно ложки нет, и приводите мнение авторитетных ложечников.
                    Парадигмы можно придерживаться только пока она приносит профит, иначе это получается повторение бессмысленных телодвижений, только потому что так принято, или так завещал великий гуру. Культ карго, во всей его красе, что тут сказать.
                    Троллинг удался, всем участникам процесса спасибо.

                    1. Вероятно, я неправильно понял твою точку зрения, если ты утверждаешь, что я ее поддерживаю.
                      Насчет предоставляемого процессором API я пожалу

                    2. >даже приснопамятный хэлловорд невозможно сделать, абстрагировавшись от железа

                      DC := CreateDeviceContextSomeHow();
                      FillRenderingContextParamsSomeHow(RCParams);
                      RC := CreateRenderingContext(DC, RCParams);
                      ActivateRenderingContext(DC, RC);
                      RenderString(«Hello world»);
                      ActivateRenderingContext(DC, 0);
                      DestroyRenderingContext(RC);
                      DestroyDeviceContext(DC);

                      И мне плевать, что у меня — монитор, принтер или экранчик от нокии 3110.

                      А никто и не утверждал, что вы противник или сторонник DirectX.

                      Невидимая рука рынка — то, к чему мы все стремимся, если вы не из сторонников рынка, вам в Северную Корею стоит переселиться.

                      Идите уже дальше продавать говно, сидя за П-1 :) Ведь качество товара не главное.

                    3. а никто википедию в никакой ранг не возводил, поэтому и написано «хотя бы» (читай: на худой конец) там.
                      то что это троллинг это сразу было понятно.
                      А интел уже давно нас пичкает всякими сокет7, слот1, сокет370, сокет478, ЛГА776. Вот и сейчас плодят 1366 и еще 1156 (хотя можно было бы делать всё под 1366). И АМД туда же…
                      энд оф троллинг :-)
                      мир, дружба, старкрафт ^_^

    3. Здесь важен уровень абстракции, и правильно выбрать, на котором уровне остановиться. Взять те же макросы в асме, к регистрам и ногам МК вы обращаетесь уже не адресу в памяти, а по названию, что намного удобнее. А различные библиотеки на Си, это тоже своего рода API для МК. Только обобщенный API, для всех задач. А сделать что то подобное RoboAPI было бы не плохо. Может быть это очередной велосипед, но если на нем ездить удобнее, то почему бы и нет?

      1. Макросы и названия — это символические имена. В данном случае просто другой уровень удобства. Трудноусвояемые адреса заменяются на легкозапоминаемые мнемонические имена. Сокращения числа сущностей в данном случае не происходит, и значит никакой абстракции нет.
        Можно вручную написать извлечение кубического корня, а можно вызвать библиотечку, с готовой функцией. Эти решения будут совершенно равнозначны, и никакой абстракции тут тоже нет. Удобство не есть упрощение, яволь?

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

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

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

      1. «благодаря им каждая домохозяйка может теперь пользоваться компом»
        Вот потому она и такая кривая, что рассчитана на домохозяек… Из за рассчета на максимально тупых она давно превратилась в монстра, жрущего самого себя, и Intel уже не успевает подбрасывать в эту пасть ядра, гигагерцы и гигабайты. Сравните, например, 98SE, 2000, XP, VISTA, WIN 7. Что принципиально нового мы получили, если отбросить обещания каждый раз, что «Теперь система стала еще быстрее и надежнее»? Еще 2 года назад дома, и полгода назад на работе, я делал под 98SE все то же самое, что другие делали на 2000 и XP, и пытаются делать на Висте. Только 98 хватало 200МГЦ со 128 мегов памяти, XP желательно не меньше PIII 1GHz и 1ГБ памяти, про VISTA и писать не хочу, под ней куча программ вообще не работает. А что получили взамен, действительно нужного, чего не было в предыдущих версиях? Включи в XP «стандартный» вид, смени заставку, и ее практически не отличишь от 2000. А чего хорошего появилось в VISTA, из за чего все бы кинулись сразу ее ставить? Возможность делать окошко с рабочим столом кривым и складывать рабочие столы пачками? Зато этот разрекламированный новый интерфейс «Аэро» так грузит комп, что и четырехядернику мало не кажется. С WIN 7 пока ре работал, но ничего хорошего тоже не жду и сказать не могу. Я думаю, лучше было направить домохозяек на недельные компьютерные курсы, чем заставлять остальные сотни миллионов нормальных пользователей постоянно иметь секс с дурацкой системой.
        А ведь была неплохая альтернатива: «полуось», — система OS/2, разрабатывавшаяся тем же Биллом совместно с IBM еще после MS DOS. Полностью 32 битная и многозадачная. Но когда после полного провала Виндов 1 и 2 версий версия WIN 3.1 хоть и со скрипом, но наконец — то пошла, Билл полностью отказался от участия в разработке OS/2. IBM пыталась тянуть ее самостоятельно, и примерно в одно время с появлением WIN 95, появилась OC/2 версии 4.0 WARP, которая имела графический интерфейс, очень похожий на интерфейс 95, но немного построже, зато, в отличие от WIN 95, сделанных как надстройка над DOS, в OS/2 4.0 было ядро с истинной многозадачностью, которая у Билла была реализована только в WIN NT, и то криво. Подвесить хоть 2000, хоть XP — не проблема… Году в 96 OS/2 начала довольно быстро набирать популярность (мы даже на работе пробовали ее запускать), но все решило появление DirectX. Поскольку работа графики через ядро была тормозной и делала невозможной создание игр, сравнимых по качеству с уже имевшимися под DOC, первое время под Виндами просто запускались игры в DOS окне. DirectX сделал «дырку» в системе, пуская обработку графики и звука в обход ядра, напрямую. Начали появляться новые игры уже под Винды, и это решило судьбу системы. Поскольку даже на работе в большинстве случаев компы использовали часть времени для игр, даже там, где успели перейти на OS/2, начали ставить WIN 95. А тут еще появилась более — менее удачная версия WIN 95 OSR2, избавленная от многих ошибок, более стабильная, и с поддержкой AGP и USB… В общем, OS/2 забросили. А WIN NT появилась уже позже… А к юбилейному 2000 году взяли NT5, спешно приспособили ее для домохозяек и прикрутили DirectX, и назвали ее WINDOWS 2000.

        1. Ну допустим, при прямых руках секса с виндой не больше, чем с тем же линуксом, да и завесить линукс тоже не так сложно, было бы желание.
          98 по сравнению с 2000 и выше изрядно проигрывает в стабильности. Многозадачность уже начиная с 95-й вытесняющая, но из-за кучи 16-битных подсистем с эксклюзивным доступом толку от этого мало.
          >А чего хорошего появилось в VISTA, из за чего все бы кинулись сразу ее ставить?
          Гламурненький интерфейс и DX10. Собственно, то что и хотели те, кто кинулся ставить :)
          >с поддержкой AGP и USB
          Вот из-за поддержки подобных фич, и из-за прекращения поддержки со стороны дров и приходится систему менять. Ну и плюс появляется много мелких, но удобных фишек.

        2. Маркетинг никогда не следовал по пути правильной вещи. Какой смысл делать качественно и навсегда? Ведь тогда продукт будет одноразовым! Купил себе MS Office 95 и забыл о офисных программах лет на 20.

        1. Да, но подразумевается, что с микроконтроллером робот должен выполнять свою задачу чётче и быстрее. А тут как бы наоборот…

  3. Интересная просматривается закономерность. В Robo-PICA имеем мощный контроллер PIC16F887 в DIP 40 с кучей портов, достаточной не только для подключения прилагаемой комплектухи, но и на дальнейшее развитие есть неплохой запас. Кроме того, в комплекте программатор с функциями отладчика ICSP-ICD2 на USB. Даже отвертка есть.
    В MicroCamp контроллер мега 8 в DIP 28. Как следствие, даже для подключения прилагаемых датчиков (тех же, что и в предыдущем роботе), уже не хватает 1 порта!!! Естественно, для дальнейшего развития периферии шансов нет. Программатор в комплекте стандартный 910 на COM порт. Отвертки нет.
    В POP-BOT вообще поставили ATmega168 с ардуиновским загрузчиком на плате — переходнике. Судя по тому, что у этой платы всего 24 ноги, портов больше не стало… Программатора нет, отвертки нет. Зато есть серва, но при дефиците портов, если ее воткнуть, датчиков удастся подключить еще меньше.
    Получается, что самым навороченным, с максиммумом возможностей и учетом дальнейшего расширения был Robo-PICA…

    1. Ну, наверно среди этих 24 ног практически все — порты. А у меги еще по несколько питаний и т.п.
      Ну а программатор для такого девайса можно собрать дешевый AVR910 и включить через шнурок. Будет USB программатор рублей за 50-100. Разьем для программатора на ардуине есть вроде.
      Робо-пика ж вроде другой фирмы?

      1. Все 3 упомянутых мной робота — одной фирмы. Я в комментах к статье по RoboPica давал ссылку на их сайт.
        У Меги 8 — 23 линии портов. У PIC16F887 — 36!

        1. 22 даже — одна с ресетом расшарена, а он для перешивки необходим. И у ардуины врядли больше, должен же он хотя бы питацо…
          Ну робопика — он попутно и самый дорогой, и шасси поинтересней — гусеничное.

          1. «Ну робопика — он попутно и самый дорогой, и шасси поинтересней — гусеничное.»
            + к тому — места на шасси под платы больше, плата контроллера имеет больше разьемов (даже больше, чем нужно прилагаемым датчикам). И 8 входов АЦП.

            1. Отвертки, кстати, были во всех конструкторах. Я просто забыл про них написать.

              А по поводу сложности… это вопрос особый. Эти конструкторы самодостаточны сами по себе. И 90% их покупателей будет играться с ними не добавляя ничего к уже имеющемуся. Это именно что решение для тех, кто не шарит в железе, но хочет попрограммировать. И чем дальше тем проще.

  4. По поводу навороченности, потов ввода/вывода и отверток. В экономике есть такое понятие как целевая аудитория. Ну так вот (все сугубо мое личное мнение):

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

    — MicroCamp. Упрощенно-удешевленная версия, для тех кто просто хочет поюзать прикольную железку, но не планирует её заниматься в дальнейшем вообще.

    — POP-BOT. То же MicroCamp, но на потеху Ардуиновцам, которые будут его покупать только из-за приверженности к Ардуино и пытаться на него навешать ненужных ему ф-ций.

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

      1. Кондеры видимо разбросаны по плате, один так у МК, другой еще у чего. Хотя, для этого номиналы у них странноваты.
        Rcs лимитирует пиковый ток ключа, данный на уровне полтора ампера — предельно допустимый для этой микры ток. За подробностями — в даташит.

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

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

  5. > Выглядит жутко и страшно, но Ардуинщики радуются и аплодируют :)

    Радуюсь и апплодирую :)

    > Модуль используется не классический Arduino Diecimila, а какой то уменьшеный вариант, названия не знаю, т.к. их расплодилось сейчас как грязи всяких разных на любой размер.

    Судя по всему, это один из клонов Arduino Stamp или Nano.

    1. Типичная реакция нормального человека на усиленно рекламируемый товар, на самом деле ничем выдающимся не обладающий. Особенно когда вокруг него собирается толпа фанатов (как, например, компы Apple).

      1. Тут же главное сыграть на желании человека иметь, что-то такое, что есть у соседа. Разработчикам Ардуино это замечательно удалось сделать. Мя напрягает в Ардуине только попсовость, т.к. там абсолютно нет какой-либо изюминки.

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

          1. ДИ, именно!
            «них не думай, жми на кнопки!» — лозунг быстрорастворяющего мозг говна.
            думать — окночательно разучились.
            пиндосы — х. с ними.
            НО , блять, эта дрянь прёт по всей планете.
            тошнит.

            Открыть AVRStudio и накалякать двадцать строк кода — велика ли тонкость ?

            ДИ, не в смысле наезда, а .. высказался :)

            1. Что поделать, мировой тренд да. Но! можно сидеть и жаловаться, а можно попытаться на этом нагреться :) Я предпочитаю второй путь :)

    2. А меня ардуино очень порадовал.

      Лет 5 назад програмил avr’ки, писал по большей части на ассемблере. Сейчас увидел ардуино, решил купить посмотреть что из себя представляет. Купил. Изюминка есть на 100%. И очень простая. Это простейшая железка, на которой для написания простых действий надо максимум два десятка строк и час-два времени для создания простых устройств с нуля.

      Простейший пример: никогда не программил знакосинтезирующие LCD. Купил такой, взял ардуино, подключил их друг к другу за 5 минут на макетной плате с такими пружинными дырочками (не знаю как называется, провода вставляешь и все). И еще через 3 минуты на экране LCD был текст. И это — вообще не читая мануал к LCD.
      Ладно, думаю, надо сделать термометр. Взял ds18b20 три штуки (с ними тоже не работал). Согласно схеме подключил их параллельно, резистор 4.7к на Vcc. Взял библиотеку 1-wire, идущую в комплекте с ардуино. И на LCD экране еще через 10 минут температуры датчиков.
      Подключение сервы прошло еще быстрее, как и обмен с компом, работа с eeprom.

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

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

      Я не говорю, что ардуино — нечто выдающееся, поскольку не знаю альтернатив. Может они и есть. Но решение с точки зрения маркетинга — супер. Это такая плата для полных чайников, либо для тех, у кого нет сил/времени на глубокое вникание в тему. А как практика показывает, для большинства простых задач ардуины хватает.

      Сейчас вот думаю климат-контроль в машину сваять на ардуине. И если сил хватит, будет нормальный, полноценный климат, c LCD экраном, кучей температурных датчиков, сервами и прочим. А зачем для этого что-то большее, чем ардуино?

      1. Про Ардуино сейчас будет срач сродни C vs Asm для микроконтроллеров :-D

        Да, это по сути макетка, каких много, но чуваки подумали, и сделали все логично: не только аппаратную часть, но и программную, причем сделали без заточки на какую-то Ось, т.е. по сути Ардуино — программно-аппаратная платформа: железка + среда разработки + компилятор C++ (виринг это блеф, их предварительный обработчик делается тремя командами cat в терминале) + стандартная библиотека (исходники в комплекте, там тривиально все) + некоторое количетсво дополнительных библиотек и примеров + прошивальщик avrdude.

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

        Ну и полноразмерные (не Nano или RoboNano, как тут), можно легким движением превратить в программатор для других контроллеров атмега.

        Подытоживая: поиграться, сделать прототип по быстрому, раскурить новый девайс — ардуинка удобна (даже если платку самим собрать — в нете есть готовые pcb для одностороннего монтажа); сделать конечное устройство — уже отдельно на котролере.

        ЗЫ кстати рекламы Arduino что-то не видел :-D
        ЗЗЫ все ещё блюёте? :)

        1. Прикол дурика в том, что его купил-включил-работает.

          Они взяли и выбросили из микроконтроллерной среды такой прикол как программатор и правильное подключение МК — а именно с этим у новичков вечные косяки. Даже на моем сайте две самые жирные на комменты темы это «Авр шаг первый — программатор» и «Программатор усбасп».

          Ну и саму железку сделали дуракоустойчивой. Спалить ее сложно, но для этого надо сильно что то сделать не так.

          1. Да и это тоже, юзают бутлоадер, хотя можно и так: http://freeduino.ru/arduino/isp.html ;-) дурик (класс обозвал :-D) сам как программатор использоваться может, что есть несколько удобно — купил, поигрался, понравилось — вот чуть допили и готовый программатор ;-)

              1. Неа, там проще все, ты видать только начало глянул, там два варианта программатора, один собственно использует модуль,Mega-ISP, а второй — Bit-Bang, в нем единственно — на «фирмовой» платке нужно штекер PLS-4 впаять ну и для контроллеров плату-переходник собрать, хотя можно и соплями обойтись :)

                  1. Я если честно пока не юзал. Как более опытному товарищу — верю на слово :) В любом случае — наигравшись, есть куда дальше топать с подручными средствами. Хотя у меня когда руки до программатора дойдут, один фиг буду делать USB — COM и LPT портов под руками нету.

          2. Не совсем так. Программатором можно не пользоваться. И, соответственно, он есть не на всех ардуино. Но те, на которых он есть (там стоит микруха FT232RL, она имеет возможность прямого управления выводами, при помощи этого и шьется, см. тут http://www.freeduino.ru/arduino/isp.html) — можно нормально шить прошивки при помощи avrdude.

          3. DI HALT, ты прав. Но у людей по-разному мозги устроены. Многим надо, чтобы сначала заработало, а потом — уже разобраться как и почему. Некоторым — разобраться только когда возможностей железки перестанет хватать. Так что тех, кому захочется разобраться ты не потеряешь, будут очень благодарными читателями.

            Разбираться же с самого начала в мелочах многим очень сложно. Ну представь, пришел первокласник в школу, а мы ему теорию чисел. И вводим операцию сложения. Так ведь не делают, сначала учат сложению, а потом в институте — говорят: «А теперь мы вам расскажем что же такое числа и что такое сложение». Надо отдать тебе должное, что ты умеешь так объяснить, чтобы одновременно и интересно было и информативно. Но при этом, я тебя уверяю, найдется куча народу которые будут использовать твою плату примерно как ардуино. Не разбираясь в том, как и почему питается МК на твоей плате. Большой плюс твоей платы будет в том, что у тебя будет написано почему такое питание. И поэтому когда человек дорастет до того, чтобы в этом разобраться, он у тебя же на сайте это все прочтет в очень доступной и при этом точной форме. Но по моему мнению, сначала большинство получит hello world.

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

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

        1. У них нет своего языка (или ты путаешь функции библиотеки типа digitalWrite() & etc я зыком?) :) это простой C++, и компилируется gcc-avr. Так, что тут быдлокодерами можно назвать любого Си программиста, а я тогда обижусь. Просто если любознательность не ограничивается втыканием в предложенную среду разработки (я вот готовлю статью: Программируем Arduino без Arduino), то тогда все ясно и просто становится, и не нужно каких-то сторонних либ (работу с LCD я сделал только по даташиту, после модернизировал до работы через сдвиговый регистр — лапки поэкономить, чтение ps/2 клавиатуры тоже и по мелочи всякое, интерес такой — понять как работет, даташит на контроллер тоже помогает — никто не запрещал его).

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

      3. «Итог: я реально прусь от этой ардуины. Она позволяет реально абстрагироваться от железки и не вдаваться в мелочи, в которые вдаваться не хочешь.»
        Ну и чему ты так научишься? Сдохнет Ардуинина, другую достать не сможешь, и что будешь делать? Начинать все учить с нуля? А время упущено, другие давно ушли вперед, и после того, как все было просто, разбираться во всем ох как не хочется…
        «Это такая плата для полных чайников,»
        — Которые как были чайниками, так чайниками и останутся, хоть и что-то вроде бы собирали, и даже оно у них работало…
        «А как практика показывает, для большинства простых задач ардуины хватает.»
        А не хватит — что будешь делать? Искать ARDUINO-2? А если не найдешь? (см.пункт 1).

        1. Так ли уж проблема разобраться потом в том, что ардуина скрывала? Зато можно сконцентрироваться на решении задачи, а не копании мануалов на тему «как выставить на ножке лог.1». На мой взгляд, низкоуровневые детали, лежащие в основе, проще понимать уже зная уровень над ними.
          А то ведь есть похожее в геймдеве — все кричат, что ваять игру на готовом движке не труЪ и надо писать свой движок. А потом оказывается, что на движке все и кончилось.

        2. Вы, видимо, не прочитали мой первый пост. Я програмил на асме AVR’ки и понимаю что и к чему в AVR в достаточной степени. Но деньги я на этом не зарабатываю. Это хобби. И тратить неделю на то, что можно сделать за 2 часа я не могу позволить. Ибо свободного времени у меня очень мало.

          Вы исходите из того, что нужно во всем разобраться. Это не так. Есть куча людей, запускающих авиамодели и не разбирающихся в их устройстве. Есть механики, которые им за деньги чинят модели. Я не считаю, что это плохо. Не всем, кому нравится ваять простенькие устройства, хочется досконально разобраться во всем. Лет 5-10 назад мне хотелось во всем разобраться, а сейчас — хочется придти к цели. И я точно знаю, что если пойду изучать все тонкости, то просто не дойду.

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

        3. Это все равно, что сказать «дельфи — язык для чайников, которые как были чайниками, так и останутся, а изучать программирование надо исключительно на ассемблере». А на самом деле, это не вина языка — просто те чайники — они и не хотят учиться. Кто хочет — замечательно изучит на дельфи и потом при надобности сам копнет в сторону асма (впрочем, оно нужно в основном для того, чтобы отговорить COM Port Toolkit просить деньги).

        4. Чтобы было понятно, я профессионально занимаюсь в том числе и тем, что пишу программы для Windows платформы. И несмотря на то, что уже лет 15 не писал на ассемблере под x86, мне знание ассемблера до сих пор иногда пригождается. Так что я понимаю, что значит разбираться в работе компилятора, библиотек. Но при этом я еще понимаю сколько нужно на это потратить времени. И совершенно осознанно не хочу тратить свое время на доскональное разбирательство в данном случае.

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

  7. А металлические угольники, на которых дальномер стоит, откуда стырили? Вроде в этих наборах только пластмассовые раньше были. Хотя мне металл больше нравится. И надежнее, и аккуратнее. Давно собирался спросить, но ждал, может, кто еще заметит…

  8. Классная штуковина))))…хочется такую же собрать вот правда я в радиоелектронике пока что нуб=(((
    з.ы.
    Интересно сколько такой девайс в Украине стоить будет?..

    1. Изначально он не умеет даже этого. Болванка на колесиках. Что напрограммируешь то и будет делать.

      1. Ну даа… Разве что невыполнимы действия, ограниченные самой «начинкой» =)…
        …Я вот подумал подумал и поставил цель…зачудить подобную штуковину самому..много материала прочитал но…нигде не дан список самих запчастей(транзисторов конденсаторов и т.п.)а мне как то не очень хочется покупать готовые платы и т.п. за 100$ ну или около этого(думаю что делая с ноля это обойдется дешевле и интереснее).Если Вы ув.DI HALT или ктото другой сможете помоч в этом (написать этот список либо дать ссылку на ресурс где это все есть)..По гроб жизни буду благодарен!:)
        з.ы.
        Если че то сорри за какую либо наглость или оффтоп с моей стороны =)

        1. Ну на данном этапе тебе это ничего не даст. Хочешь схемы и запчасти? Качай инструкцию к MicroCamp или тому же POPBOT там все запчасти написаны на схемах :)

Добавить комментарий

Ваш e-mail не будет опубликован.

Перед отправкой формы:
Human test by Not Captcha