Mündəricat:

Itsybitsy M4 Express 1 ilə CircuitPython: Quraşdırma: 9 addım
Itsybitsy M4 Express 1 ilə CircuitPython: Quraşdırma: 9 addım

Video: Itsybitsy M4 Express 1 ilə CircuitPython: Quraşdırma: 9 addım

Video: Itsybitsy M4 Express 1 ilə CircuitPython: Quraşdırma: 9 addım
Video: Running Arduino Blink Example on MacBook Pro with Itsy Bitsy M4 2024, Iyul
Anonim
Itsybitsy M4 Express 1 ilə CircuitPython: Quraşdırma
Itsybitsy M4 Express 1 ilə CircuitPython: Quraşdırma

Kodlaşdırmada yeni? Yalnız Scratch istifadə olunur və LEDlər, açarlar, displeylər və sensorlar ilə Fiziki hesablamaya asan giriş imkanı verən mətn dilinə keçmək istəyirsiniz? O zaman bu sizin üçün ola bilər.

Bu saytda Arduino IDE istifadə edərək Arduinos ilə kodlaşdırma haqqında bir çox Təlimatların olduğunu, ancaq Python haqqında çox az olduğunu gördüm. Mən 1968 -ci ildən kodlaşdırma fənnindən dərs deyirəm. (O vaxt biz buna proqramlaşdırma deyirdik və giriş üçün Hollerith kartları ilə FORTRAN IV istifadə edirdik!) O günlərdən bəri tələbələrlə (11 yaşdan böyüklərə qədər) LISP, Pascal və bir çoxları daxil olmaqla bir çox fərqli dillərdən istifadə etdim. BASIC -də fərqli versiyalar.

Son zamanlarda İngiltərədəki bir çox məktəb, şagirdləri Scratch və ya mətn ifadələrinə bənzər 'blokdan' kodlaşdırmağa keçdikləri üçün dərslərində Python istifadə etməyə başladılar. Python, Arduino IDE istifadə etməkdən daha asan bir addımdır. CircuitPython kodu, sadəcə bir USB sürücüsü kimi kodu inkişaf etdirmə lövhəsinə saxlayaraq icra edilə bilər. Python'u nəvəmin ibtidai məktəbi Kodlaşdırma Klubunda 8-11 yaş arası Fiziki Hesablama üçün uğurla istifadə etdim.

Aşağıdakı səbəblərə görə Adafruit's Itsybitsy M4 Express -dən istifadə etmək qərarına gəldim:

  • Ucuz - 15 dollardan (15 funt)
  • CircuitPython ilə qurmaq və proqramlaşdırmaq asandır (kodlaşdırmağı yeni öyrənənlər üçün ideal Python versiyası)
  • Rəqəmsal Giriş/Çıxış pinləri - Blinkies ilə oynamaq çox əyləncəlidir
  • Analog pinlər - 12 bit ADC və DAC - yüksək dəqiqlik
  • Daxili qırmızı LED və RGB DotStar LEDləri
  • Neopixelləri birbaşa idarə edir
  • I2C və SPI dəstəklənir - sensorlar və ekranlar üçün
  • Geniş kitabxanada sürücülərin geniş seçimi
  • Sürətli və güclü - 120 MHz -də işləyən ultra sürətli ATSAMD51 Cortex M4 prosessoru
  • Bol yaddaş - CircuitPython kodu və ya məlumat faylları üçün 2 MB SPI Flash yaddaş
  • Tam sənəd, bələdçi və internet yardım Forumu ilə Adafruit -dən böyük dəstək
  • Yalnız köhnə bir noutbuk və ya kompüterə ehtiyac var - xüsusi monitor, klaviatura, enerji təchizatı və ya siçan yoxdur.
  • İstifadəçi, Python ilə təcrübə qazandıqdan sonra eyni lövhədə Arduino IDE -yə çevrilə bilər.

Bu ilk Təlimat lövhənizi necə quracağınızı və ilk skriptlərinizi necə işlədiyinizi izah edir.

Addım 1: Başlamaq üçün nə lazımdır

Başlamaq üçün nə lazımdır
Başlamaq üçün nə lazımdır

Avadanlıq:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • microUSB kabeli
  • Kompüter - köhnə bir dizüstü kompüter edəcək
  • Lehimleme dəmir
  • Lehim
  • Çörək lövhəsi
  • Qadın başlıq zolağı (İsteğe bağlı)

Proqram təminatı:

Mu Redaktor

Https://codewith.mu saytından Mu redaktorunu yükləyin

Kompüterinizə quraşdırın. Saytdakı tam təlimatlarla çox asandır.

Addım 2: CircuitPythonun quraşdırıldığını yoxlayın

CircuitPythonun quraşdırıldığını yoxlayın
CircuitPythonun quraşdırıldığını yoxlayın

Kompüterinizdə Fayl Gəzgini açın.

USB kabelinin kiçik ucunu Itsybitsy konnektoruna bağlayın.

Kabelin digər ucunu kompüterinizin USB portuna qoşun.

CIRCUITPY adlı yeni bir sürücü görünməlidir. (Əks halda; Yeniləmə səhifəsinə keçin.)

Boot_out düyməsini iki dəfə vurun və belə bir mesaj görməli olursunuz:

Adafruit CircuitPython 3.1.1on 2018-11-02; Samda51g19 ilə Adafruit ItsyBitsy M4 Express

Bu, hal -hazırda 4 -cü versiyada olduğumuz üçün CircuitPython -un köhnə versiyasına sahib olduğunuzu göstərir. Bu, hələlik yaxşı olacaq, versiyanı daha sonra yeniləyəcəyik. Adafruit tez -tez CircuitPython -u təkmilləşdirir və yenilikləri dərc edir. Bu yeniləmələri quraşdırmaq çox asandır.

Sənədlər qovluğuna gedin və içərisində Code-with-Mu adlı yeni bir qovluq yaradın.

Mu Redaktorunu işə salın

Addım 3: İlk Proqramınız üçün Mu Redaktorundan istifadə edin

İlk Proqramınız üçün Mu Redaktorundan istifadə
İlk Proqramınız üçün Mu Redaktorundan istifadə

Redaktorun yuxarısındakı Serial simgesini vurun. Bu, ekranın altındakı REPL pəncərəsini açmalıdır. Sol alt küncdə Adafruit yazılmalıdır. Mu, CircuitPython lövhəsinin kompüterə qoşulduğunu tanıdı.

İndi ilk proqramımızı və ya ssenarimizi yaza bilərik. Üst pəncərədə siçanı vurun və daxil edin:

çap et ("Salam, Dünya!")

Saxla simgesini vurun. CIRCUITPY sürücüsünü seçin. Başlıq qutusuna main.py yazın və Saxla düyməsini basın.

Bu çox şey edir. Skriptiniz "main.py" adı ilə Itsybitsy -də saxlanılır. Bu adı olan hər hansı bir fayl dərhal idarə heyəti tərəfindən icra edilir. Çap ifadəsindən çıxan nəticə aşağı, REPL pəncərəsində görünür.

Proqram xəttini aşağıdakı kimi düzəldin:

çap edin ("\ nSalam, kodlayıcı!") və Saxla simgesini vurun.

Bir neçə oxşar çap ifadəsi əlavə etməyə çalışın və yeni kodunuzu işə salın.

Ssenari yükləyərkən Itsybitsey -ə baxın. Ssenari saxlanılır və YAŞIL -a qayıdarkən yanıb -sönən yaşıl DotStar QIRMIZI olur.

Nə baş verdiyini görmək üçün səhv edək. Yalnız son sitat xarakterini silin və skriptini yenidən işlədin. Redaktor xətanı, çıxışı isə səhvin növünü - sintaksisini və xətanın nömrəsini göstərir - xətanı düzəltməyə kömək edir. DotStar rəngi dəyişərək qüsuru göstərir. Bu barədə daha sonrakı hissədə.

Səhvi düzəldin və skriptini yenidən işlədin.

İndi skriptimizi təhlükəsiz yerdə saxlamalıyıq ki, sonra istifadə edə bilək.

Skriptinizin üstündəki nişanı iki dəfə vurun. Sənədlərinizə Code-with-Mu qovluğuna gedin və orada skriptinizi FirstProg.py kimi faydalı bir fayl adı ilə qeyd edin. Faylın adını və yolunun redaktorun altındakı işarəsinə diqqət yetirin.

Addım 4: İkinci Ssenariniz - Blink

İkinci Ssenariniz - Blink
İkinci Ssenariniz - Blink

Skript yazın, main.py olaraq CIRCUITPY -də qeyd edin və əvvəlki main.py -ni əvəz etmək üçün Bəli düyməsini basın.

(ItsyBitsy -yə saxlayarkən həmişə skriptiniz üçün main.py fayl adını istifadə edin. CircuitPython dərhal yeni skriptini işə salır.)

Ssenari nə edir:

  • Lövhədəki pin adları, gecikmələri və rəqəmsal sancaqlar nəzarətini idarə etmək üçün kitabxanalar gətirir,
  • Bortdakı qırmızı LED -də gərginlik çıxarmaq üçün pin 13 -ü təyin edin
  • LED -i açmaq və söndürmək üçün sonsuz bir döngə işləyir
  • Qısa gecikmələri gözləyir ki, LED yanıb sönsün.

