Mundarija:

8 bitli Sprite soati: 10 qadam
8 bitli Sprite soati: 10 qadam

Video: 8 bitli Sprite soati: 10 qadam

Video: 8 bitli Sprite soati: 10 qadam
Video: СПРИНТ – Самый мотивирующий фильм года! Фильм изменивший миллионы людей! Смотреть онлайн бесплатно 2024, Noyabr
Anonim

Khinds10www.kevinhinds.com tomonidan Muallifning boshqa maqolalarini kuzatib boring:

Buzilmaydigan bolalar divanchasi!
Buzilmaydigan bolalar divanchasi!
Buzilmaydigan bolalar divanchasi!
Buzilmaydigan bolalar divanchasi!
Tez va oson devorga o'rnatiladigan shaxsiy kompyuterlar
Tez va oson devorga o'rnatiladigan shaxsiy kompyuterlar
Tez va oson devorga o'rnatiladigan shaxsiy kompyuterlar
Tez va oson devorga o'rnatiladigan shaxsiy kompyuterlar
Raqamli kamin ekrani
Raqamli kamin ekrani
Raqamli kamin ekrani
Raqamli kamin ekrani

Haqida: 3D chop etish va RaspberryPI loyihalarini bir necha yillardan beri loyihalash xinds10 haqida ko'proq »

O'yin xonasi Nintendo Time w/ Friendly Sprites sizni tabriklash uchun

1 -qadam: RaspberriPi qattiq diskini yondirish / kerakli dasturiy ta'minotni o'rnatish (Ubuntu Linux yordamida)

DashboardPI uchun yangi qattiq diskni yarating

USB adapter orqali microSD -ni kompyuterga joylashtiring va dd buyrug'i yordamida disk tasvirini yarating

O'rnatilgan microSD kartani df -h buyrug'i orqali toping, uni ajratib oling va dd buyrug'i yordamida disk tasvirini yarating.

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

$ umount /dev /sdb1

E'tibor bering: buyruq to'liq aniqligiga ishonch hosil qiling, siz bu buyruq bilan boshqa disklarga zarar etkazishingiz mumkin

if = RASPBIAN JESSIE LITE rasm faylining joylashuvi = microSD kartangiz joylashuvi

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of//dev/sdb (eslatma: bu holda, bu/dev/sdb,/dev/sdb1-bu zavod bo'limi microSD)

RaspberriPi -ni sozlash

Yangi microSD kartani malinaga joylashtiring va HDMI portiga ulangan monitor bilan yoqing

Kirish

foydalanuvchi: pi pass: malina

Xavfsizlik uchun hisob parolini o'zgartiring

sudo passwd pi

RaspberriPi kengaytirilgan parametrlarini yoqing

sudo raspi-config

Tanlang: 1 Fayl tizimini kengaytiring

9 Kengaytirilgan imkoniyatlar

A2 Xost nomi uni "SpriteClock" ga o'zgartiring

A4 SSH SSH serverini yoqish

A7 I2C i2c interfeysini yoqish

Ingliz/AQSh klaviaturasini yoqing

sudo nano/etc/default/klaviatura

Quyidagi qatorni o'zgartiring: XKBLAYOUT = "us"

Klaviatura tartibining o'zgarishi / fayl tizimining o'lchamlari kuchga kirishi uchun PIni qayta ishga tushiring

$ sudo yopilishi -r

Wi-Fi tarmog'iga avtomatik ulanish

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Raspberrypi avtomatik ravishda uy Wi -Fi tarmog'iga ulanishi uchun quyidagi qatorlarni qo'shing (agar simsiz tarmog'ingiz "linksys" deb nomlangan bo'lsa, masalan, quyidagi misolda).

tarmoq = {ssid = "linksys" psk = "Bu yerda simsiz parol"} Wi -Fi tarmog'iga ulanish uchun PIni qayta yoqing.

$ sudo yopilishi -r

Endi sizning PI mahalliy tarmoqda, siz unga SSH orqali masofadan kirishingiz mumkin. Lekin avval siz hozirda mavjud bo'lgan IP -manzilni olishingiz kerak.

$ ifconfig PI -ning IP -manzili uchun quyidagi buyruq chiqishida "inet addr: 192.168. XXX. XXX" ni qidiring.

Boshqa mashinaga o'ting va sasp orqali raspberrypi -ga kiring

$ ssh [email protected]. XXX. XXX

2 -qadam: Kerakli paketlarni o'rnatishni boshlang

Kerakli paketlarni o'rnatishni boshlang

$ sudo apt-get yangilanishi

$ sudo apt-get yangilanishi

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

Mahalliy vaqt mintaqasi sozlamalarini yangilang

$ sudo dpkg-tzdata-ni qayta sozlang

interfeys yordamida vaqt mintaqangizni tanlang

Oddiy katalogni o'rnating l buyrug'i [ixtiyoriy]

vi ~/.bashrc

quyidagi qatorni qo'shing:

taxallus l = 'ls -lh'

manba ~/.bashrc

VIM standart sintaksisini ajratib ko'rsatish [ixtiyoriy]

sudo vi/etc/vim/vimrc

quyidagi qatorga izoh qoldiring:

sintaksis yoqilgan

I2c Backpack Python drayverlarini o'rnating

$ CD ~

$ git klon

$ cd Adafruit_Python_LED_Backpack/

$ sudo python setup.py ni o'rnating

I2c Python drayverlarini o'rnating

NeoPixel drayverini quyidagicha o'rnating

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

sudo pip3 install -setuptools -ni yangilang

sudo pip3 rpi_ws281x ni o'rnating

CD rpi_ws281x

scons

cd python

sudo python setup.py ni o'rnating

CD misollar/

sudo python strandtest.py

Soat ishlashi uchun uy katalogingizdagi omborni klonlang

CD ~

git klon

3 -qadam: Kerakli materiallar

Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar

Pi Zero W/1.3/1.2Wifi USB (agar Pi Zero 1.3/1.2 bo'lsa) Keyestudio I2C 8x8 LED matritsali HT16K33 (x7) 16x16 RGB LED moslashuvchan WS2812B Matritsali Muzli Bo'yoq 12x12 Rasmli ramka 12x12 dyuymli ikki tomonlama oynali plexiintli varaq 12x12 pleksi-shisha varaq

4 -qadam: Sprite soatini yaratish

Sprite soatini qurish
Sprite soatini qurish

HT16K33 matritsa birliklarini tayyorlang

Har birining o'ziga xos i2c manzilini belgilash uchun orqa tarafdagi pinlarni lehimlang. 8 ta kombinatsiyada lehimlanadigan yoki lehimlanmaydigan 3 ta o'tish moslamasi mavjud. Men har bir birlikni soat vaqtini ko'rsatish uchun python kodi orqali kirish uchun boshqa manzilni tayinlash uchun barcha kombinatsiyalarni lehimladim.

5 -qadam: Loyiha muhofazasini chop eting

Loyiha muhofazasini chop eting
Loyiha muhofazasini chop eting

3D bosib chiqarish papkasida "defuser-grid-final.stl" bosma modelini ishchi pikselli defuser sifatida toping, u har bir LEDdan yorug'likni kvadrat shakliga yo'naltiradi, shunda spritlarning chiqish tezligini oshiradi.

6-qadam: Chop etilgan pikselli defuserni LED matritsasiga yopishtiring, muzli oq bo'yoq seping va ingichka pleksi oynani kesib, keyin defuserning yuqori qismiga lenta qo'ying

Chop etilgan pikselli defuserni LED matritsasiga, muzli oq rangga seping va ingichka pleksi oynani kesib, keyin defuserning yuqori qismiga lenta qo'ying
Chop etilgan pikselli defuserni LED matritsasiga, muzli oq rangga seping va ingichka pleksi oynani kesib, keyin defuserning yuqori qismiga lenta qo'ying
Chop etilgan pikselli defuserni LED matritsasiga, muzli oq rangga seping va ingichka pleksi oynani kesib, keyin defuserning yuqori qismiga lenta qo'ying
Chop etilgan pikselli defuserni LED matritsasiga, muzli oq rangga seping va ingichka pleksi oynani kesib, keyin defuserning yuqori qismiga lenta qo'ying

Bu yorug'likni yanada ko'proq tarqatishda davom etadi va sprite ravshanligini yaxshilaydi.

7 -qadam: Qurilmalarga sim o'tkazishni boshlang

Qurilmalarni ulashni boshlang
Qurilmalarni ulashni boshlang

HT16K33 matritsali birliklar

GND -> GND

Ma'lumotlar -> SDA

CLK -> SCL

VCC -> 5V

RGB 16x16 birligi

GND -> GND

Ma'lumotlar -> GPIO 18

VCC -> 5V

8 -qadam: Yakuniy yig'ilish

Yakuniy yig'ilish
Yakuniy yig'ilish

Oddiy rasmli ramka oynasi o'rniga uni ikki tomonlama oynali (12x12 dyuymli) va kulrang rangli plastik oynaga (12x12 dyuymli) almashtiring

Bu ramka ichidagi komponentlarni yashiradi, shuning uchun siz faqat pikselli yorug'lik chiqishini ko'rishingiz mumkin.

HT16K33 birliklarini mustahkam qatorga yopishtiring

Kod ishlashi uchun har bir birlik ketma -ket / 0x70 dan / 0x76 gacha bo'lganligiga ishonch hosil qiling (agar ular keyinchalik ishlamay qolsa, siz kodni sozlashingiz mumkin)

Komponentlarni oyna va rangli oynalar o'rnatilgan ramkaning yon tomoniga joylashtiring

Endi siz tarkibiy qismlarni ushlab turish uchun ramkaning orqa qismini qo'yishingiz mumkin. Bu eng qiyin qismi bo'ladi, men etarlicha egiluvchan orqa bilan ramkaga ega bo'lish baxtiga muyassar bo'ldim. Men hamma narsani bir darajaga chiqardim va u ajoyib ko'rinardi.

9 -qadam: skriptlarni ishga tushirish

Pi user crontab -ni o'rnating

Crontab -ni daqiqalar soniga quyidagi qatorga kiriting

$ crontab -e

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

Ildiz foydalanuvchisi crontab -ni o'rnating (RGB Sprite Panel kutubxonasi ildizga kirishni talab qiladi) Sham python skriptini abadiy ishga tushirish uchun "qayta yuklashni" o'rnating

$ sudo su

$ crontab -e

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

Tavsiya: