Talaan ng mga Nilalaman:

CircuitPython Sa isang Itsybitsy M4 Express 1: Pag-setup: 9 Mga Hakbang
CircuitPython Sa isang Itsybitsy M4 Express 1: Pag-setup: 9 Mga Hakbang

Video: CircuitPython Sa isang Itsybitsy M4 Express 1: Pag-setup: 9 Mga Hakbang

Video: CircuitPython Sa isang Itsybitsy M4 Express 1: Pag-setup: 9 Mga Hakbang
Video: Top 10 Mistakes in Table Tennis 2024, Hulyo
Anonim
CircuitPython Sa isang Itsybitsy M4 Express 1: Pag-setup
CircuitPython Sa isang Itsybitsy M4 Express 1: Pag-setup

Bago sa pag-coding? Nagamit lamang na Scratch at nais na magpatuloy sa isang tekstuwal na wika na nagbibigay ng madaling pag-access sa Physical computing na may mga LED, switch, display at sensor? Pagkatapos ito ay maaaring para sa iyo.

Napansin ko na ang site na ito ay naglalaman ng maraming Mga Tagubilin tungkol sa pag-cod sa mga Arduino gamit ang Arduino IDE ngunit kakaunti ang tungkol sa Python. Nagtuturo ako ng pag-coding mula pa noong 1968. (Noon tinawag namin itong programa at ginamit ang FORTRAN IV na may mga kard na Hollerith para sa pag-input!) Mula noong mga unang araw na iyon ay gumamit ako ng maraming iba't ibang mga wika sa mga mag-aaral (11 taon hanggang sa may sapat na gulang) kasama ang LISP, Pascal at marami iba't ibang mga bersyon sa BASIC.

Kamakailan lamang maraming mga paaralan sa UK ang nagsimulang gumamit ng Python sa kanilang mga aralin habang ang mga mag-aaral ay lumipat mula sa 'block' coding na may Scratch o katulad ng mga pahayag sa teksto. Ang Python ay marahil isang mas madaling hakbang kaysa sa paggamit ng Arduino IDE. Ang CircuitPython code ay maaaring maipatupad sa pamamagitan ng simpleng pag-save ng code sa development board na para bang isang USB drive. Matagumpay kong nagamit ang Python para sa Physical Computing na may 8 hanggang 11 taong gulang sa pangunahing paaralan ng aking apong babae na Coding Club.

Napagpasyahan kong gamitin ang Itsybitsy M4 Express ng Adafruit para sa mga Instructionable na ito para sa mga sumusunod na kadahilanan:

  • Mura - sa ilalim ng $ 15 (£ 15)
  • Madaling i-set up at programa sa CircuitPython (isang bersyon ng perpektong Python para sa mga bago sa pag-coding)
  • Mga Digital Input / Output pin - mahusay na paglalaro sa mga Blinkies
  • Mga pin ng analog - 12 bit ADC at DAC - mataas na kawastuhan
  • Mga pulang LED at RGB DotStar LED na naka-built in
  • Direktang drives Neopixels
  • Sinuportahan ng I2C at SPI - para sa mga sensor at display
  • Malawak na hanay ng mga driver sa malawak na silid-aklatan
  • Mabilis at malakas - ultra mabilis na ATSAMD51 Cortex M4 processor na tumatakbo sa 120 MHz
  • Maraming memorya - 2MB ng memorya ng SPI Flash para sa CircuitPython code o mga file ng data
  • Mahusay na suporta mula sa Adafruit na may buong dokumento, mga gabay at isang forum ng tulong sa internet
  • Kailangan lamang ng isang lumang laptop o computer - walang nakalaang monitor, keyboard, power supply o mouse.
  • Maaaring mag-convert ang gumagamit sa Arduino IDE, sa parehong board, sa sandaling nakakuha sila ng karanasan sa Python.

Ipinapaliwanag ng unang Instructable na ito kung paano i-set up ang iyong board at patakbuhin ang iyong unang mga script.

Hakbang 1: Ano ang Kailangan Mong Magsimula

Ano ang Kailangan Mong Magsimula
Ano ang Kailangan Mong Magsimula

Hardware:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • microUSB cable
  • Computer - isang luma na laptop ang magagawa
  • Panghinang
  • Panghinang
  • Breadboard
  • Babae header strip (Opsyonal)

Software:

Mu Editor

I-download ang Mu editor mula sa

I-install ito sa iyong computer. Napakadali na may buong mga tagubilin sa site.

Hakbang 2: Suriin Na Naka-install ang CircuitPython

Suriin Na Na-install ang CircuitPython
Suriin Na Na-install ang CircuitPython

Buksan ang File Explorer sa iyong computer.

I-plug ang maliit na dulo ng USB cable sa konektor sa Itsybitsy.

I-plug ang kabilang dulo ng cable sa isang USB port sa iyong computer.

Dapat mong makita ang isang bagong drive na lilitaw na tinatawag na CIRCUITPY. (Kung hindi; pagkatapos ay magpatuloy sa pahina ng I-UPDATE.)

I-double click ang boot_out at dapat mong makita ang isang mensahe tulad nito:

Adafruit CircuitPython 3.1.1on 2018-11-02; Adafruit ItsyBitsy M4 Express na may samd51g19

Ipinapakita nito na mayroon kang mas matandang bersyon ng CircuitPython dahil kasalukuyan kaming nasa bersyon 4. Magiging OK ito sa ngayon, mai-update namin ang bersyon sa paglaon. Kadalasang pinapabuti ng adafruit ang CircuitPython at inilalathala ang mga pag-update. Napakadaling mai-install ang mga update na ito.

Mag-navigate sa iyong folder ng mga dokumento at lumikha ng isang bagong folder na tinatawag na Code-with-Mu sa loob nito.

Simulan ang Mu Editor

Hakbang 3: Paggamit ng Mu Editor para sa Iyong Unang Programa

Paggamit ng Mu Editor para sa Iyong Unang Programa
Paggamit ng Mu Editor para sa Iyong Unang Programa

I-click ang icon na Serial sa tuktok ng editor. Dapat nitong buksan ang window ng REPL sa ilalim ng screen. Sa ibabang kaliwang sulok dapat itong sabihin na Adafruit. Kinilala ni Mu na ang isang lupon ng CircuitPython ay nakakonekta sa computer.

Maaari na nating isulat ang aming unang programa o script. I-click ang mouse sa itaas na window at i-type sa:

i-print ("Hello, World!")

Mag-click sa I-save ang icon. Piliin ang CIRCUITPY drive. I-type ang main.py sa kahon ng pamagat at mag-click sa pindutang I-save.

Malaki ang nagagawa nito. Ang iyong script ay nai-save sa iyong Itsybitsy na may pangalang "main.py". Ang anumang file na may ganitong pangalan ay agad na naisagawa ng board. Ang output mula sa pahayag ng pag-print ay lilitaw sa mas mababang, window ng REPL.

I-edit ang linya ng programa sa:

i-print ("\ nHello, coder!") at mag-click sa I-save ang icon.

Subukang magdagdag ng ilang mga katulad na print statement at patakbuhin ang iyong bagong code.

Panoorin ang iyong Itsybitsey habang nag-a-upload ka ng isang script. Ang flashing green DotStar ay mapupula habang ang script ay nai-save at bumalik sa GREEN.

Gumawa ng isang error upang makita kung ano ang nangyayari. Tanggalin lamang ang pangwakas na character ng quote at muling patakbuhin ang script. Ipinapahiwatig ng editor ang error at isinasaad ng output ang uri ng error - syntax - at ang linya na numero - upang matulungan kang iwasto ang error. Ipinapahiwatig ng DotStar ang kasalanan sa pamamagitan ng pagbabago ng kulay. Dagdag pa tungkol dito sa isang susunod na seksyon.

Iwasto ang pagkakamali at muling patakbuhin ang script.

Kailangan namin ngayong i-save ang aming script sa isang lugar na ligtas upang magamit namin ito sa paglaon.

I-double click ang tab sa itaas ng iyong script. Mag-navigate sa iyong mga dokumento Code-with-Mu folder at i-save ang iyong script doon gamit ang isang kapaki-pakinabang na filename tulad ng FirstProg.py. Pansinin ang pangalan ng file at path na na-flash sa ilalim ng editor.

Hakbang 4: Ang iyong Pangalawang Script - Blink

Iyong Pangalawang Script - Blink
Iyong Pangalawang Script - Blink

I-type ang script, i-save ito sa CIRCUITPY bilang main.py at i-click ang Oo upang mapalitan ang dating main.py.

(Palaging gamitin ang filename main.py para sa iyong script kapag nagse-save sa iyong ItsyBitsy. CircuitPython pagkatapos ay agad na pinapatakbo ang bagong script.)

Ano ang ginagawa ng script:

  • Nag-import ng mga aklatan para sa mga pangalan ng pin sa board, oras upang makontrol ang mga pagkaantala at kontrol sa mga digital na pin,
  • Itinatakda ang pin 13 upang mag-output voltages sa on board na pulang LED
  • Nagpapatakbo ng isang walang katapusang loop upang buksan ang LED ON at OFF
  • Naghihintay para sa maikling pagkaantala upang ang LED blinks.

Ang script ay may maraming mga puna upang ipaliwanag kung ano ang nangyayari. Nagsisimula ang mga komento sa isang character na '#'. Ang mga ito ay para sa paggamit ng tao upang makatulong na ipaalala sa iyo ang iyong pag-iisip sa oras. Mahusay na mga script ay may maraming mga puna.

  1. Subukang baguhin ang mga halaga sa mga pahayag sa pagtulog ().
  2. Panatilihing naka-on ang LED nang dalawang beses hangga't naka-off ito.
  3. Ano ang mangyayari kung ang pagkaantala ay masyadong maikli? (0.001 segundo)

I-double click ang tab sa itaas ng iyong script at i-save gamit ang pangalang Blink.py sa iyong folder na Code-with-Mu.

Hakbang 5: Ina-update ang Iyong Bersyon ng CircuitPython

Ina-update ang Iyong Bersyon ng CircuitPython
Ina-update ang Iyong Bersyon ng CircuitPython

Mag-navigate sa https://circuitpython.org/downloads sa internet. Mag-click sa larawan ng Itsybitsy M4 Express (Hindi ang bersyon ng M0).

Mag-click sa lila button upang i-download ang. UF2 file.

Simulan ang File Explorer at hanapin ang. UF2 file

Ikonekta ang iyong Itsybitsy M4 Express sa USB port at hanapin ang drive nito - CIRCUITPY

I-double click ang maliit na pindutan ng pag-reset at dapat baguhin ang pangalan ng file sa ITSYM4BOOT mula sa CIRCUITPY. Kailangan mong mag-double click nang napakabilis.

I-drag ang UF2 file at i-drop ito sa ITSYM4BOOT drive. Ang UF2 file ay makopya sa board ng IBM4 at ang pangalan ng drive ay babalik sa CIRCUITPY.

Piliin ang CIRCUITPY drive at i-double click ang boot_out file.

Maaari mong basahin ang bagong numero ng bersyon upang suriin ito ay nai-update.

Gumawa ng isang bagong folder sa CIRCUITPY drive na tinatawag na lib. Kakailanganin namin ito sa ibang pagkakataon Instructables upang i-hold ang mga driver para sa mga sensor at display.

I-restart ang Mu editor. I-load ang iyong main.py file mula sa IBM4 at i-save ito pabalik sa IBM4. Ang pulang LED ay dapat magsimulang kumurap.

Kung nag-iisa ka ng pag-click sa pindutan ng pag-reset muli itong i-restart ang na-load na main.py script.

Hakbang 6: Ang REPL

Ang REPL
Ang REPL

Ang window sa ilalim ng editor, naka-on at naka-off gamit ang icon na Serial, ay higit pa sa isang window ng pag-print.

"Ang read – eval – print loop (REPL), na tinawag ding interactive na top-level o wika shell, ay isang simple, interactive na computer programming environment na tumatagal ng mga solong input ng gumagamit (ibig sabihin, solong mga expression), sinusuri ang mga ito, at ibinabalik ang resulta sa gumagamit; isang program na nakasulat sa isang REPL na kapaligiran ay naisakatuparan nang magkatulad. " (Google)

Talaga, kung sumulat ka ng isang solong pahayag ng sawa sa REPL na ginagawa ito nang sabay-sabay. Subukan Natin.

I-click ang iyong mouse sa window ng REPL.

Habang pinapatakbo ang iyong script hawakan ang susi at i-tap ang (CTRL-C). Pinahinto nito ang iyong script.

I-tap ang anumang key upang ipasok ang REPL at lilitaw ang isang '>>>' prompt.

i-type ang print (4 + 100)

Agad na bumalik ang sagot 104

Tingnan ang larawan at subukan ang ilan sa iyo. (Subukan ang +, -, *, /, // at%)

Subukan mo ito:

>> import board

>> dir (board)

['_class_', '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']

>>

Ito ay isang listahan ng mga pangalan ng pin na magagamit sa board ng IBM4

Upang bumalik sa normal sa isang malambot na pag-restart i-type lamang ang CTRL-D at main.py restart.

Ididiskonekta ang iyong board

Palaging palabasin ang CIRCUITPY drive bago ka magdiskonekta mula sa computer. Huwag kailanman hilahin ito habang naglilipat ito ng data.

Hakbang 7: paglalagay sa mga binti

Paglalagay sa mga binti
Paglalagay sa mga binti
Paglalagay sa mga binti
Paglalagay sa mga binti

Ang mga lalaki na header ay masyadong mahaba para sa board kaya snap / gupitin ang 2 sa mga ito sa tamang haba.

Itulak ang mga ito sa isang breadboard, ilagay ang IBM4 sa itaas at solder ang mga ito. Tiyaking ang board ay ang tamang paraan up! (Chip sa itaas)

Huwag ilagay ang mga lalaking header sa tuktok. Gumagamit ako ng isang strip ng 5 mga babaeng header sa tuktok upang magamit ko ang lahat ng mga pin. Gumamit ng isang bisyo upang mahigpit na hawakan ang strip ng header, malapit sa cut point. Gumamit ng isang matalim na hacksaw upang putulin ang gitna ng isang butas - ang konektor ng tanso ay mahuhulog habang pinuputol mo. I-file ang cut edge upang makagawa ng maayos na pagtatapos - walang uka..

Ang paghihinang sa mga pin ay hindi mahirap. Tingnan ang mga kurso sa Arduino at Electronics kung hindi ka pa nakakagamit ng soldering iron dati. Ang kakayahang maghinang ay nangangahulugang maaari kang gumawa ng maayos ng mga pangmatagalang bersyon ng iyong mga proyekto sa strip board at pagkatapos ay muling gamitin ang breadboard.

Upang mapigilan ang board mula sa sobrang pag-init iminumungkahi ko na huwag kang maghinang sa isang tabi at pagkatapos ay itaas ang iba pa. Mag-iwan ng mga puwang at punan mamaya. ie pin 10, RX, 2, A3, RS, BAT, 9, MI …… atbp

Hakbang 8: Banayad na Katayuan ng CircuitPython RGB - upang Matulungan kang Makita ang Mga Mali

Liwanag ng Katayuan ng CircuitPython RGB - upang Matulungan kang Makita ang Mga Error
Liwanag ng Katayuan ng CircuitPython RGB - upang Matulungan kang Makita ang Mga Error

Ang ItsyBitsy M4 Express, at maraming iba pang mga board ng M0 at M4 lahat ay may isang solong NeoPixel o DotStar RGB LED sa board na nagpapahiwatig ng katayuan ng CircuitPython. Narito ito sa pagitan ng (C) at pin A0.

Narito kung ano ang ibig sabihin ng mga kulay at pagkurap:

  • matatag na GREEN: code.py (o code.txt, main.py, o main.txt) ay tumatakbo
  • pulsing GREEN: code.py (atbp.) ay natapos o wala
  • matatag na DILAW sa pagsisimula: (4.0.0-alpha.5 at mas bago) Ang CircuitPython ay naghihintay para sa isang pag-reset upang ipahiwatig na dapat itong magsimula sa ligtas na mode
  • pulsing YELLOW: Ang Circuit Python ay nasa ligtas na mode: bumagsak ito at nagsimulang muli
  • matatag na PUTI: Tumatakbo ang REPL
  • matatag na BLUE: tumatakbo ang boot.py

Ang mga kulay na may maraming mga flashing na sumusunod ay nagpapahiwatig ng isang pagbubukod ng Python at pagkatapos ay ipahiwatig ang numero ng linya ng error. Ang kulay ng unang flash ay nagpapahiwatig ng uri ng error:

  • GREEN: IndentationError
  • CYAN: SyntaxError
  • PUTI: NameError
  • ORANGE: OSError
  • PURPLE: ValueError
  • DILAW: ibang error

Sinusundan ito ng mga pag-flash na nagpapahiwatig ng numero ng linya, kasama ang halaga ng lugar. Ang mga puting flash ay libu-libong lugar, ang BLUE ang daan ng daan, ang DILAW ay sampung lugar, at ang CYAN ay isang lugar. Kaya, halimbawa, ang isang error sa linya 32 ay mag-flash ng DILAW ng tatlong beses at pagkatapos ay CYAN ng dalawang beses. Ang mga zero ay ipinahiwatig ng isang sobrang haba ng madilim na puwang.

Ito ay medyo mahirap bilangin. Palaging buksan ang window ng REPL kapag bumubuo ng isang script at ang mga mensahe ng error, sa English, lilitaw doon.

Hakbang 9: Naghahanap ng Pasulong - Sa Iyo

Naghahanap ng Pasulong - Sa Iyo
Naghahanap ng Pasulong - Sa Iyo

Kapag sinimulan ko ang Instructable na ito inaasahan kong ito ang magiging una sa isang serye na pagtuklas sa CircuitPython at Physical Computing. Ang aking plano para sa susunod ay upang masakop ang pangunahing input at output na may arithmetic, LEDs, switch, potentiometers at input statement. Saklaw din nito ang mga pamamaraan at listahan ng pag-loop (array).

Bago ko ito isulat ay humihiling ako ng ilang puna, upang maiayos ko ito sa madla.

Ang uri ng mga bagay na nais kong malaman ay:

  • OK ba ang takbo?
  • Ang detalye ba ay sobra, masyadong kaunti o tungkol sa tama?
  • Nais mo ba ng ilang pagsasanay sa pagsasanay?

Sa iyo.

Inirerekumendang: