Оглавление:

8-битные Sprite Clock: 10 шагов
8-битные Sprite Clock: 10 шагов

Видео: 8-битные Sprite Clock: 10 шагов

Видео: 8-битные Sprite Clock: 10 шагов
Видео: Пишем ЧИПТЮН музыку на Game Boy трекере LSDJ - Ваш первый трек. (Шаг второй) 2024, Ноябрь
Anonim

Подписаться Еще от автора:

Несокрушимый детский диван!
Несокрушимый детский диван!
Несокрушимый детский диван!
Несокрушимый детский диван!
Быстрое и простое настенное крепление ПК
Быстрое и простое настенное крепление ПК
Быстрое и простое настенное крепление ПК
Быстрое и простое настенное крепление ПК
Экран цифрового камина
Экран цифрового камина
Экран цифрового камина
Экран цифрового камина

О себе: 3D-печать и проектирование проектов RaspberryPI уже несколько лет. Подробнее о хинде10 »

Игровая комната Nintendo Time с дружескими спрайтами, чтобы поприветствовать вас

Шаг 1. Прошивка жесткого диска RaspberriPi / установка необходимого программного обеспечения (с использованием Ubuntu Linux)

Создайте новый жесткий диск для DashboardPI

Вставьте microSD в свой компьютер через USB-адаптер и создайте образ диска с помощью команды dd

Найдите вставленную карту microSD с помощью команды df -h, отключите ее и создайте образ диска с помощью команды disk copy dd.

$ df -h / dev / sdb1 7,4 ГБ 32 КБ 7,4 ГБ 1% / media / XXX / 1234-5678

$ umount / dev / sdb1

Внимание: убедитесь, что команда абсолютно точна, вы можете повредить другие диски с помощью этой команды.

if = расположение файла изображения RASPBIAN JESSIE LITE = расположение вашей карты microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (примечание: в данном случае это / dev / sdb, / dev / sdb1 был существующим заводским разделом на microSD)

Настройка вашего RaspberriPi

Вставьте новую карту microSD в raspberrypi и включите его с помощью монитора, подключенного к порту HDMI.

Авторизоваться

пользователь: pi pass: raspberry

Измените пароль своей учетной записи в целях безопасности

sudo passwd pi

Включить дополнительные параметры RaspberriPi

sudo raspi-config

Выберите: 1 Развернуть файловую систему

9 Дополнительные параметры

Имя хоста A2 измените его на "SpriteClock"

A4 SSH Включить SSH-сервер

A7 I2C Включить интерфейс i2c

Включить английскую / американскую клавиатуру

Судо нано / и т. д. / по умолчанию / клавиатура

Измените следующую строку: XKBLAYOUT = "us"

Перезагрузите PI, чтобы изменения раскладки клавиатуры / изменение размера файловой системы вступили в силу

$ sudo shutdown -r сейчас

Автоматическое подключение к вашему Wi-Fi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Добавьте следующие строки, чтобы ваш raspberrypi автоматически подключался к домашнему Wi-Fi (если ваша беспроводная сеть называется «linksys», например, в следующем примере)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Перезагрузите PI, чтобы подключиться к сети Wi-Fi.

$ sudo shutdown -r сейчас

Теперь, когда ваш PI наконец находится в локальной сети, вы можете удаленно войти в него через SSH. Но сначала вам нужно получить текущий IP-адрес.

$ ifconfig Найдите "inet addr: 192.168. XXX. XXX" в выводе следующей команды для IP-адреса вашего PI

Перейдите на другую машину и войдите в свой raspberrypi через ssh

$ ssh [email protected]. XXX. XXX

Шаг 2. Начните установку необходимых пакетов

Начать установку необходимых пакетов

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip python-numpy

Обновить настройки местного часового пояса

$ sudo dpkg-reconfigure tzdata

выберите свой часовой пояс с помощью интерфейса

Установите команду simple directory l [необязательно]

vi ~ /.bashrc

добавьте следующую строку:

псевдоним l = 'ls -lh'

источник ~ /.bashrc

Исправить выделение синтаксиса по умолчанию VIM [необязательно]

Судо vi / и т. д. / vim / vimrc

раскомментируйте следующую строку:

синтаксис на

Установите драйверы Python для i2c Backpack

$ cd ~

$ git clone

$ cd Adafruit_Python_LED_Backpack /

