Рубрика «PWM»

Устройство «музыкалки» AY-3-8910 и эмулятор на Arduino - 1


Астрологи объявили месяц статей про ZX Spectrum, звук и Arduino. Количество публикаций увеличилось вдвое!

В прошлый раз я показывал, как можно перенести однобитные, они же «биперные», музыкальные «движки» с ZX Spectrum на Arduino. Но всё-таки это была максимально нишевая тема внутри нишевой темы, весьма узкоспециализированный проект.

Сегодня сделаю шаг ближе к народу. Расскажу, как работает легендарный звуковой чип AY-3-8910, как написать его простой эмулятор полностью с нуля, и как проиграть им музыкальный файл формата PT3 на обычной Arduino Nano.Читать полностью »

Биперная музыка на Arduino - 1


Любимый отечественными энтузиастами компьютерной ретро-техники компьютер «Синклер» ZX Spectrum родом из начала 1980-х годов — восьмибитный. Любимый самодельщиками нынешнего тысячелетия Arduino родом из середины 2000-х годов — тоже восьмибитный. Они похожи, но такие разные. Сегодня попробуем навести мостик между этими мирами, преодолеть пропасть в два десятка лет, и заставить два разных устройства проиграть одни и те же мелодии.

В этой статье сплетаются сразу три темы: как устроены некоторые музыкальные полифонические процедуры на ZX Spectrum, как воспроизвести результат их работы в совершенно иной реализации на Arduino, а заодно немного электроники для начинающих — рассуждения на тему, как можно правильно или неправильно подключить динамик для вывода звука к этой самой Ардуине.Читать полностью »

Когда-то давно в детстве, когда я ещё только начинал заниматься электроникой, у меня была мечта изготовить огромные часы на семисегментных индикаторах. Точнее, изготовить большой индикатор и подключить его к электронной плате уже имеющихся маленьких электронных часов. Для изготовления самих семисегментных индикаторов в качестве сегментов я рассматривал люминесцентные лампы дневного света. Других идей на тот момент мне не приходило. А на таких лампах делать часы – не очень хорошая задумка.

Читать полностью »

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

Дозиметр для Серёжи. Часть II. «столетние трубки» vs мирный атом - 1

Читать полностью »

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

Регулятор оборотов минидрели - 1
Читать полностью »

Привет! Это устройство применимо не только в компьютерном БП, но мы будем про компьютерный, как насущный :)

Полупассивное охлаждение компьютерного БП - 1

Читать полностью »

Если кто-нибудь использовал linux-драйвер шины 1-Wire на основе GPIO, то наверняка замечал, что в момент выполнения обмена данными загрузка SY% подскакивает чуть ли не до ста 100% (что вполне логично для bitbang-реализации). Конечно, можно поставить специализированный контроллер шины 1-Wire с подключением через I2C DS28E17 или использовать UART, но… Все-таки использовать linux для приложений реального времени не лучшая идея. Пусть контроллер на нем занимается высокоуровневой логикой, а весь реалтайм можно вынести на отдельный процессор. Тем более, что задач для этого отдельного процессора в моем проекте более чем достаточно.
Читать полностью »

Эта статья описывает библиотеку MRAA, которая может существенно упростить работу с различными типами устройств, использующими:

  • аналоговый ввод;
  • цифровой ввод и вывод;
  • широтно-импульсную модуляцию (ШИМ);
  • двухпроводную шину I2C;
  • Universal Asynchronous Receiver-Transmitter (UART);
  • прерывания при изменении уровня входного сигнала.

Библиотека MRAA для работы с платами Intel Edison и Intel Galileo - 1
Читать полностью »

Краткий пост о том как можно избежать лишних элементов в системе с сервоприводами и использовать железо по максимуму

Предыстория

Я весьма давно и плотно болен Linux, OpenWRT, сетевыми и беспроводными технологиями, безопасностью, а теперь еще и стал потихоньку заражаться роботостроением и умными домами. Все это очень круто, особенно когда есть столько готовых шаблонов, свободного и открытого исходного кода, а временами можно совсем перейти на сторону зла и быстренько накидать логику в Scratch.
Но потом просыпается интерес уже не просто поморгать светодиодами, вау-эффект проходит и необходимо решать прикладные задачи. Вроде и тут следовало бы восхититься обилием готового, но дьявол как всегда в деталях. Одно дело — управлять логикой ЕСТЬ/НЕТ, это позволяет легко включать или отключать свет, можно даже датчик качества воздуха (MQ-135) подцепить и включать вытяжку при необходимости. Все это круто, но на дворе 21 век, космические корабли бороздят большой театр и душа просит чего-то по-круче. Взор мой пал на управление сервоприводами. Почему бы и нет? Тема весьма широкая, ведь они присутствуют во многих механизмах, от роботов до простых открывалок-закрывалок. Плюсом так же является и то что в летательных аппаратах двигатели управляются аналогично и это расширяет диапазон использования просто в разы.

Заинтересовавшихся приглашаю под кат

Те кто уже давно знаком с темой и хочет перейти сразу к сути — смело проматывайте до раздела "Пошаговая инструкция".
Читать полностью »

Введение

В настоящее время я занимаюсь проектом на Arduino с использованием TFT дисплея. Недавно мне захотелось добавить в него, казалось бы, простую функцию — функцию регулировки яркости. Нашёл в документации к библиотеке для работы с TFT дисплеем (UTFT Library) нужный метод: setBrightness(br);

Написал весь код, сделал все, как надо. Решил проверить, но, к моему удивлению, ничего не происходило. Начал разбираться. Спустя два дня, заметил небольшое примечание к методу: "This function is currently only supported on CPLD-based displays." То есть, данная библиотека, не поддерживает мой дисплей. Но я узнал, что сам дисплей регулировку яркости поддерживает. Очень долго искал в интернете способы настройки, но так и не нашёл, поэтому решил добиться своей цели сам, несмотря ни на что, и у меня это получилось. И вот решил поделиться с теми, кому это может пригодиться.

Управление яркостью подсветки 7 ми дюймового TFT LCD

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js