Mündəricat:

SPIKE Prime -də MicroPython: 12 addım
SPIKE Prime -də MicroPython: 12 addım

Video: SPIKE Prime -də MicroPython: 12 addım

Video: SPIKE Prime -də MicroPython: 12 addım
Video: Running micropython on the Lego Spike Prime hub 2024, Noyabr
Anonim
SPIKE Prime -də MicroPython
SPIKE Prime -də MicroPython

Kiçik mikroprosessorlar üçün python alt hissəsi olan MicroPython istifadə edərək SPIKE Prime kodlaya bilərsiniz.

SPIKE Prime mərkəzini kodlaşdırmaq üçün hər hansı bir terminal emulyatorundan istifadə edə bilərsiniz.

Təchizat

SPIKE Prime mərkəzi

USB portu / bluetooth olan kompüter

Hub -u kompüterə bağlamaq üçün USB kabel

Addım 1: Terminal Emulatorunu götürün

Bir Terminal Emulatoru alın
Bir Terminal Emulatoru alın
Bir Terminal Emulatoru alın
Bir Terminal Emulatoru alın

Seçmək üçün bir çox variant var.

CoolTerm, Pi də daxil olmaqla, bütün platformalarda işləyir

Pəncərələrdə macun işləyir

unix əməliyyat sistemindəki Terminaldakı ekran əmri

Addım 2: SPIKE Prime -ı USB Portuna qoşun

USB portuna SPIKE Prime -ı qoşun
USB portuna SPIKE Prime -ı qoşun
USB portuna SPIKE Prime qoşun
USB portuna SPIKE Prime qoşun

SPIKE Prime -ı kompüterə bağlamaq üçün microUSB kabelindən istifadə edin.

Addım 3: Limanı tapın

Limanı tapın
Limanı tapın
Limanı tapın
Limanı tapın

SPIKE Prime mərkəzinin hansı seriyalı porta bağlı olduğunu bilməliyik.

Mac -da yazın

ls /dev/tty.usbmodem*

Bir kompüterdə, hansı seriyalı portları bağladığınızı görmək üçün cihaz menecerinə serialın altında baxın

Pi -də, ttyAMC0 kimi bir şey olacaq - /dev /qovluğunuza daxil olun

Addım 4: Bağlanın

Qoşulun
Qoşulun
Qoşulun
Qoşulun

115200 baud -da sağ porta (əvvəlki addımdan) qoşulun

Terminalda yazın

istifadəçi kompüteri $ screen / dev / 115200

Digər IDE -də, Aç/ qoş düyməsini vurun (portları və baudratları qurduqdan sonra)

Qeyd: paritet yoxdur, 8 məlumat biti və 1 dayanma biti

Addım 5: REPL -ə başlayın

REPL -in işə salınması
REPL -in işə salınması
REPL -in işə salınması
REPL -in işə salınması
REPL -in işə salınması
REPL -in işə salınması

SPIKE Prime -ə terminaldan/ PUTTY -dən qoşulduqda rəqəm və simvol axını görəcəksiniz. Bunlar SPIKE Prime mərkəzinin daxili sensorlarından gələn məlumatlardır. Başlamaq üçün nəzarət + c düyməsini basın

Serial portu kəsəcək və buna bənzər bir şey görməlisiniz.

2019-09-25 tarixlərində MicroPython v1.9.4-1146-gca9944357; Ətraflı məlumat üçün STM32F413xx "help ()" tipli LEGO Technic Large Hub.

İndi kod yazmağa hazırsınız.

Addım 6: İlk Kodunuz

İlk Kodunuz
İlk Kodunuz

idxal mərkəzi

hub.display.show (‘Tufts’)

SPIKE Prime ilə danışmağa imkan verən bir python kitabxanasını çəkən "idxal" əmrinə diqqət yetirin. Hubdakı LED matrisində yazılmış Tufts görməlisiniz.

Addım 7: Adınızı göstərin

indi yazmağa çalışın

hub.display.show ('')

Qeyd edək ki, artıq yuxarıdakı qovluğu idxal etdiyiniz üçün artıq yaddaşdadır. Əks təqdirdə belə bir səhv alacaqsınız:

Traceback (sonuncu son zəng): Fayl "", sətir 1, inNameError: 'hub' adı müəyyən edilməyib

Addım 8: REPL istifadə edin

Python -un daha güclü xüsusiyyətlərindən biri, REPL -də kod yazmadan əvvəl hər hansı bir şeyi sınaya biləcəyinizdir (qiymətləndirmə çap döngəsini oxuyun).

Hər hansı bir python əmrini yerinə yetirəcək - aşağıda 2 + 2 yazmağa çalışın və nə yazdığını görün:

2+2

Addım 9: SPIKE Prime -də MicroPython -u araşdırın

İndi araşdırmaq vaxtıdır.

hub bir çox funksiyaya malikdir - bunu yalnız "hub" yazaraq öyrənə bilərsiniz. (hubdan sonrakı dövrü unutmayın) və sonra REPL -də TAB düyməsini vurun. Bu, əmri tamamlamağın bütün fərqli yollarını göstərəcəkdir.

Çağırış: Sürətlənməni oxuya biləcəyinizə baxın.

Addım 10: Sensor dəyərlərinin oxunması… 1

Sürətləndirmə məlumatları bir sıra dəyərlər olaraq geri gəlir. yalnız X dəyərini istəyirsinizsə, cəhd edə bilərsiniz

hub.motion.accelerometer () [0]

və ya bunu kodlaşdırmağın daha yaxşı yolu bu kimi dəyişənlərdən istifadə etmək olardı:

idxal mərkəzi

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

Addım 11: Sensor dəyərlərini oxumaq… 2

Sensor dəyərlərinin oxunması… 2
Sensor dəyərlərinin oxunması… 2

Bir döngə istifadə edərək hər üç sürətlənməni də göstərə bilərsiniz.

Kitabxananı da idxal edəcəyik ki, fasilə edək və ekrandakı nömrəni oxumaq üçün vaxt verək.

Bu kodu sınayın:

idxal mərkəzi, utimeaccel = hub.motion.accelerometer () Acc üçün sürətlənir: hub.display.show (str (Acc)) utime.sleep (0.8)

Bu nöqtədə bir neçə şey vacib olur:

boşluqlar - Python hüququ girintiləşdirməklə əlaqədardır - digər dillərdəki mötərizələrə bənzər şəkildə, girinti for loopun içərisində nəyin olmadığını və nəyin olmadığını göstərir.

REPL -dən istifadə edərkən qeyd edəcəksiniz ki, indentasiya etdiyiniz zaman artıq xətti icra etmir, əksinə icra etməzdən əvvəl for döngəsinin sətirlərini bitirməyinizi gözləyir (və >>> ilə əvəz olunur …). For döngüsünü bitirmək üçün "return" düyməsini üç dəfə vurun və döngə icra olunacaq.

Addım 12: Çağırış

Sonra, aşağıdakı kodun nə etdiyini anlaya biləcəyinizə baxın - və düz etdiyinizi yoxlamaq üçün onu icra etməyə çalışın.

idxal mərkəzi, utime

isə True: accel = hub.motion.accelerometer () Acc üçün sürətlənir: hub.display.show (str (Acc)) utime.sleep (0.8) if hub.port. B.device.get (): break

İşarə -B portunda bir sensora ehtiyacınız var.

Tövsiyə: