Turinys:

8 bitų „Sprite“laikrodis: 10 žingsnių
8 bitų „Sprite“laikrodis: 10 žingsnių

Video: 8 bitų „Sprite“laikrodis: 10 žingsnių

Video: 8 bitų „Sprite“laikrodis: 10 žingsnių
Video: Rolex GMT Master-II 126720VTNR Lefty, Sprite, Destro #shorts#rolex 2024, Liepa
Anonim

Sekite daugiau autoriaus:

Nesunaikinama vaikų sofa!
Nesunaikinama vaikų sofa!
Nesunaikinama vaikų sofa!
Nesunaikinama vaikų sofa!
Greiti ir lengvi sieniniai kompiuteriai
Greiti ir lengvi sieniniai kompiuteriai
Greiti ir lengvi sieniniai kompiuteriai
Greiti ir lengvi sieniniai kompiuteriai
Skaitmeninis židinio ekranas
Skaitmeninis židinio ekranas
Skaitmeninis židinio ekranas
Skaitmeninis židinio ekranas

Apie: 3D spausdinimas ir RaspberryPI projektų kūrimas jau kelerius metus Daugiau apie khinds10 »

Žaidimų kambarys „Nintendo Time“su „Friendly Sprites“sveikina jus

1 veiksmas: mirksi „RaspberriPi“standusis diskas / įdiekite reikiamą programinę įrangą (naudojant „Ubuntu Linux“)

Sukurkite naują standųjį diską, skirtą „DashboardPI“

Įdėkite „microSD“į kompiuterį per USB adapterį ir sukurkite disko vaizdą naudodami komandą dd

Suraskite įdėtą „microSD“kortelę naudodami komandą df -h, atjunkite ją ir sukurkite disko atvaizdą naudodami komandą disk copy dd

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

$ umount /dev /sdb1

Atsargiai: įsitikinkite, kad komanda yra visiškai tiksli, naudodami šią komandą galite sugadinti kitus diskus

if = RASPBIAN JESSIE LITE vaizdo failo vieta = jūsų „microSD“kortelės vieta

$ sudo dd bs = 4M, jei =/kelias/į/raspbian-jessie-lite.img iš =/dev/sdb (pastaba: šiuo atveju tai yra/dev/sdb,/dev/sdb1 buvo esamas gamyklos skaidinys „microSD“)

„RaspberriPi“nustatymas

Įdėkite naują „microSD“kortelę į avietę ir įjunkite ją naudodami monitorių, prijungtą prie HDMI prievado

Prisijungti

vartotojas: pi pass: avietė

Saugumo sumetimais pakeiskite paskyros slaptažodį

sudo passwd pi

Įgalinti „RaspberriPi“išplėstines parinktis

sudo raspi-config

Pasirinkite: 1 Išplėskite failų sistemą

9 Išplėstinės parinktys

A2 pagrindinio kompiuterio pavadinimą pakeiskite į „SpriteClock“

A4 SSH Įgalinti SSH serverį

A7 I2C Įgalinti i2c sąsają

Įgalinti anglų/JAV klaviatūrą

sudo nano/etc/default/klaviatūra

Pakeiskite šią eilutę: XKBLAYOUT = "mes"

Iš naujo paleiskite PI, kad pakeistumėte klaviatūros išdėstymą / pakeistumėte failų sistemos dydį

$ sudo išjungimas -r dabar

Automatinis prisijungimas prie „WiFi“

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Pridėkite šias eilutes, kad jūsų raspberrypi automatiškai prisijungtų prie jūsų namų „WiFi“(jei jūsų belaidis tinklas pavadintas „linksys“, pvz., Šiame pavyzdyje)

tinklas = {ssid = "linksys" psk = "BEVIELIS PASLAPTIS ČIA"} Iš naujo paleiskite PI, kad prisijungtumėte prie „WiFi“tinklo

$ sudo išjungimas -r dabar

Dabar, kai jūsų PI pagaliau yra vietiniame tinkle, galite prie jo prisijungti nuotoliniu būdu per SSH. Bet pirmiausia turite gauti dabartinį IP adresą.

$ ifconfig Ieškokite „inet addr: 192.168. XXX. XXX“šioje komandos išvestyje, skirtoje jūsų PI IP adresui

Eikite į kitą mašiną ir prisijunkite prie savo raspberrypi per ssh

$ ssh [email protected]. XXX. XXX

2 veiksmas: pradėkite diegti reikalingus paketus

Pradėkite diegti reikiamus paketus

$ sudo apt-get atnaujinimas

$ sudo apt-get atnaujinimas

$ 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

Atnaujinkite vietinės laiko juostos nustatymus

$ sudo dpkg-reconfigure tzdata

naudodamiesi sąsaja pasirinkite savo laiko juostą

Nustatykite paprastą katalogo komandą l [neprivaloma]

vi ~/.bashrc

pridėkite šią eilutę:

slapyvardis l = 'ls -lh'

šaltinis ~/.bashrc

Ištaisykite numatytąjį VIM sintaksės paryškinimą [neprivaloma]

sudo vi/etc/vim/vimrc

nekomentuokite šios eilutės:

sintaksė įjungta

Įdiekite „i2c Backpack Python“tvarkykles

$ cd ~

$ git klonas

