Mundarija:

SPIKE Prime -da MicroPython: 12 qadam
SPIKE Prime -da MicroPython: 12 qadam

Video: SPIKE Prime -da MicroPython: 12 qadam

Video: SPIKE Prime -da MicroPython: 12 qadam
Video: Running micropython on the Lego Spike Prime hub 2024, Noyabr
Anonim
SPIKE Prime -da MicroPython
SPIKE Prime -da MicroPython

Siz SPIKE Prime -ni kichik mikroprotsessorlar uchun python to'plami bo'lgan MicroPython yordamida kodlashingiz mumkin.

Siz SPIKE Prime uyasini kodlash uchun istalgan terminal emulyatoridan foydalanishingiz mumkin.

Ta'minotlar

SPIKE Prime markazi

USB portli / bluetoothli kompyuter

Hubni kompyuterga ulash uchun USB kabeli

1 -qadam: Terminal emulyatorini oling

Terminal emulyatorini oling
Terminal emulyatorini oling
Terminal emulyatorini oling
Terminal emulyatorini oling

Tanlash uchun ko'p variantlar mavjud.

CoolTerm barcha platformalarda ishlaydi, shu jumladan Pi

Macun derazalarda ishlaydi

unix operatsion tizimidagi terminalda ekran buyrug'i

2 -qadam: SPIKE Prime -ni USB portiga ulang

USB portiga SPIKE Prime -ni ulang
USB portiga SPIKE Prime -ni ulang
USB portiga SPIKE Prime -ni ulang
USB portiga SPIKE Prime -ni ulang

SPIKE Prime -ni kompyuterga ulash uchun microUSB kabelidan foydalaning.

3 -qadam: Portni toping

Portni toping
Portni toping
Portni toping
Portni toping

Biz SPIKE Prime uyasi qaysi ketma -ket portga ulanganligini bilishimiz kerak.

Mac -da yozing

ls /dev/tty.usbmodem*

Kompyuterda ketma -ket joylashgan qurilmalar menejeriga qarang

Pi -da, bu ttyAMC0 kabi bo'ladi - /dev /papkangizni tekshiring

4 -qadam: ulanish

Ulanish
Ulanish
Ulanish
Ulanish

O'ng portga (oldingi bosqichdan) 115200 bod ulang

Terminalda yozing

kompyuter $ ekran / dev / 115200

Boshqa IDEda

Ochish/ ulanish tugmachasini bosing (portlar va bodratlarni o'rnatgandan so'ng)

Eslatma: tenglik yo'q, 8 ta ma'lumotlar biti va 1 ta to'xtash biti

5 -qadam: REPLni ishga tushirish

REPLni ishga tushirish
REPLni ishga tushirish
REPLni ishga tushirish
REPLni ishga tushirish
REPLni ishga tushirish
REPLni ishga tushirish

SPIKE Prime -ga PUTTY terminalidan ulanganingizda siz raqamlar va belgilar oqimini ko'rasiz. Bu SPIKE Prime markazining ichki sensorlaridagi ma'lumotlar. Boshlash uchun + c tugmalar birikmasini bosing

Bu ketma -ket portni to'xtatadi va siz shunga o'xshash narsani ko'rishingiz kerak.

MicroPython v1.9.4-1146-gca9944357 2019-09-25; Qo'shimcha ma'lumot olish uchun STM32F413xx "help ()" turiga ega LEGO Technic Large Hub.

Endi siz kodlashga tayyormiz.

6 -qadam: Sizning birinchi kodingiz

Sizning birinchi kodingiz
Sizning birinchi kodingiz

import markazi

hub.display.show ("Tufts")

"Import" buyrug'iga e'tibor bering, u SPIKE Prime bilan gaplashishga imkon beradigan python kutubxonasini oladi. Siz markazda LED matritsasida yozilgan Tuftsni ko'rishingiz kerak.

7 -qadam: ismingizni ko'rsatish

endi yozishga harakat qiling

hub.display.show ('')

E'tibor bering, siz yuqoridagi uyani import qilganingiz uchun u allaqachon xotirada. Agar bunday bo'lmasa, siz quyidagi kabi xatolarga duch kelasiz:

Traceback (oxirgi oxirgi qo'ng'iroq): "" fayli, 1 -qator, inNameError: "markaz" nomi aniqlanmagan

8 -qadam: REPL -dan foydalanish

Python -ning eng kuchli atributlaridan biri shundaki, siz REPL -ga kod yozishdan oldin hamma narsani sinab ko'rishingiz mumkin (o'qish eval chop etish tsikli).

U har qanday python buyrug'ini bajaradi - quyida 2 + 2 yozib ko'ring va unda nima deyilganini ko'ring:

2+2

9 -qadam: SPIKE Prime -da MicroPython -ni o'rganish

Endi kashf qilish vaqti keldi.

hubda juda ko'p funktsiyalar mavjud - buni "hub" yozish orqali bilib olishingiz mumkin. (uyadan keyingi davrni unutmang) va keyin REPLda TAB tugmachasini bosing. Bu sizga buyruqni bajarishning har xil usullarini ko'rsatadi.

Challenge: Tezlikni o'qiy olasizmi, ko'ring.

10 -qadam: Sensor qiymatlarini o'qish … 1

Tezlashtirish ma'lumotlari qiymatlar qatori sifatida qaytadi. shuning uchun agar siz faqat X qiymatini xohlasangiz, sinab ko'rishingiz mumkin

hub.motion.accelerometer () [0]

yoki kodlashning eng yaxshi usuli bu kabi o'zgaruvchilardan foydalanish bo'ladi:

import markazi

accel = hub.motion.accelerometer () xAccel = accel [0] hub.display.show (str (xAccel))

11 -qadam: Sensor qiymatlarini o'qish … 2

Sensor qiymatlarini o'qish … 2
Sensor qiymatlarini o'qish … 2

Bundan tashqari, pastadir yordamida barcha uchta tezlashtirishni ko'rsatishingiz mumkin.

Biz kutubxonani ham vaqtincha import qilamiz, shunda biz pauza qilamiz va sizga ekrandagi raqamni o'qish uchun vaqt beramiz.

Ushbu kodni sinab ko'ring:

import uyasi, utimeaccel = hub.motion.accelerometer () Acc uchun tezlik: hub.display.show (str (Acc)) utime.sleep (0.8)

Bu vaqtda ba'zi narsalar muhim bo'lib qoladi:

bo'shliqlar - Python hamma narsani o'ngga burish bilan bog'liq - boshqa tillardagi qavslarga o'xshab, indentatsiya sizga loopning ichida nima bor va nima yo'qligini aytadi.

REPLdan foydalanganda, siz indentatsiya qilganda, u endi chiziqni bajarmaydi, aksincha, bajarilishidan oldin for for loopining satrlarini tugatishingizni kutadi (va >>> o'rniga … qo'yiladi). For loopini tugatish uchun "return" tugmachasini uch marta bosish kifoya qiladi va tsikl bajariladi.

12 -qadam: Chaqiruv

Keyin, quyidagi kod nima qilishini aniqlay olasizmi yoki yo'qligini tekshirib ko'ring va to'g'riligingizni tekshiring.

import markazi, utime

while True: accel = hub.motion.accelerometer () Acc uchun accel: hub.display.show (str (Acc)) utime.sleep (0.8) if hub.port. B.device.get (): break

Maslahat -sizga B portida sensor kerak.

Tavsiya: