BIG TRAK / bigtrak — электронная игрушка, программируемая машина, разработанная и выпущенная компанией Milton Bradley в 1979 году. Рекомендуемая цена на момент выхода составляла 43 доллара США. Было выпущено более миллиона экземпляров игрушки.
Игрушка представляла собой шестиколёсный танк с плёночной клавиатурой на верхней части корпуса. Игрушка могла запоминать последовательность длиной до 16 команд и выполнять её. Пример последовательности: «двигаться вперёд на пять единиц», «пауза», «повернуться на 30 градусов вправо», «сделать выстрел» и т. д. Также присутствовала команда повтора предыдущей команды, что позволяло организовывать простые циклы, однако язык программирования игрушки не являлся тьюринг-полным, так как не имел условных команд. Игрушка также не имела каких-либо датчиков, кроме датчиков вращения колёс (датчик пройденного пути).
По принципу управления игрушка была аналогична черепашьей графике.
Версии игрушки для США и Англии и Европы имели заметные внешние различия. Версия для США была сделана из серого пластика и имела надписи «BIG TRAK» на корпусе. Версия для Англии и Европы была сделана из белого пластика, имела надписи «bigtrak» и другое оформление клавиатуры.
Игрушка также имела опциональный аксессуар — прицеп, который мог сбрасывать свой груз по специальной команде.
В настоящее время существует небольшое интернет-сообщество, посвящённое игрушке. Его силами был выполнен реверс-инжиниринг устройства игрушки и используемого в ней микроконтроллера TMS1000.
Основой игрушки является 4-разрядный микроконтроллер Texas Instruments TMS1000. В его памяти находится специальная программа, которая выполняет опрос клавиатуры, запоминание вводимых команд и их последующее исполнение.
Игрушка приводится в движение двумя электромоторами, соединёнными через редукторы с двумя средними колёсами. Повороты осуществляются раздельным изменением направления вращения моторов. Пройденное расстояние определяется с помощью инфракрасной оптопары, располагающейся по сторонам шестерёнки редуктора, имеющей отверстия. При вращении шестерёнка перекрывает оптопару, генерируя импульсы.
Вся электроника игрушки располагается на одной печатной плате. Помимо микросхемы микроконтроллера используется ещё одна микросхема — SN75495, предназначенная для управления цифровым светодиодным индикатором. В игрушке она управляет лампой «лазера», светодиодом оптопары, динамиком (воспроизводящим звуковые эффекты) и генерирует сигналы для токовых ключей, управляющих двигателями. Также на плате располагаются токовые ключи на четырёх транзисторах (по два на двигатель) и несколько пассивных компонентов.
Игрушка питается от четырёх батарей типа D (аналог отечественного элемента 373) по 1,5 вольта и одной 9-вольтовой батареи типа PP3 («Крона»). В инструкции к игрушке рекомендовалось применять только щёлочные батареи. При отсутствии ввода команд в режиме ожидания примерно раз в полминуты воспроизводился звуковой сигнал, напоминающий о включённом питании игрушки.
В СССР был выпущен клон игрушки под названием «Электроника ИМ-11». С 1983 года производились на зеленоградском предприятии «Ангстрем» (отличаются логотипом на фирменной наклейке), затем производство было передано на Солнечногорский электромеханический завод (СЭМЗ). Как указано в инструкции[1], игрушка предназначалась для «развития у детей 6—12 лет интереса к техническому творчеству, навыков программирования, расширения их кругозора».
Было выпущено три модели. Ранняя модель, «Луноход», является почти полным клоном оригинальной европейской версии, но возможность подключения прицепа отсутствует, как и кнопка OUT. У части экземпляров надписи на клавиатуре переведены на русский язык, у другой части — нет. Вместо оптопары в качестве датчика пройденного расстояния использован геркон. Добавлен пластмассовый бампер с датчиком нажатия, выключающий игрушку с полным стиранием программы при столкновении с препятствием. В 1988 году журнал «Наука и жизнь» опубликовал статью с описанием возможностей и устройства игрушки.[2]
Более поздняя модель, «Планетоход», имела несколько более заметных отличий: выстреливаемый по команде пропеллер (вместо управления так и не добавленным прицепом, а кнопка OUT возвращена на клавиатуру с соответствующей пиктограммой), фары и задние габаритные огни (красные светодиоды). Выключатель питания перенесён с верхней панели в заднюю часть игрушки, а цвет фона клавиатуры изменён с серого (как в оригинале) на ярко-жёлтый.
В следующий вариант (вероятно последний) внесены изменения в окраску и цвета декоративных элементов изменены на бело-синие. Прицеп по-прежнему не добавлен, и оставлен пропеллер, как во втором варианте.
Как и в оригинальной игрушке, вся электроника размещается на одной плате и состоит из двух микросхем и дополнительных элементов. Все компоненты отечественные. Микросхемы и токовые ключи расположены на плате аналогичным оригиналу образом. Микросхема микроконтроллера выполнена в другом корпусе, имеет нестандартное обозначение УУ-1 и логотип завода СЭМЗ. В инструкции говорилось, что микропроцессор игрушки содержит 10 тысяч транзисторов, что примерно на две тысячи больше, чем в оригинальном микроконтроллере TMS1000. Вторая микросхема, КМ1010КТ1, является отечественным аналогом используемой в оригинальной игрушке SN75495.
Программирование игрушки выполнялось исключительно с помощью клавиатуры. Игрушка не имела дисплея либо другого способа отображения вводимой программы до начала её выполнения. Клавиатура имела цифровое поле для ввода параметров команд (1..99), клавиши команд и несколько сервисных клавиш.
Американская версия игрушки имеет клавишу IN. В инструкции говорится, что она будет использоваться с ещё не выпущенным дополнительным аксессуаром, а при его отсутствии эта и последующая команда будут пропущены. Дополнительный аксессуар никогда не был дополнительно анонсирован и не был выпущен, а в европейской версии игрушки клавиша была убрана с клавиатуры.
Проведённое энтузиастом расследование[3] показало, что начиная с ранних выпусков игрушки эта команда не могла быть использована. Сначала на плате устанавливались требуемые компоненты, но провод, соединяющий их с разъёмом расширения, отсутствовал. Впоследствии не устанавливались и сами компоненты. В более поздних выпусках также отсутствовало отверстие в изолирующем слое плёночной клавиатуры, что делало нажатие клавиши физически невозможным. Возможно, функция клавиши IN не была реализована по причине допущенной в программе ошибки, замеченной только после производства партии запрограммированных микроконтроллеров. Так как они программировались однократно при изготовлении, исправление ошибки привело бы к убыткам.