Ssenaridə baş verənləri izah etmək üçün çoxlu şərhlər var. Şərhlər '#' işarəsi ilə başlayır. O zaman düşüncənizi xatırlatmaq üçün insan istifadəsi üçündür. Yaxşı ssenarilərin çoxlu şərhləri var.

  1. Yuxu () ifadələrindəki dəyərləri dəyişdirməyə çalışın.
  2. LED -i söndürüldükdən iki dəfə çox saxlayın.
  3. Gecikmələr çox qısa olarsa nə olar? (0.001 saniyə)

Skriptinizin üstündəki nişanı iki dəfə vurun və Blink.py adı ilə Code-with-Mu qovluğuna qeyd edin.

Addım 5: CircuitPython versiyasını yeniləyin

CircuitPython versiyasını yeniləyirik
CircuitPython versiyasını yeniləyirik

İnternetdəki https://circuitpython.org/downloads ünvanına gedin. Itsybitsy M4 Express (M0 versiyası deyil) şəklinə vurun.

UF2 faylını yükləmək üçün bənövşəyi düyməni basın.

File Explorer -ı işə salın və. UF2 faylını tapın

Itsybitsy M4 Express -inizi USB portuna qoşun və sürücüsünü CIRCUITPY tapın

Kiçik sıfırlama düyməsini iki dəfə vurun və fayl adı CIRCUITPY -dən ITSYM4BOOT olaraq dəyişməlidir. Çox tez iki dəfə vurmalısınız.

UF2 faylını sürükləyin və ITSYM4BOOT sürücüsünə buraxın. UF2 faylı IBM4 lövhəsinə kopyalanacaq və sürücü adı CIRCUITPY -ə qayıdacaq.

CIRCUITPY sürücüsünü seçin və boot_out faylını iki dəfə vurun.

Yeniləndiyini yoxlamaq üçün yeni versiya nömrəsini oxuya bilərsiniz.

CIRCUITPY sürücüsündə lib adlı yeni bir qovluq yaradın. Sensor və displey sürücülərini tutmaq üçün buna sonrakı Təlimatlarda ehtiyacımız olacaq.

Mu redaktorunu yenidən başladın. Main.py faylınızı IBM4 -dən yükləyin və yenidən IBM4 -də saxlayın. Qırmızı LED yanıb -sönməyə başlamalıdır.

Sıfırlama düyməsini bir dəfə tıklasanız, yüklənmiş main.py skriptini yenidən başlayacaq.

Addım 6: REPL

REPL
REPL

Redaktorun altındakı Serial nişanı ilə açılan və söndürülən pəncərə, sadəcə çap pəncərəsindən daha çox şeydir.

"İnteraktiv bir üst səviyyə və ya dil qabığı olaraq da adlandırılan bir oxu-qiymətləndir-çap döngəsi (REPL), tək istifadəçi girişlərini (yəni tək ifadələr) götürən, onları qiymətləndirən və nəticəni qaytaran sadə, interaktiv bir kompüter proqramlaşdırma mühitidir. istifadəçiyə; bir REPL mühitində yazılmış bir proqram hissə -hissə icra olunur. " (Google)

Əsasən, REPL -ə tək bir python ifadəsi yazsanız, bir anda yerinə yetirir. Bir cəhd edək.

REPL pəncərəsində siçanınızı vurun.

Skript işləyərkən düyməni basıb saxlayın (CTRL-C). Bu, ssenarinizi dayandırır.

REPL -ə daxil olmaq üçün hər hansı bir düyməyə vurun və '>>>' istəyi görünür.

çapda yazın (4 + 100)

Dərhal geri cavab 104 gəlir

Şəkilə baxın və özünüzdən bir neçəsini sınayın. (+, -, *, /, // və %cəhd edin)

Bunu sınayın:

>> idxal lövhəsi

>> dir (lövhə)

['_sınıf_', 'A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'APA102_MOSI', 'APA102_SCK', 'D0', 'D1', 'D10', ' D11 ',' D12 ',' D13 ',' D2 ',' D3 ',' D4 ',' D5 ',' D7 ',' D9 ',' I2C ',' MISO ',' MOSI ',' RX ', 'SCK', 'SCL', 'SDA', 'SPI', 'TX', 'UART']

>>

Bu, IBM4 lövhəsində mövcud olan pin adlarının siyahısıdır

Yumşaq bir yenidən başlatma ilə normala qayıtmaq üçün CTRL-D yazın və main.py yenidən başladın.

Lövhənizin bağlantısı kəsilir

Kompüterdən ayrılmadan əvvəl həmişə CIRCUITPY sürücüsünü çıxarın. Məlumat ötürülən zaman heç vaxt çıxarmayın.

Addım 7: Ayaqları taxmaq

Ayaqlara taxmaq
Ayaqlara taxmaq
Ayaqlara taxmaq
Ayaqlara taxmaq

Kişi başlıqları lövhə üçün çox uzundur, buna görə də 2 -ni düzgün uzunluğa bağlayın/kəsin.

Onları çörək taxtasına itələyin, IBM4 -ü üstünə qoyun və lehimləyin. Lövhənin yuxarı qalxdığından əmin olun! (Yuxarıdakı çip)

Kişi başlıqlarını yuxarıya qoymayın. Bütün sancaqları istifadə edə biləcəyim üçün yuxarıdan 5 qadın başlıqdan ibarət bir zolaq istifadə edirəm. Başlıq zolağını kəsmə nöqtəsinə yaxın şəkildə möhkəm tutmaq üçün bir köməkçi istifadə edin. Bir çuxurun ortasını kəsmək üçün kəskin bir testere istifadə edin - kəsdiyiniz zaman pirinç bağlayıcı çıxacaq. Səliqəli bir nəticə əldə etmək üçün kəsilmiş kənarı düzəldin - yiv yoxdur.

Sancaqlar üzərində lehimləmə çətin deyil. Daha əvvəl bir lehimləmə dəmiri istifadə etməmisinizsə Arduino və Elektronika kurslarına baxın. Lehimləmə qabiliyyəti, lövhədə layihələrinizin uzunmüddətli versiyalarını səliqəli edə biləcəyiniz və sonra çörək taxtasını yenidən istifadə edə biləcəyiniz deməkdir.

Lövhənin həddindən artıq istiləşməsinin qarşısını almaq üçün bir tərəfə, sonra digər tərəfə lehimləməməyi məsləhət görürəm. Boşluqları buraxın və sonra doldurun. sancaqlar 10, RX, 2, A3, RS, BAT, 9, MI …… və s

Addım 8: CircuitPython RGB Status Light - Səhvləri tapmağa kömək etmək üçün

CircuitPython RGB Status Light - Səhvləri tapmağınıza kömək etmək üçün
CircuitPython RGB Status Light - Səhvləri tapmağınıza kömək etmək üçün

ItsyBitsy M4 Express və bir çox digər M0 və M4 lövhələrində, CircuitPython vəziyyətini göstərən tək bir NeoPixel və ya DotStar RGB LED var. Burada (C) və pin A0 arasındadır.

Budur rənglərin və yanıb -sönmənin nə demək olduğu:

  • sabit GREEN: code.py (və ya code.txt, main.py və ya main.txt) işləyir
  • pulsing GREEN: code.py (və s.) bitdi və ya yoxdur
  • Başlanğıcda sabit SARI: (4.0.0-alfa.5 və daha yeni) CircuitPython təhlükəsiz rejimdə başlamalı olduğunu göstərmək üçün sıfırlama gözləyir.
  • SARI SARI: Dövrə Python təhlükəsiz rejimdədir: qəzaya uğramış və yenidən başlamışdır
  • sabit BEYAZ: REPL çalışır
  • sabit MAVİ: boot.py işləyir

Aşağıdakı çoxlu yanıb -sönən rənglər Python istisnasını göstərir və sonra xətanın sətir nömrəsini göstərir. İlk flaşın rəngi xətanın növünü göstərir:

  • YAŞIL: Girinti xətası
  • CYAN: Sintaksis xətası
  • BEYAZ: NameError
  • Narıncı: OSError
  • Bənövşəyi: ValueError
  • SARI: digər səhv

Bunların ardınca yerin dəyəri daxil olmaqla xətt nömrəsini göstərən flaşlar gəlir. BEYAZ flaşlar minlərlə, MAVİ yüzlərlə, SARI onlarca, CYAN isə bir yerdir. Beləliklə, məsələn, 32 -ci sətirdəki bir səhv üç dəfə SARI, sonra iki dəfə CYAN yanıb sönərdi. Sıfırlar əlavə uzun qaranlıq boşluqla göstərilir.

Bunları saymaq olduqca çətindir. Bir skript hazırlayarkən həmişə REPL pəncərəsini açın və İngilis dilində səhv mesajları görünəcək.

Addım 9: İrəli bax - Sənə

İrəli baxıram - Sənə
İrəli baxıram - Sənə

Bu Təlimatlandırmaya başladığımda, CircuitPython və Fiziki Hesablamaları araşdıran bir seriyanın ilk olacağını gözləyirdim. Növbəti planım, əsas giriş və çıxışları arifmetik, LEDlər, açarlar, potensiometrlər və giriş ifadələri ilə əhatə etməkdir. Bu da loop metodlarını və siyahıları (massivləri) əhatə edəcək.

Bunu yazmadan əvvəl tamaşaçılara uyğunlaşdırmaq üçün bir neçə rəy tələb edirəm.

Bilmək istədiyim şeylər bunlardır:

  • Sürət qaydasındadırmı?
  • Detal çoxmu, çox azdır, yoxsa haqlıdır?
  • Bəzi praktik məşqlər istərdinizmi?

Sənə.

Tövsiyə: