Mundarija:
- 1 -qadam: RaspberriPi qattiq diskini yondirish / kerakli dasturiy ta'minotni o'rnatish (Ubuntu Linux yordamida)
- 2 -qadam: Kerakli paketlarni o'rnatishni boshlang
- 3 -qadam: Kerakli materiallar
- 4 -qadam: Sprite soatini yaratish
- 5 -qadam: Loyiha muhofazasini chop eting
- 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
- 7 -qadam: Qurilmalarga sim o'tkazishni boshlang
- 8 -qadam: Yakuniy yig'ilish
- 9 -qadam: skriptlarni ishga tushirish
Video: 8 bitli Sprite soati: 10 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Khinds10www.kevinhinds.com tomonidan Muallifning boshqa maqolalarini kuzatib boring:
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
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
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
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
Bu yorug'likni yanada ko'proq tarqatishda davom etadi va sprite ravshanligini yaxshilaydi.
7 -qadam: Qurilmalarga sim o'tkazishni 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
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:
Arduino Nano-MMA8452Q 3 o'qli 12 bitli/8 bitli raqamli akselerometr bo'yicha qo'llanma: 4 qadam
Arduino Nano-MMA8452Q 3-o'qli 12-bitli/8-bitli raqamli akselerometr bo'yicha qo'llanma: MMA8452Q-bu 12 bitli, aqlli, kam quvvatli, uch o'qli, sig'imli, mikromaxinli akselerometr. Foydalanuvchilar tomonidan dasturlashtiriladigan moslashuvchan variantlar akselerometrga o'rnatilgan ikkita funktsiya yordamida ta'minlanadi, ular ikkita uzilishga o'rnatiladi
Raspberry Pi MMA8452Q 3 o'qli 12-bitli/8-bitli raqamli akselerometr Python qo'llanmasi: 4 qadam
Raspberry Pi MMA8452Q 3-o'qli 12-bitli/8-bitli raqamli akselerometr Python qo'llanmasi: MMA8452Q-bu 12 bitli aniqlikdagi aqlli, kam quvvatli, uch o'qli, sig'imli, mikromashinli akselerometr. Foydalanuvchilar tomonidan dasturlashtiriladigan moslashuvchan variantlar akselerometrga o'rnatilgan ikkita funktsiya yordamida ta'minlanadi, ular ikkita uzilishga o'rnatiladi
Pensiya soati / hisoblash / Dn soati: 4 qadam (rasmlar bilan)
Pensiya soati / hisoblash / Dn soati: Menda tortmasida 8x8 o'lchamli LED nuqta matritsali displeylar bor edi va ular bilan nima qilish kerakligi haqida o'yladim. Boshqa ko'rsatmalardan ilhomlanib, men kelajakdagi sana/vaqtni sanash uchun orqaga/yuqoriga ko'rsatish ekranini yaratish g'oyasini oldim va agar belgilangan vaqt
ESP8266 hech qanday RTCsiz tarmoq soati - Nodemcu NTP soati RTC yo'q - INTERNET CLOCK LOYIHASI: 4 qadam
ESP8266 hech qanday RTCsiz tarmoq soati | Nodemcu NTP soati RTC yo'q | INTERNET CLOCK LOYIHASI: Loyihada RTCsiz soat loyihasi yaratiladi, wifi yordamida internetdan vaqt oladi va uni st7735 displeyida ko'rsatadi
Raspberry Pi MMA8452Q 3 o'qli 12-bitli/8-bitli raqamli akselerometrli Java darsligi: 4 qadam
Raspberry Pi MMA8452Q 3-o'qli 12-bitli/8-bitli raqamli akselerometr Java darsligi: MMA8452Q-bu 12 bitli aniqlikdagi aqlli, kam quvvatli, uch o'qli, sig'imli, mikromaxinli akselerometr. Foydalanuvchilar tomonidan dasturlashtiriladigan moslashuvchan variantlar akselerometrga o'rnatilgan ikkita funktsiya yordamida ta'minlanadi, ular ikkita uzilishga o'rnatiladi