Переделка кассовых аппаратов. Часть 1

Всем добрый день. Несколько лет назад мне в руки случайно попал старый списанный кассовый аппарат. Назывался он "Элвес микро-Ф". Т.к. я увлекаюсь электроникой и программированием, в том числе и построением различных устройств на микроконтроллерах, аппарат решил исследовать. Разобрав его я увидел:

  • плату с электронной начинкой и микроконтроллером AT89С52 в панельке
  • дисплей
  • термопринтер
  • аккумулятор
  • пленочная клавиатура
  • два светодиода

Читать дальше →

Подключение периферийных модулей к MIPSfpga, на примере клавиатуры Pmod KYPD

Здравствуйте! Мы одни из победителей хакатона MIPfpga, в этой статье расскажем, как подключать модули в систему на кристалле на основе MIPSfpga на примере клавиатуры Pmod KYPD. Также ознакомим с написанием программы для управления подключенных модулей.

image

→ Описание клавиатуры найдете здесь

Pmod KYPD — 16-кнопочная клавиатура с цифрами в шестнадцатеричном формате (0-F). Опрос происходит способом поочередной подачи логического 0 на каждый столбец и считывания состояния строк. Если в момент опроса столбца одна из кнопок в нем нажата, соответствующая строка выдаст логическую 1.

Читать дальше →

Source: [Из песочницы] Подключение периферийных модулей к MIPSfpga, на примере клавиатуры Pmod KYPD

Замена delay() для неблокирующих задержек в Arduino IDE

Первое, с чем сталкивается осваивающий Arduino новичок, это неприятное свойство функции delay() — блокирование выполнения программы. Множество примеров в интернете используют эту функцию, но практическое применение как-то намекает, что лучше без неё обойтись.

Как и положено начинающему, я изобрёл велосипед сделал свою реализацию неблокирующей задержки. Задача стояла так:

  • Обеспечить псевдомногозадачность, чтобы разные события происходили в своё время, со своими интервалами и не блокировали друг-друга.
  • Было удобно этим пользоваться.
  • Можно было оформить как библиотеку и легко включать в другие проекты без копипастов.

Подсмотрев, что большинство ардуинских библиотек сделаны с применением ООП, я тоже решил не выделываться и написал класс SmartDelay, который можно получить с гитхаба как zip для добавления в Arduino IDE или сделать git clone в ~/Arduino/libraries/

В результате получилось вот такое.

Читать дальше →

Как проектируют ненастоящие программисты

Настоящие программисты — это облака, big data, high load… А у нас — практически DIY. 2 установки — уже тиражирование, 100 штук — производство… Но зато атомные ледоколы, маневровые локомотивы, трактора, шлюзы, мосты, опускающиеся вниз от лишнего асфальта, беспилотники размером в дом, 50 человек персонала на цех длиной больше двух километров… и надежность, надежность, надежность… И пяток гендиректоров в костюмах прямо на поле при демонстрации системы на тракторе…

image

Обычное окончание отладки — убираем антенны с путеправильной машины

Итак… пришла просьба от коллег — написать ТКП (технико-коммерческое предложение) на хитрый GPS-трекер. И комментарии, что большие и настоящие делать отказались.

Читать дальше →

Диапазон рабочих температур Raspberry Pi. Результаты тестов

Постановка задачи

Популярный одноплатный компьютер Raspberry Pi применяется в различных промышленных приложениях [3] и находит все новые применения. В сети довольно много информации по оценке и сравнению производительности систем [4], однако промышленные заказчики хотят знать диапазон рабочих температур. Производитель такой информации не предоставляет. Предпринятые энтузиастами испытания на воздействия внешних факторов [5, 6] решают несколько другие задачи.

Целью нашего исследования была оценка диапазона рабочих температур одноплатного компьютера Raspberry Pi. Испытаниям подвергнуты Raspberry Pi 3 Model B и Raspberry Pi 2 Model B. Во время подготовки статьи появилась новая версия Raspberry Pi 2 Model B V1.2 с процессором BCM2837, мы тестировали RPi 2 V1.1 с процессором BCM2836. Читать дальше →

Первые шаги с STM32 и компилятором mikroC для ARM архитектуры — Часть 2, начало…

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

В прошлой части я рассказывал как реализовать опрос состояния порта МК, например для опроса подключенной к ней кнопки. Вообще порт в STM32 МК устроен весьма сложно. Вот схема GPIO порта из мануала: image

Читать дальше →

Первые шаги с STM32 и компилятором mikroC для ARM архитектуры — Часть 1

Еще в студенческие годы мне пришлось весьма тесно обобщатся с микроконтроллерами, тогда это были 8-битные 8051 и AVR. Сейчас, захотев вернутся этому занятию, перевел свой взгляд на весьма широкое семейство контроллеров STM32. О них немало написано на просторах Сети, тем не менее я изъявил желание написать небольшой цикл статей о работе с STMками. Знакомство с ними я хотел бы начать, как говорят, с полного 0. Для экспериментов мною была приобретена простая и дешевая (3$) отладочная плата Maple Mini. Используемый в ней контроллер STM32F103CB обладает весьма внушительным букетом возможностей. (особенно в сравнении с решениями в своей ценовой категории). Подробно можно почитать в сети, и конечно же, в даташите.. Родная Ардуиноподобная среда разработки мне сразу не пришлаcь по вкусу (на вкус и цвет, как говорят...). Из всего изобилия разнообразных сред разработки я остановил свой взгляд на mikroC for ARM компании mikroelektronika. Когда-то я сталкивался с их компиляторами(для 8081), мне весьма понравилось. Хоть и не без косяков, но решил попробовать.

Читать дальше →