Найти в Дзене

Программируемый калькулятор Электроника МК-61s-Mini.

В этой статье я хочу рассказать о сборке одной современной версии известного в советское время программируемого калькулятора "Электроника МК-61". Впервые с этим калькулятором я познакомился в школе на уроках информатики еще до знакомства с компьютерами. Знакомство с программированием у меня также началось именно с этого калькулятора. Сейчас еще можно приобрести оригинальный калькулятор, причем за небольшие деньги, но у меня возникло желание именно собрать подобное устройство. Проект МК-61s-Mini - является аппаратным эмулятором калькулятора "Электроника МК-61", построенный на отладочной плате "BlackPill". В этом проекте достаточно точно реализованы все документированные функции, также воспроизведена не высокая точность оригинала. Как я понял, реализованы и не документированные особенности калькулятора. Физический дизайн МК‑61s‑Mini не копирует корпус оригинала. Ссылка на проект МК-61s-Mini. Для сборки калькулятора в продаже можно найти комплект из двух плат: основной платы для установк
Оглавление

В этой статье я хочу рассказать о сборке одной современной версии известного в советское время программируемого калькулятора "Электроника МК-61". Впервые с этим калькулятором я познакомился в школе на уроках информатики еще до знакомства с компьютерами. Знакомство с программированием у меня также началось именно с этого калькулятора. Сейчас еще можно приобрести оригинальный калькулятор, причем за небольшие деньги, но у меня возникло желание именно собрать подобное устройство.

Проект МК-61s-Mini - является аппаратным эмулятором калькулятора "Электроника МК-61", построенный на отладочной плате "BlackPill". В этом проекте достаточно точно реализованы все документированные функции, также воспроизведена не высокая точность оригинала. Как я понял, реализованы и не документированные особенности калькулятора. Физический дизайн МК‑61s‑Mini не копирует корпус оригинала. Ссылка на проект МК-61s-Mini.

Подготовка к сборке.

Для сборки калькулятора в продаже можно найти комплект из двух плат: основной платы для установки всех электронных компонентов и декоративной верхней панели (несколько фотографий с двух сторон):

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

Как всегда завел отдельную коробку для всех деталей этого калькулятора, некоторое время потребовалось для формирования полного комплекта (две фотографии):

Деталей в комплекте, если не считать кнопок, совсем не много. Сердцем является отладочная плата "STM32F411CEU6 Black Pill", экран я купил WINSTAR WH1602B. Также добавил в комплект Li Pol аккумулятор на 2000 мАч и модуль зарядки (впоследствии поменял на другой, т.к. этот маленький мне нужен для другого проекта):

Комплект деталей для сборки калькулятора МК-61s-Mini.
Комплект деталей для сборки калькулятора МК-61s-Mini.

Сборка.

По ссылке в начале статьи есть несколько файлов с инструкциями, среди них подробная инструкция по сборке, по которой я и собрал основную плату. Разъем для подключения питания устанавливать не стал, т.к. планирую использовать модуль зарядки аккумуляторов. Все остальные элементы установил:

Основная плата калькулятора МК-61s-Mini в сборе.
Основная плата калькулятора МК-61s-Mini в сборе.

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

Калькулятор я запитал от аккумулятора через модуль заряда. Модуль заряда аккумулятора на выходе выдает напряжение такое же, которое выдает сам аккумулятор, в нем нет DC-DC преобразователя в 5 вольт. В результате я получил на выходе с модуля заряда около 4-х вольт. Т.к. все основные элементы калькулятора питаются от 3.3 вольта, то 4-х вольт считаю вполне достаточным. Подсветка совсем немного тускнее и больше я не заметил никакой разницы. Подстроечным резистором нужно "проявить" изображение на экране (две фотографии):

Что касается времени автономной работы от аккумулятора, то пока только смог теоретически его рассчитать: калькулятор потребляет около 25-30 мА, емкость аккумулятора 2000 мАч, что, скорее всего, не правда и реальная емкость будет около 1000-1200 мАч, соответственно время непрерывной работы должно быть не менее 40 часов, а с учетом только периодического его включения, заряда может хватить на месяц и более.

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

Подключенный аккумулятор и модуль зарядки к калькулятору МК-61s-Mini.
Подключенный аккумулятор и модуль зарядки к калькулятору МК-61s-Mini.

Хорошо видно, что толщина калькулятора будет больше, чем вариант без аккумулятора, но "оно того стоит".

Калькулятор МК-61s-Mini, вид сбоку.
Калькулятор МК-61s-Mini, вид сбоку.

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

Детали корпуса калькулятора МК-61s-Mini.
Детали корпуса калькулятора МК-61s-Mini.

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

Калькулятор собран.

Калькулятор МК-61s-Mini.
Калькулятор МК-61s-Mini.

Краткий обзор.

Калькулятор МК-61s-Mini полностью функционально соответствует программируемому калькулятору "Электроника МК-61". Отличаются они только формой корпуса и расположением клавиш. Также в этот калькулятор добавлены дополнительные клавиши для его настройки, полное описание можно найти по ссылке в начале статьи.

Калькулятор "Электроника МК-61" и, соответственно, МК-61s-Mini отличается по способу выполнения вычислений от обычных калькуляторов. Обратите внимание, в этих калькуляторах нет клавиши "=", используется "обратная польская запись".

В калькуляторе имеется четыре регистра образующих стек, два из которых задействованы для вычислений. После ввода первого числа, необходимо нажать на клавишу "B", затем ввести второе число и уже потом нажать на соответствующее действие. Например, 2+3: нажимаем "2", затем "B", далее вводим "3" и нажимаем "+", на экране отобразиться результат "5". Очень подробно про это описано в документации к калькулятору, которую можно найти в интернете в отсканированном виде.

Еще один интересный пример: 2*(3+4). На калькуляторе вводи число "2", далее "B", вводим "3", опять нажимаем "B", вводим "4" и теперь нажимаем последовательно "+" и "*", на экране отобразиться результат "14". На мой взгляд очень удобно и быстро, но надо привыкать.

И последний пример: расчет длины окружности 2πR. Для этого вводим число, например, "10", нажимаем "B", далее водим "2", теперь сразу вводим "π" (предварительно надо нажать "F") и, затем, два раза "*". На экране получим длину окружности "62.831852".

Предлагаю написать маленькую программу для вычисления длины окружности. Для этого надо калькулятор перевести в режим программирования последовательным нажатием на "F" и "ПРГ". Теперь можно ввести программу. Вводим "B", "2", "F", "π", "*", "*", "С/П", "В/О". Каждое нажатие на клавишу добавило в программу одно действие. Сам процесс расчета уже был рассмотрен в последнем примере, а вот в программе добавлены дополнительные два действия: "С/П" - остановить выполнение программы, чтобы увидеть результат и "В/О" - вернуться на начало, если потребуется повторить расчет.

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

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

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