$ cd „Adafruit_Python_LED_Backpack“/

$ sudo python setup.py įdiegti

Įdiekite „i2c Python“tvarkykles

Įdiekite „NeoPixel“tvarkyklę taip

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

sudo pip3 įdiegti -atnaujinti sąrankos įrankius

sudo pip3 įdiegti rpi_ws281x

cd rpi_ws281x

šaukštai

cd python

sudo python setup.py įdiegti

CD pavyzdžiai/

sudo python strandtest.py

Klonuokite namų katalogo saugyklą, kad laikrodis veiktų

cd ~

git klonas

3 žingsnis: reikalingos medžiagos

Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos

„Pi Zero W/1.3/1.2Wifi USB“(jei „Pi Zero 1.3/1.2“) „Keyestudio I2C 8x8 LED Matrix HT16K33 (x7) 16x16 RGB LED Lankstus WS2812B matrica Šaldyti dažai12x12 paveikslų rėmas plexi stiklo lakštas

4 žingsnis: „Sprite“laikrodžio kūrimas

„Sprite“laikrodžio kūrimas
„Sprite“laikrodžio kūrimas

Paruoškite matricos HT16K33 blokus

Lituokite kaiščius gale, kad kiekvienam priskirtumėte unikalų „i2c“adresą. Yra 3 džemperiai lituoti arba ne lituoti 8 deriniuose. Aš lituodavau visas kombinacijas, kad kiekvienam įrenginiui priskirtu skirtingą adresą, prie kurio būtų galima prisijungti naudojant python kodą, kad būtų rodomas laikrodžio laikas.

5 veiksmas: atspausdinkite projekto priedą

Atspausdinkite projekto priedą
Atspausdinkite projekto priedą

3D spausdinimo aplanke suraskite „defuser-grid-final.stl“spausdinimo modelį kaip veikiantį pikselių atitraukiklį, kuris sufokusuotų kiekvieno šviesos diodo šviesą į kvadrato formą, kad pagerintų laikrodžio spritų išvestį.

6 žingsnis: Užklijuokite atspausdintą pikselių atitirpinimo priemonę prie LED matricos, purškite matinius baltus dažus ir supjaustykite plono plexi stiklo gabalėlį, tada užklijuokite juostelę virš purškiklio viršaus

Užklijuokite atspausdintą pikselių atitirpinimo priemonę prie LED matricos, purškite matinius baltus dažus ir supjaustykite plono plexi stiklo gabalėlį, tada užklijuokite juostelę virš purškiklio viršaus
Užklijuokite atspausdintą pikselių atitirpinimo priemonę prie LED matricos, purškite matinius baltus dažus ir supjaustykite plono plexi stiklo gabalėlį, tada užklijuokite juostelę virš purškiklio viršaus
Užklijuokite atspausdintą pikselių atitirpinimo priemonę prie LED matricos, purškite matinius baltus dažus ir supjaustykite plono plexi stiklo gabalėlį, tada užklijuokite juostelę virš purškiklio viršaus
Užklijuokite atspausdintą pikselių atitirpinimo priemonę prie LED matricos, purškite matinius baltus dažus ir supjaustykite plono plexi stiklo gabalėlį, tada užklijuokite juostelę virš purškiklio viršaus

Tai ir toliau dar labiau išsklaidys šviesą, kad pagerėtų sprito aiškumas.

7 veiksmas: pradėkite prijungti įrenginius

Pradėkite prijungti įrenginius
Pradėkite prijungti įrenginius

HT16K33 matricos vienetai

GND -> GND

DUOMENYS -> SDA

CLK -> SCL

VCC -> 5V

RGB 16x16 vienetas

GND -> GND

DUOMENYS -> GPIO 18

VCC -> 5V

8 žingsnis: galutinis surinkimas

Galutinis surinkimas
Galutinis surinkimas

Vietoj įprasto paveikslo rėmo stiklo pakeiskite jį 2 krypčių veidrodžiu (12x12 colių lakštu) ir pilkai tonuotu plastikiniu stiklu (12x12 colių lakštu)

Tai paslėps rėmo viduje esančius komponentus, todėl matysite tik pikselių šviesos srautą.

Suriškite HT16K33 įrenginius vienoje eilėje

Įsitikinkite, kad kiekvienas vienetas yra adresuotas nuo / 0x70 iki / 0x76 iš eilės, kad kodas veiktų (galite pakoreguoti kodą, jei vėliau jie bus netinkami)

Įdėkite komponentus į rėmo pusę su sumontuotu veidrodžiu ir tamsintu stiklu

Dabar galite uždėti rėmo galą, kad komponentai būtų laikomi vietoje. Tai bus sunkiausia dalis, man pasisekė, kad turėjau rėmą su pakankamai lanksčia nugara. Viską supratau lygiai ir atrodė puikiai.

9 veiksmas: paleisties scenarijai

Nustatykite „pi user crontab“

Įveskite šią eilutę minutę po minutės crontab

$ crontab -e

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

Nustatykite šakninio vartotojo crontab („RGB Sprite Panel“bibliotekai reikalinga root prieiga) Nustatykite „iš naujo paleisdami“, kad amžinai paleistumėte žvakių python scenarijų

$ sudo su

$ crontab -e

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

Rekomenduojamas: