Inhoudsopgave:

8-bits sprite-klok - Ajarnpa
8-bits sprite-klok - Ajarnpa

Video: 8-bits sprite-klok - Ajarnpa

Video: 8-bits sprite-klok - Ajarnpa
Video: "Ugh" - Friday Night Funkin (Retro Super Nintendo SNES 16-Bit Remix) | 8bitsolo Chiptune Cover 2024, November
Anonim

Door khinds10www.kevinhinds.comVolg meer van de auteur:

Onverwoestbare kinderbank!
Onverwoestbare kinderbank!
Onverwoestbare kinderbank!
Onverwoestbare kinderbank!
Snelle en eenvoudige pc's voor wandmontage
Snelle en eenvoudige pc's voor wandmontage
Snelle en eenvoudige pc's voor wandmontage
Snelle en eenvoudige pc's voor wandmontage
Digitaal haardscherm
Digitaal haardscherm
Digitaal haardscherm
Digitaal haardscherm

Over: 3D printen en ontwerpen van RaspberryPI projecten al een paar jaar Meer over khinds10 »

Game Room Nintendo Time met vriendelijke sprites om je te begroeten

Stap 1: RaspberriPi-harde schijf flashen / vereiste software installeren (met Ubuntu Linux)

Maak uw nieuwe harde schijf voor DashboardPI

Plaats de microSD in uw computer via een USB-adapter en maak de schijfkopie met de opdracht dd

Lokaliseer uw geplaatste microSD-kaart via de opdracht df -h, ontkoppel deze en maak de schijfkopie met de opdracht disk copy dd

$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /media/XXX/1234-5678

$ umount /dev/sdb1

Let op: zorg ervoor dat het commando volledig nauwkeurig is, je kunt andere schijven beschadigen met dit commando

if=locatie van RASPBIAN JESSIE LITE afbeeldingsbestand van=locatie van uw microSD-kaart

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (let op: in dit geval is het /dev/sdb, /dev/sdb1 was een bestaande fabriekspartitie op de microSD)

Je RaspberriPi. instellen

Plaats uw nieuwe microSD-kaart in de raspberrypi en zet hem aan met een monitor aangesloten op de HDMI-poort

Log in

gebruiker: pi pass: framboos

Wijzig uw accountwachtwoord voor veiligheid

sudo passwd pi

Geavanceerde opties voor RaspberriPi inschakelen

sudo raspi-config

Kies: 1 Bestandssysteem uitvouwen

9 geavanceerde opties

A2 Hostnaam verander het in "SpriteClock"

A4 SSH SSH-server inschakelen

A7 I2C i2c-interface inschakelen

Schakel het Engelse/Amerikaanse toetsenbord in

sudo nano /etc/default/keyboard

Wijzig de volgende regel: XKBLAYOUT="us"

Start PI opnieuw op voor wijzigingen in toetsenbordindeling / formaat van bestandssysteem om van kracht te worden

$ sudo shutdown -r nu

Automatisch verbinden met je wifi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Voeg de volgende regels toe om uw raspberrypi automatisch verbinding te laten maken met uw wifi-thuisnetwerk (als uw draadloze netwerk bijvoorbeeld "linksys" heet, in het volgende voorbeeld)

network={ ssid="linksys" psk="DRAADLOOS WACHTWOORD HIER" } Start de PI opnieuw op om verbinding te maken met het wifi-netwerk

$ sudo shutdown -r nu

Nu uw PI eindelijk op het lokale netwerk staat, kunt u er via SSH op afstand op inloggen. Maar eerst moet u het IP-adres krijgen dat het momenteel heeft.

$ ifconfig Zoek naar "inet addr: 192.168. XXX. XXX" in de uitvoer van de volgende opdracht voor het IP-adres van uw PI

Ga naar een andere machine en log in op je raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Stap 2: Begin met het installeren van de vereiste pakketten

Begin met het installeren van vereiste pakketten

$ sudo apt-get update

$ sudo apt-get upgrade

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

Lokale tijdzone-instellingen bijwerken

$ sudo dpkg-reconfigure tzdata

selecteer uw tijdzone met behulp van de interface

Stel de eenvoudige directory l-opdracht in [optioneel]

vi ~/.bashrc

voeg de volgende regel toe:

alias l='ls -lh'

bron ~/.bashrc

Fix VIM standaard syntax highlighting [optioneel]

sudo vi /etc/vim/vimrc

verwijder het commentaar van de volgende regel:

syntaxis aan

Installeer i2c Backpack Python-stuurprogramma's

$ cd ~

$ git-kloon

$ cd Adafruit_Python_LED_Backpack/

$ sudo python setup.py install

Installeer i2c Python-stuurprogramma's

Installeer het NeoPixel-stuurprogramma als volgt:

sudo apt-get install build-essentiële python-dev git scons swig

sudo pip3 install --upgrade setuptools

sudo pip3 installeer rpi_ws281x

cd rpi_ws281x

scons

cd python

sudo python setup.py installeren

cd voorbeelden/

sudo python strandtest.py

Kloon de repository in je thuismap om de klok te laten werken

cd ~

git kloon

Stap 3: Benodigde benodigdheden

Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden

Pi Zero W/1.3/1.2Wifi USB (indien Pi Zero 1.3/1.2)Keyestudio I2C 8x8 LED Matrix HT16K33 (x7)16x16 RGB LED Flexibel WS2812B MatrixFrosted Paint12x12 Picture FrameSnijdbare dunne plexiglas plaat12x12" 2-weg spiegel plexiglas plaat12x12" getint plexiglas plaat

Stap 4: De Sprite-klok bouwen

De Sprite-klok bouwen
De Sprite-klok bouwen

Bereid de HT16K33-matrixeenheden voor

Soldeer de pinnen aan de achterkant om ze elk een uniek i2c-adres toe te wijzen. Er zijn 3 jumpers om wel of niet te solderen in 8 combinaties. Ik heb alle combinaties gesoldeerd om elke eenheid een ander adres toe te wijzen dat toegankelijk is voor de python-code om de kloktijd weer te geven.

Stap 5: druk de projectbijlage af

De projectbijlage afdrukken
De projectbijlage afdrukken

Zoek in de 3D-printmap het printmodel "defuser-grid-final.stl" als een werkende pixeldefuser om het licht van elke LED te focussen op een vierkante vorm om de output van de sprites op de klok te verbeteren.

Stap 6: Plak de Printed Pixel Defuser op de LED-matrix, spuit matte witte verf en snijd een stuk dun plexiglas om vervolgens over de bovenkant van de defuser te plakken

Plak de Printed Pixel Defuser op de LED-matrix, spuit matwitte verf en snijd een stuk dun plexiglas om vervolgens over de bovenkant van de defuser te plakken
Plak de Printed Pixel Defuser op de LED-matrix, spuit matwitte verf en snijd een stuk dun plexiglas om vervolgens over de bovenkant van de defuser te plakken
Plak de Printed Pixel Defuser op de LED-matrix, spuit matwitte verf en snijd een stuk dun plexiglas om vervolgens over de bovenkant van de defuser te plakken
Plak de Printed Pixel Defuser op de LED-matrix, spuit matwitte verf en snijd een stuk dun plexiglas om vervolgens over de bovenkant van de defuser te plakken

Hierdoor wordt het licht nog meer verstrooid om de helderheid van de sprite te verbeteren.

Stap 7: Begin met het bedraden van de apparaten

Begin met het bedraden van de apparaten
Begin met het bedraden van de apparaten

HT16K33 Matrix-eenheden

GND -> GND

GEGEVENS -> SDA

CLK -> SCL

VCC -> 5V

RGB 16x16-eenheid

GND -> GND

DATA -> GPIO 18

VCC -> 5V

Stap 8: Eindmontage

Eindmontage
Eindmontage

In plaats van het normale fotolijstglas, vervang het door de 2-weg spiegel (12x12" plaat) en grijs getint plastic glas (12x12" plaat)

Hierdoor worden de componenten in het frame verborgen, zodat u alleen de lichtopbrengst van de pixels kunt zien.

Plak de HT16K33-eenheden in een stevige rij aan elkaar

Zorg ervoor dat elke eenheid is geadresseerd van \0x70 tot \0x76 om de code te laten werken (u kunt de code later aanpassen als ze niet meer werken)

Plaats de componenten waterpas naast het frame met de spiegel en getint glas geïnstalleerd

Nu kunt u de achterkant van het frame erop plaatsen om de componenten op hun plaats te houden. Dit zal het moeilijkste zijn, ik had het geluk een frame te hebben met een voldoende flexibele achterkant. Ik kreeg alles gelijk en het zag er geweldig uit.

Stap 9: Opstartscripts

Stel pi-gebruiker crontab in

Voer de volgende regel van minuut tot minuut in crontab

$ crontab -e

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

Stel root-gebruiker crontab in (RGB Sprite Panel-bibliotheek vereist root-toegang) Stel "bij opnieuw opstarten" in om het kaarspython-script voor altijd uit te voeren

$ sudo su

$ crontab -e

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

Aanbevolen: