Innehållsförteckning:

8 -bitars Sprite -klocka: 10 steg
8 -bitars Sprite -klocka: 10 steg

Video: 8 -bitars Sprite -klocka: 10 steg

Video: 8 -bitars Sprite -klocka: 10 steg
Video: Steven Meets Universe (Lost Episode!) 2024, November
Anonim

Av khinds10www.kevinhinds.com Följ mer av författaren:

Oförstörbar barn soffa!
Oförstörbar barn soffa!
Oförstörbar barn soffa!
Oförstörbar barn soffa!
Snabba och enkla väggmonterade datorer
Snabba och enkla väggmonterade datorer
Snabba och enkla väggmonterade datorer
Snabba och enkla väggmonterade datorer
Skärm för digital eldstad
Skärm för digital eldstad
Skärm för digital eldstad
Skärm för digital eldstad

Om: 3D -utskrift och design av RaspberryPI -projekt sedan några år tillbaka Mer om khinds10 »

Game Room Nintendo Time w/ Friendly Sprites för att hälsa på dig

Steg 1: Blinkande RaspberriPi -hårddisk / Installera nödvändig programvara (med Ubuntu Linux)

Skapa din nya hårddisk för DashboardPI

Sätt i microSD till din dator via USB -adapter och skapa diskavbildningen med kommandot dd

Leta reda på ditt isatta microSD -kort via kommandot df -h, avmontera det och skapa diskavbildningen med kommandot disk copy dd

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

$ umount /dev /sdb1

Varning: se till att kommandot är helt korrekt, du kan skada andra diskar med det här kommandot

if = plats för RASPBIAN JESSIE LITE bildfil av = plats för ditt microSD -kort

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (Obs: i det här fallet är det/dev/sdb,/dev/sdb1 en befintlig fabrikspartition på microSD)

Konfigurera din RaspberriPi

Sätt i ditt nya microSD -kort i raspberrypi och slå på det med en bildskärm ansluten till HDMI -porten

Logga in

användare: pi pass: hallon

Ändra ditt kontolösenord för säkerhets skull

sudo passwd pi

Aktivera RaspberriPi Advanced Options

sudo raspi-config

Välj: 1 Expandera filsystemet

9 Avancerade alternativ

A2 -värdnamn ändra det till "SpriteClock"

A4 SSH Aktivera SSH -server

A7 I2C Aktivera i2c -gränssnitt

Aktivera engelska/amerikanska tangentbordet

sudo nano/etc/default/keyboard

Ändra följande rad: XKBLAYOUT = "oss"

Starta om PI för ändringar av tangentbordslayout / storlek på filsystem för att träda i kraft

$ sudo avstängning -r nu

Anslut automatiskt till din WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Lägg till följande rader så att din raspberrypi automatiskt ansluter till ditt hem -WiFi (om ditt trådlösa nätverk heter "linksys" till exempel i följande exempel)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Starta om PI för att ansluta till WiFi -nätverk

$ sudo avstängning -r nu

Nu när din PI äntligen finns på det lokala nätverket kan du fjärrlogga till den via SSH. Men först måste du få den IP -adress som den har för närvarande.

$ ifconfig Leta efter "inet addr: 192.168. XXX. XXX" i följande kommandos utdata för din PI: s IP -adress

Gå till en annan maskin och logga in på din raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Steg 2: Börja installera nödvändiga paket

Börja installera nödvändiga paket

$ sudo apt-get uppdatering

$ sudo apt-get uppgradering

$ 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

Uppdatera lokala tidszoninställningar

$ sudo dpkg-omkonfigurera tzdata

välj din tidszon med gränssnittet

Konfigurera det enkla katalog l -kommandot [valfritt]

vi ~/.bashrc

lägg till följande rad:

alias l = 'ls -lh'

källa ~/.bashrc

Fixa VIM -standardsyntaxmarkering [valfritt]

sudo vi/etc/vim/vimrc

kommentera följande rad:

syntax på

Installera i2c -ryggsäck Python -drivrutiner

$ cd ~

$ git -klon

$ cd Adafruit_Python_LED_Backpack/

$ sudo python setup.py installera

Installera i2c Python -drivrutiner

Installera NeoPixel -drivrutinen enligt följande

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

sudo pip3 install -uppgradera setuptools

sudo pip3 installera rpi_ws281x

cd rpi_ws281x

scons

cd python

sudo python setup.py installera

cd -exempel/

sudo python strandtest.py

Klona förvaret i din hemkatalog för att klockan ska fungera

cd ~

git -klon

Steg 3: Tillbehör som behövs

Tillbehör som behövs
Tillbehör som behövs
Tillbehör som behövs
Tillbehör som behövs
Tillbehör som behövs
Tillbehör som behövs

Pi Zero W/1.3/1.2Wifi USB (om Pi Zero 1.3/1.2) Keyestudio I2C 8x8 LED Matrix HT16K33 (x7) 16x16 RGB LED Flexibel WS2812B MatrixFrost Paint12x12 Bildram Klippbar tunn plexiglasark12x12 "tvåvägs spegel plexiglasark12x12" tonad plexiglasplåt

Steg 4: Bygg Sprite -klockan

Bygga Sprite -klockan
Bygga Sprite -klockan

Förbered HT16K33 -matrisenheterna

Löd stiften på baksidan för att tilldela dem var och en en unik i2c -adress. Det finns 3 hoppare att löda eller inte lödda i 8 kombinationer. Jag har lödt alla kombinationer för att tilldela varje enhet en annan adress för att komma åt med pythonkoden för att visa klockan.

Steg 5: Skriv ut projektkapslingen

Skriv ut projektkapslingen
Skriv ut projektkapslingen

I mappen 3D-utskrift hittar du utskriftsmodellen "defuser-grid-final.stl" som en fungerande pixeldisplay för att fokusera ljuset från varje lysdiod till en kvadratisk form för att förbättra utmatningen av sprites på klockan.

Steg 6: Tejpa den tryckta pixeldisplayen till LED-matrisen, spraya frostad vit färg och skär en bit tunn plexiglas för att sedan tejpa över ovansidan av defusionsenheten

Tejpa den tryckta pixeldisplayen till LED-matrisen, spraya frostad vit färg och skär en bit tunn plexiglas för att sedan tejpa över ovansidan av defusionsenheten
Tejpa den tryckta pixeldisplayen till LED-matrisen, spraya frostad vit färg och skär en bit tunn plexiglas för att sedan tejpa över ovansidan av defusionsenheten
Tejpa den tryckta pixeldisplayen till LED-matrisen, spraya frostad vit färg och skär en bit tunn plexiglas för att sedan tejpa över ovansidan av defusionsenheten
Tejpa den tryckta pixeldisplayen till LED-matrisen, spraya frostad vit färg och skär en bit tunn plexiglas för att sedan tejpa över ovansidan av defusionsenheten

Detta kommer att fortsätta sprida ljuset ännu mer för att förbättra sprite -klarheten.

Steg 7: Börja ansluta enheterna

Börja ansluta enheterna
Börja ansluta enheterna

HT16K33 matrisenheter

GND -> GND

DATA -> SDA

CLK -> SCL

VCC -> 5V

RGB 16x16 enhet

GND -> GND

DATA -> GPIO 18

VCC -> 5V

Steg 8: Slutmontering

Slutmontering
Slutmontering

I stället för det vanliga bildramglaset, ersätt det med tvåvägs spegeln (12x12 "ark) och gråtonat plastglas (12x12" ark)

Detta kommer att dölja komponenterna inuti ramen, så att du bara kan se pixel ljusutmatning.

Tejpa ihop HT16K33 -enheterna i en solid rad

Se till att varje enhet är adresserad från / 0x70 till / 0x76 i rad för att koden ska fungera (du kan justera koden om den är ur funktion senare)

Placera komponenterna jämna med ramen med spegeln och tonat glas installerat

Nu kan du placera ramen på baksidan för att hålla komponenterna på plats. Detta kommer att vara den svåraste delen, jag hade turen att ha en ram med en tillräckligt flexibel rygg. Jag fick allt i nivå och det såg bra ut.

Steg 9: Startskript

Ställ in pi user crontab

Ange följande rad för en minut för minut crontab

$ crontab -e

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

Ställ in root -användare crontab (RGB Sprite Panel -biblioteket kräver root -åtkomst) Ställ in "på omstart" för att köra pythonskriptet för alltid

$ sudo su

$ crontab -e

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

Rekommenderad: