Марк из element14 Presents создал небольшое устройство, которое показывает текущий уровень стресса с помощью нескольких светодиодов и забавного корпуса.
Настроение значит все
Любое наше межличностное общение с другими людьми в значительной степени зависит от того, в каком настроении мы находимся в данный момент. Как объясняет Марк из element14 Presents, просьба начальника о повышении зарплаты или простой разговор с коллегами может закончиться плачевно, если у них плохое настроение, поэтому важно знать об этом заранее. Его идея заключалась в создании простого дисплея, который мог бы показать уровень стресса пользователя до того, как ему придется что-то сказать, тем самым давая возможность собеседнику заранее узнать о его настроении.
Проектирование корпуса
Весь проект был разработан таким образом, чтобы поместиться внутри небольшой коробки, которую Марк изготовил, предварительно вырезав каждую панель лазером из акрилового листа. Эти детали включали в себя основание, четыре стенки и верхнюю часть с большим вырезом в виде циферблата для ламп настроения, отверстиями для динамиков под ним и местом для установки кнопки выбора. Помимо корпуса, Марк также приклеил четыре панели-отсека под вырезом циферблата, чтобы разделить светодиоды каждого настроения.
Компоненты
Управляет всем процессом плата разработки Arduino Nano R3. Она отвечает за получение входных данных от пользователя, изменение того, какой светодиод настроения в данный момент активен, и воспроизведение соответствующего звука изменения уровня стресса, уникального для каждого уровня, с подключенной SD-карты. Поскольку Марк хотел питать все от батареи, он также включил эффективный блок питания, который отключает питание регулятора, когда система не используется.
Сборка и программирование
Получив изготовленную на заказ печатную плату и компоненты, Марк приступил к работе, сначала припаяв Arduino Nano к двойным контактным разъемам платы. Затем он подключил переключатель, небольшой динамик и пять отдельных светодиодов WS2812B, которые были вырезаны из большой ленты. Код начинается с инициализации шины SPI Nano для SD-карты и воспроизведения короткого звука "готов", а также настройки кнопки выбора уровня напряжения и пяти светодиодов с помощью библиотеки Adafruit NeoPixel. При нажатии на кнопку текущий уровень увеличивается, воспроизводится уникальный звук с SD-карты, и загорается светодиод соответствующего отсека для индикации выбора. По истечении трех минут уровень стресса автоматически снижается, пока не достигнет минимального значения.
Индикация стресса
После того как звуки были скопированы на SD-карту, а схема была добавлена в корпус, Марк продемонстрировал свой проект индикации стресса в действии, многократно нажимая на кнопку для переключения уровней. Для получения дополнительной информации об этом проекте вы можете посмотреть видео Марка здесь на YouTube или посетить его страницу на сайте element14.
Смотрите, как винтажный SWTPC превращается в синтезатор
Сэм Бэттл с YouTube-канала Look Mum No Computer превратил винтажный SWTPC в синтезатор.
Даже если вы не являетесь музыкантом или поклонником электронной музыки, история синтезаторов довольно интересна, если вы увлекаетесь ретрокомпьютингом. Самые ранние синтезаторы использовали специальное оборудование для генерации волн различной частоты. Но в конце 70-х - начале 80-х годов начали появляться персональные компьютеры, на которых можно было запускать программное обеспечение синтезатора для генерации этих частот с помощью специально разработанных микросхем. Одним из первых популярных примеров был Yamaha CX5M, который включал в себя чип синтезатора с частотной модуляцией SFG-01. Но винтажный SWTPC Сэма Бэттла не имел такой микросхемы, поэтому ему пришлось проявить изобретательность, чтобы наделить этот компьютер возможностью синтеза.
В отличие от современных компьютеров, у старинных компьютеров было мало уровней абстракции между пользовательским интерфейсом и "голым металлом". Это означало, что пользователи могли делать такие вещи, как "тыкать" значение в определенный адрес памяти. Это была фундаментальная техника в компьютерном программировании до появления более абстрактных языков, которые могли сами управлять памятью без прямых инструкций. Старинные компьютеры также имели доступные шины для периферийных устройств. Выталкивая значения, пользователь мог обмениваться данными через шину с этим периферийным устройством. Именно так Бэттл смог заставить свой SWTPC работать в качестве синтезатора, хотя он не был оснащен никаким собственным аппаратным обеспечением.
Компьютеры работают исключительно с цифровыми сигналами (единицы и нули). Это означает, что лучшее, что они могут сделать, это выдать квадратную волну - переключение вперед-назад между включением и выключением с определенной частотой. Но ЦАП (цифро-аналоговый преобразователь) может принять цифровой сигнал и выдать соответствующий аналоговый сигнал, в результате чего получается гораздо более плавная и естественная волна. Целью данного проекта было подключение современного ЦАП к винтажному SWTPC.
Battle добился этого, используя вышеупомянутую технику "протыкания" шины. ЦАП подключается к шине SWTPC, которая обычно используется для памяти. Когда пользователь вводит значение в адрес "памяти", оно попадает на ЦАП. Заданное значение устанавливает аналоговый выход ЦАП, который имеет четыре собственных канала, выбираемых через шину.
Что касается программного обеспечения, Battle использовал SWTPCSequencer Роберта Паффорда. Это должно показаться знакомым музыкантам, хотя оно довольно рудиментарно, чтобы работать со скромной вычислительной мощностью. Программа секвенсора выполняет всю сложную работу по подаче различных значений на шину, так что пользователю остается только беспокоиться о композиции.