$ sudo python setup.py установить

Установите драйверы i2c Python

Установите драйвер NeoPixel следующим образом

sudo apt-get install build-essential python-dev git scons swig

sudo pip3 install --upgrade setuptools

sudo pip3 установить rpi_ws281x

cd rpi_ws281x

бра

cd python

sudo python setup.py установить

CD примеры /

sudo python strandtest.py

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

cd ~

git clone

Шаг 3. Необходимые материалы

Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы

Pi Zero W / 1.3 / 1.2Wifi USB (если Pi Zero 1.3 / 1.2) Keyestudio I2C 8x8 LED Matrix HT16K33 (x7) 16x16 RGB LED Гибкая матрица WS2812B Матовая краска Рамка для рисунка 12x12 Режущий тонкий лист из оргстекла 12x12 "2-стороннее зеркало лист из плексигласа 12x12" тонированный лист оргстекла

Шаг 4: создание часов со спрайтами

Создание часов со спрайтами
Создание часов со спрайтами

Подготовьте матричные блоки HT16K33

Припаяйте контакты на задней панели, чтобы назначить каждому уникальный адрес i2c. Есть 3 перемычки для пайки или не пайки в 8 комбинациях. Я спаял все комбинации, чтобы назначить каждому устройству другой адрес, к которому будет обращаться код Python, чтобы показать время на часах.

Шаг 5. Распечатайте приложение к проекту

Распечатать приложение к проекту
Распечатать приложение к проекту

В папке 3D-печати найдите модель печати «defuser-grid-final.stl», которая является рабочим пиксельным дефузером, чтобы сфокусировать свет от каждого светодиода на квадратную форму, чтобы улучшить вывод спрайтов на часах.

Шаг 6: Приклейте распечатанный дефузор к светодиодной матрице, распылите матовую белую краску и вырежьте кусок тонкого оргстекла, чтобы затем приклеить его поверх дефузора

Приклейте распечатанный Pixel Defuser к светодиодной матрице, распылите матовую белую краску и отрежьте кусок тонкого оргстекла, чтобы затем приклеить его поверх Defuser
Приклейте распечатанный Pixel Defuser к светодиодной матрице, распылите матовую белую краску и отрежьте кусок тонкого оргстекла, чтобы затем приклеить его поверх Defuser
Приклейте распечатанный Pixel Defuser к светодиодной матрице, распылите матовую белую краску и вырежьте кусок тонкого оргстекла, чтобы затем приклеить его поверх Defuser
Приклейте распечатанный Pixel Defuser к светодиодной матрице, распылите матовую белую краску и вырежьте кусок тонкого оргстекла, чтобы затем приклеить его поверх Defuser

Это продолжит еще больше рассеивать свет, чтобы улучшить четкость спрайта.

Шаг 7: начните подключение устройств

Начните подключение устройств
Начните подключение устройств

Матричные блоки HT16K33

GND -> GND

ДАННЫЕ -> SDA

CLK -> SCL

VCC -> 5 В

Блок RGB 16x16

GND -> GND

ДАННЫЕ -> GPIO 18

VCC -> 5 В

Шаг 8: Окончательная сборка

Окончательная сборка
Окончательная сборка

Вместо обычного стекла для фоторамки замените его двусторонним зеркалом (лист 12x12 дюймов) и серым тонированным пластиковым стеклом (лист 12x12 дюймов)

Это скроет компоненты внутри кадра, так что вы сможете видеть только световой поток пикселей.

Склейте вместе блоки HT16K33 в сплошной ряд

Убедитесь, что каждый блок адресуется от / 0x70 до / 0x76 подряд, чтобы код работал (вы можете изменить код, если они выйдут из строя позже)

Установите компоненты на ровной стороне рамы с установленным зеркалом и тонированным стеклом

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

Шаг 9: Сценарии запуска

Установить crontab пользователя pi

Введите следующую строку для поминутного crontab

$ crontab -e

@reboot nohup python /home/pi/NESClock/MatrixClock.py> / dev / null 2> & 1

Установить crontab пользователя root (для библиотеки RGB Sprite Panel требуется root-доступ) Установите "при перезагрузке", чтобы запускать скрипт python свечи навсегда

$ sudo su

$ crontab -e

@reboot nohup python /home/pi/NESClock/SpritePanel.py> / dev / null 2> & 1

Рекомендуемые: