Indholdsfortegnelse:

8 Bit Sprite Clock: 10 trin
8 Bit Sprite Clock: 10 trin

Video: 8 Bit Sprite Clock: 10 trin

Video: 8 Bit Sprite Clock: 10 trin
Video: Software Sprites are 10 Times Better with Machine Language than BASIC - Part 2 2024, Juli
Anonim

Af khinds10www.kevinhinds.com Følg mere af forfatteren:

Uforgængelig børnesofa!
Uforgængelig børnesofa!
Uforgængelig børnesofa!
Uforgængelig børnesofa!
Hurtig og nem vægmonteret pc
Hurtig og nem vægmonteret pc
Hurtig og nem vægmonteret pc
Hurtig og nem vægmonteret pc
Digital pejs skærm
Digital pejs skærm
Digital pejs skærm
Digital pejs skærm

Om: 3D -udskrivning og design af RaspberryPI -projekter i et par år nu Mere om khinds10 »

Game Room Nintendo Time m/ Friendly Sprites til at hilse på dig

Trin 1: Blinkende RaspberriPi -harddisk / Installer påkrævet software (ved hjælp af Ubuntu Linux)

Opret din nye harddisk til DashboardPI

Indsæt microSD til din computer via USB -adapter, og opret diskbilledet ved hjælp af kommandoen dd

Find dit indsatte microSD -kort via kommandoen df -h, afmonter det, og opret diskbilledet med kommandoen disk copy dd

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

$ umount /dev /sdb1

Forsigtig: sørg for, at kommandoen er fuldstændig nøjagtig, du kan beskadige andre diske med denne kommando

hvis = placering af RASPBIAN JESSIE LITE billedfil af = placering af dit microSD -kort

$ sudo dd bs = 4M hvis =/path/to/raspbian-jessie-lite.img af =/dev/sdb (Bemærk: i dette tilfælde er det/dev/sdb,/dev/sdb1 var en eksisterende fabrikspartition på microSD)

Opsætning af din RaspberriPi

Indsæt dit nye microSD -kort i raspberrypi, og tænd det med en skærm tilsluttet HDMI -porten

Log på

bruger: pi pass: hindbær

Skift din kontos adgangskode for sikkerheden

sudo passwd pi

Aktiver RaspberriPi Avancerede indstillinger

sudo raspi-config

Vælg: 1 Udvid filsystemet

9 Avancerede indstillinger

A2 -værtsnavn ændre det til "SpriteClock"

A4 SSH Aktiver SSH -server

A7 I2C Aktiver i2c -interface

Aktiver engelsk/amerikansk tastatur

sudo nano/etc/default/keyboard

Skift følgende linje: XKBLAYOUT = "os"

Genstart PI for tastaturlayoutændringer / ændring af filsystemets størrelse for at træde i kraft

$ sudo shutdown -r nu

Tilslut automatisk til din WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Tilføj følgende linjer for at få din hindbær til automatisk at oprette forbindelse til dit WiFi i hjemmet (hvis dit trådløse netværk f.eks. Hedder "linksys" i følgende eksempel)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Genstart PI for at oprette forbindelse til WiFi -netværk

$ sudo shutdown -r nu

Nu hvor din PI endelig er på det lokale netværk, kan du eksternt logge ind på den via SSH. Men først skal du få den IP -adresse, den har i øjeblikket.

$ ifconfig Søg efter "inet addr: 192.168. XXX. XXX" i følgende kommandos output til din PI's IP -adresse

Gå til en anden maskine og log ind på din raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Trin 2: Start installationen af nødvendige pakker

Start installation af nødvendige pakker

$ sudo apt-get opdatering

$ sudo apt-get opgradering

$ 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

Opdater lokale tidszoneindstillinger

$ sudo dpkg-omkonfigurer tzdata

vælg din tidszone ved hjælp af grænsefladen

Opsæt kommandoen simple bibliotek l [valgfrit]

vi ~/.bashrc

tilføj følgende linje:

alias l = 'ls -lh'

kilde ~/.bashrc

Fix VIM standardsyntaksfremhævelse [valgfrit]

sudo vi/etc/vim/vimrc

kommenter følgende linje:

syntaks på

Installer i2c -rygsæk -Python -drivere

$ cd ~

$ git -klon

$ cd Adafruit_Python_LED_Backpack/

$ sudo python setup.py installation

Installer i2c Python -drivere

Installer NeoPixel -driveren som følger

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

sudo pip3 install -opgrader setuptools

sudo pip3 installer rpi_ws281x

cd rpi_ws281x

scons

cd python

sudo python setup.py installation

cd -eksempler/

sudo python strandtest.py

Klon depotet i din hjemmemappe, så uret fungerer

cd ~

git -klon

Trin 3: Nødvendige forbrugsvarer

Nødvendige forsyninger
Nødvendige forsyninger
Nødvendige forsyninger
Nødvendige forsyninger
Nødvendige forsyninger
Nødvendige forsyninger

Pi Zero W/1.3/1.2Wifi USB (hvis Pi Zero 1.3/1.2) Keyestudio I2C 8x8 LED Matrix HT16K33 (x7) 16x16 RGB LED Fleksibel WS2812B MatrixFrost Paint12x12 Billedramme Skærbart tyndt plexiglasark12x12 "2-vejs spejl plexiglasark12x12" tonet plexiglas

Trin 4: Opbygning af Sprite -uret

Bygger Sprite -uret
Bygger Sprite -uret

Forbered HT16K33 -matrixenhederne

Lod lodstiftene på bagsiden for at tildele dem hver en unik i2c -adresse. Der er 3 springere til lodning eller ikke lodning i 8 kombinationer. Jeg har loddet alle kombinationer for at tildele hver enhed en anden adresse, der skal tilgås af python -koden for at vise klokketiden.

Trin 5: Udskriv projektbilaget

Udskriv projektbilaget
Udskriv projektbilaget

I mappen 3D-udskrivning finder udskriftsmodellen "defuser-grid-final.stl" en fungerende pixel-defuser for at fokusere lyset fra hver LED til en firkantet form for at forbedre output fra sprites på uret.

Trin 6: Tape den trykte Pixel Defuser til LED-matrixen, sprøjt frostet hvid maling og skær et stykke tyndt plexiglas til derefter tape over toppen af defuseren

Tape den trykte Pixel Defuser til LED-matrixen, sprøjt frostet hvid maling og skær et stykke tyndt plexiglas til derefter tape over toppen af defuser
Tape den trykte Pixel Defuser til LED-matrixen, sprøjt frostet hvid maling og skær et stykke tyndt plexiglas til derefter tape over toppen af defuser
Tape den trykte Pixel Defuser til LED-matrixen, sprøjt frostet hvid maling og skær et stykke tyndt plexiglas til derefter tape over toppen af defuser
Tape den trykte Pixel Defuser til LED-matrixen, sprøjt frostet hvid maling og skær et stykke tyndt plexiglas til derefter tape over toppen af defuser

Dette vil fortsætte med at sprede lyset endnu mere for at forbedre sprite -klarheden.

Trin 7: Begynd at tilslutte enhederne

Begynd at tilslutte enhederne
Begynd at tilslutte enhederne

HT16K33 matrixenheder

GND -> GND

DATA -> SDA

CLK -> SCL

VCC -> 5V

RGB 16x16 enhed

GND -> GND

DATA -> GPIO 18

VCC -> 5V

Trin 8: Sidste samling

Endelig forsamling
Endelig forsamling

I stedet for det normale billedrammeglas udskiftes det med 2 -vejs spejlet (12x12 "ark) og gråtonet plastglas (12x12" ark)

Dette vil skjule komponenterne inde i rammen, så du kun kan se pixellyset.

Tape HT16K33 -enhederne sammen i en solid række

Sørg for, at hver enhed er adresseret fra / 0x70 til / 0x76 i træk, så koden fungerer (du kan justere koden, hvis den er ude af drift senere)

Placer komponenterne på lige side af rammen med spejlet og tonet glas installeret

Nu kan du placere bagsiden af rammen for at holde komponenterne på plads. Dette vil være den sværeste del, jeg var heldig at have en ramme med en fleksibel nok ryg. Jeg fik alt på niveau, og det så godt ud.

Trin 9: Start -scripts

Indstil pi -bruger crontab

Indtast følgende linje i et minut for minut crontab

$ crontab -e

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

Indstil root -bruger crontab (RGB Sprite Panel -bibliotek kræver root -adgang) Indstil "ved genstart" for at køre stearinlys -python -scriptet for evigt

$ sudo su

$ crontab -e

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

Anbefalede: