Բովանդակություն:

CircuitPython With Itsybitsy M4 Express 1: Կարգավորում. 9 քայլ
CircuitPython With Itsybitsy M4 Express 1: Կարգավորում. 9 քայլ

Video: CircuitPython With Itsybitsy M4 Express 1: Կարգավորում. 9 քայլ

Video: CircuitPython With Itsybitsy M4 Express 1: Կարգավորում. 9 քայլ
Video: Itsy Bitsy Circuit Python - First Program 2024, Հուլիսի
Anonim
CircuitPython With Itsybitsy M4 Express 1: Կարգավորում
CircuitPython With Itsybitsy M4 Express 1: Կարգավորում

Նոր եք կոդավորման մեջ: Օգտագործու՞մ եք միայն Scratch և ցանկանում եք անցնել տեքստային լեզվին, որը թույլ է տալիս՞ հեշտ հասանելիություն ունենալ ֆիզիկական հաշվարկներին LED- ների, անջատիչների, ցուցադրիչների և տվիչների միջոցով: Ապա սա կարող է լինել ձեզ համար:

Ես նկատել եմ, որ այս կայքը պարունակում է բազմաթիվ հրահանգներ Arduino IDE- ի միջոցով Arduinos- ի հետ կոդավորելու վերաբերյալ, բայց շատ քիչ ՝ Python- ի մասին: Ես ծրագրավորում եմ դասավանդում 1968 թ. -ից: (Այն ժամանակ մենք այն անվանում էինք ծրագրավորում և մուտքագրման համար օգտագործում էինք FORTRAN IV- ը ՝ Հոլերիթի քարտերով): Այդ վաղ օրերից ես տարբեր լեզուներ եմ օգտագործել ուսանողների հետ (11 տարեկանից մինչև մեծահասակ), ներառյալ LISP, Pascal և շատերը: տարբեր տարբերակներ BASIC- ում:

Վերջերս Մեծ Բրիտանիայի շատ դպրոցներ սկսել են օգտագործել Python- ը իրենց դասերին, քանի որ աշակերտները շարժվում են Scratch- ով «արգելափակելու» կոդավորումից կամ նման են տեքստային հայտարարություններին: Python- ը, հավանաբար, ավելի հեշտ քայլ է, քան Arduino IDE- ի օգտագործումը: CircuitPython- ի կոդը կարող է կատարվել ՝ պարզապես ծածկագիրը պահպանելով զարգացման տախտակին, կարծես USB կրիչ լինի: Ես հաջողությամբ օգտագործել եմ Python- ը Ֆիզիկական հաշվողականության համար 8 -ից 11 տարեկան երեխաների հետ թոռնիկիս հիմնական դպրոցի կոդավորման ակումբում:

Ես որոշեցի օգտագործել Adafruit's Itsybitsy M4 Express- ը այս Հրահանգների համար հետևյալ պատճառներով.

  • Էժան - 15 դոլարից ցածր (15 £)
  • Հեշտ է ստեղծել և ծրագրել CircuitPython- ի միջոցով (Python- ի տարբերակ ՝ իդեալական կոդավորման համար նորեկների համար)
  • Թվային ներածման/ելքի կապում. Blinkies- ի հետ խաղալը շատ հաճելի է
  • Անալոգային կապում `12 բիթ ADC և DAC - բարձր ճշգրտություն
  • Ներկառուցված կարմիր LED և RGB DotStar LED- ներ
  • Անմիջապես քշում է Neopixels- ը
  • I2C և SPI աջակցությամբ `սենսորների և ցուցադրիչների համար
  • Վարորդների լայն տեսականի ընդարձակ գրադարանում
  • Արագ և հզոր - ծայրահեղ արագ ATSAMD51 Cortex M4 պրոցեսոր, որն աշխատում է 120 ՄՀց հաճախականությամբ
  • Շատ հիշողություն - 2 ՄԲ SPI ֆլեշ հիշողություն CircuitPython կոդի կամ տվյալների ֆայլերի համար
  • Մեծ աջակցություն Adafruit- ից ՝ ամբողջական փաստաթղթերով, ուղեցույցներով և ինտերնետային օգնության ֆորումով
  • Անհրաժեշտ է միայն հին նոութբուք կամ համակարգիչ `առանց հատուկ մոնիտորի, ստեղնաշարի, սնուցման սարքի կամ մկնիկի:
  • Օգտագործողը կարող է փոխակերպվել Arduino IDE- ի, նույն տախտակի վրա, երբ Python- ի հետ փորձ ձեռք կբերի:

Այս առաջին Instructable- ը բացատրում է, թե ինչպես ստեղծել ձեր տախտակը և գործարկել ձեր առաջին սցենարները:

Քայլ 1: Այն, ինչ ձեզ հարկավոր է սկսելու համար

Այն, ինչ ձեզ հարկավոր է սկսելու համար
Այն, ինչ ձեզ հարկավոր է սկսելու համար

Սարքավորումներ:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • microUSB մալուխ
  • Համակարգիչ - հին նոութբուքը կանի
  • Sոդման երկաթ
  • Sոդող
  • Breadboard
  • Գլխի վերնագրի կին (ըստ ցանկության)

Softwareրագրային ապահովում:

Mu Խմբագիր

Ներբեռնեք Mu խմբագիրը https://codewith.mu կայքից

Տեղադրեք այն ձեր համակարգչում: Շատ հեշտ է ՝ կայքում տեղադրված ամբողջական ցուցումներով:

Քայլ 2: Ստուգեք, որ CircuitPython- ը տեղադրված է

Ստուգեք, որ CircuitPython- ը տեղադրված է
Ստուգեք, որ CircuitPython- ը տեղադրված է

Բացեք File Explorer- ը ձեր համակարգչում:

Միացրեք USB մալուխի փոքր ծայրը Itsybitsy- ի միակցիչին:

Մալուխի մյուս ծայրը միացրեք ձեր համակարգչի USB պորտին:

Դուք պետք է տեսնեք, որ հայտնվում է նոր սկավառակ, որը կոչվում է CIRCUITPY: (Եթե ոչ; ապա անցեք ԹԱՐՄԱՆԵԼ էջ):

Կրկնակի սեղմեք boot_out և դուք պետք է տեսնեք այսպիսի հաղորդագրություն.

Adafruit CircuitPython 3.1.1 2018-11-02; Adafruit ItsyBitsy M4 Express samd51g19- ով

Սա ցույց է տալիս, որ դուք ունեք CircuitPython- ի հին տարբերակը, քանի որ մենք այժմ գտնվում ենք 4 -րդ տարբերակում: Սա առայժմ լավ կլինի, մենք ավելի ուշ կթարմացնենք տարբերակը: Adafruit- ը հաճախ բարելավում է CircuitPython- ը և հրապարակում թարմացումներ: Այս թարմացումները տեղադրելը շատ հեշտ է:

Գնացեք ձեր փաստաթղթերի թղթապանակ և դրա ներսում ստեղծեք նոր թղթապանակ `Code-with-Mu անունով:

Գործարկեք Mu խմբագիրը

Քայլ 3: Mu խմբագրիչի օգտագործումը ձեր առաջին ծրագրի համար

Օգտագործելով Mu խմբագիրը ձեր առաջին ծրագրի համար
Օգտագործելով Mu խմբագիրը ձեր առաջին ծրագրի համար

Կտտացրեք Սերիայի պատկերակին խմբագրի վերևում: Սա պետք է բացի REPL պատուհանը էկրանի ներքևում: Ներքևի ձախ անկյունում պետք է գրված լինի Adafruit: Մուն ճանաչեց, որ CircuitPython տախտակը միացված է համակարգչին:

Այժմ մենք կարող ենք գրել մեր առաջին ծրագիրը կամ սցենարը: Կտտացրեք մկնիկը վերին պատուհանում և մուտքագրեք.

տպել («Բարև, աշխարհ»)

Կտտացրեք Պահել պատկերակին: Ընտրեք CIRCUITPY սկավառակը: Վերնագրի դաշտում մուտքագրեք main.py և կտտացրեք Պահել կոճակին:

Սա մեծ գործ է անում: Ձեր սցենարը պահվում է ձեր Itsybitsy- ում ՝ «main.py» անունով: Այս անունով ցանկացած ֆայլ անմիջապես կատարվում է խորհրդի կողմից: Տպման հայտարարությունից ելքը հայտնվում է ստորին, REPL պատուհանում:

Edրագրի տողը խմբագրեք ՝

տպեք ("\ n Ողջույն, կոդավորիչ") և կտտացրեք Պահել պատկերակին:

Փորձեք ավելացնել մի քանի նմանատիպ տպագիր հայտարարություններ և գործարկեք ձեր նոր ծածկագիրը:

Դիտեք ձեր Itsybitsey- ը ՝ սցենար վերբեռնելիս: Greenրամեկուսացնող կանաչ DotStar- ը անցնում է ԿԱՐՄԻՐ, մինչ սցենարը պահվում է և վերադառնում Կանաչ:

Եկեք սխալ թույլ տանք ՝ տեսնելու, թե ինչ է տեղի ունենում: Պարզապես ջնջեք մեջբերման վերջին նիշը և նորից գործարկեք սցենարը: Խմբագիրը ցույց է տալիս սխալը, իսկ ելքը `սխալի տեսակը` շարահյուսությունը և տողի համարը, որը կօգնի ձեզ ուղղել սխալը: DotStar- ը ցույց է տալիս անսարքությունը `փոխելով գույնը: Այս մասին ավելի մանրամասն ՝ ավելի ուշ հատվածում:

Ուղղեք սխալը և նորից գործարկեք սցենարը:

Այժմ մենք պետք է պահենք մեր սցենարը անվտանգ վայրում, որպեսզի հետագայում կարողանանք օգտագործել այն:

Կրկնակի կտտացրեք ձեր սցենարի վերևի ներդիրին: Գնացեք դեպի ձեր փաստաթղթերի Code-with-Mu պանակը և այնտեղ պահեք ձեր սցենարը այնպիսի օգտակար ֆայլի անունով, ինչպիսին է FirstProg.py- ն: Ուշադրություն դարձրեք, որ ֆայլի անունը և ուղին շողշողված են խմբագրի ներքևում:

Քայլ 4: Ձեր երկրորդ սցենարը

Ձեր երկրորդ սցենարը
Ձեր երկրորդ սցենարը

Մուտքագրեք սցենարը, պահեք այն CIRCUITPY- ում որպես main.py և կտտացրեք Այո ՝ փոխարինելու համար նախորդ main.py- ն:

(Ձեր սցենարի համար միշտ օգտագործեք ֆայլի main.py անունը ձեր ItsyBitsy- ում պահելու ժամանակ: CircuitPython- ն անմիջապես գործարկում է նոր սցենարը):

Ինչ է անում սցենարը.

  • Գրադարաններ է ներմուծում գրատախտակին տեղադրված քորոցների անունների համար, ուշացումների և թվային կապերի վերահսկման ժամանակը,
  • Կարգավորում է կապում 13 -ը ՝ լարման կարմիր LED- ի լարման ելքի համար
  • Վազում է անվերջ հանգույց ՝ LED- ը միացնելու և անջատելու համար
  • Սպասում է կարճ ձգձգումների, որպեսզի LED- ը թարթվի:

Սցենարը բազմաթիվ մեկնաբանություններ ունի ՝ բացատրելու, թե ինչ է կատարվում: Մեկնաբանությունները սկսվում են «#» նիշով: Դրանք մարդկային օգտագործման համար են, որոնք կօգնեն ձեզ հիշեցնել այն ժամանակվա ձեր մտածելակերպը: Լավ սցենարները շատ մեկնաբանություններ ունեն:

  1. Փորձեք փոխել արժեքները sleep () հայտարարություններում:
  2. LED- ը միացրեք երկու անգամ, քանի դեռ այն անջատված է:
  3. Ի՞նչ կլինի, եթե ուշացումները շատ կարճ լինեն: (0,001 վայրկյան)

Կրկնակի կտտացրեք ձեր սցենարի վերևի ներդիրին և Blink.py անունով պահեք ձեր Code-with-Mu պանակում:

Քայլ 5: Թարմացրեք CircuitPython- ի ձեր տարբերակը

CircuitPython- ի ձեր տարբերակի թարմացում
CircuitPython- ի ձեր տարբերակի թարմացում

Գնացեք https://circuitpython.org/downloads ինտերնետում: Կտտացրեք Itsybitsy M4 Express- ի նկարի վրա (Ոչ M0 տարբերակը):

. UF2 ֆայլը ներբեռնելու համար կտտացրեք մանուշակագույն կոճակին:

Գործարկեք File Explorer- ը և գտեք. UF2 ֆայլը

Միացրեք ձեր Itsybitsy M4 Express- ը USB պորտին և գտեք դրա սկավառակը `CIRCUITPY

Կրկնակի սեղմեք փոքր վերականգնման կոճակը, և ֆայլի անունը պետք է փոխվի ITSYM4BOOT- ից CIRCUITPY- ից: Դուք պետք է բավականին արագ կրկնակի սեղմեք:

Քաշեք UF2 ֆայլը և թողեք այն ITSYM4BOOT սկավառակի վրա: UF2 ֆայլը պատճենվելու է IBM4 տախտակին, և սկավառակի անունը կվերադառնա CIRCUITPY:

Ընտրեք CIRCUITPY սկավառակը և կրկնակի սեղմեք boot_out ֆայլը:

Դուք կարող եք կարդալ նոր տարբերակի համարը `ստուգելու, որ այն թարմացվել է:

CIRCUITPY սկավառակի վրա ստեղծեք նոր թղթապանակ, որը կոչվում է lib: Մեզ դա անհրաժեշտ կլինի հետագա Instructables- ում ՝ սենսորների և դիսփլեյների վարորդներ պահելու համար:

Վերագործարկեք Mu խմբագրիչը: Բեռնեք ձեր main.py ֆայլը IBM4- ից և հետ պահեք այն IBM4- ում: Կարմիր LED- ը պետք է սկսի թարթել:

Եթե միայնակ սեղմեք վերակայման կոճակին, այն կվերագործարկի բեռնված main.py սցենարը:

Քայլ 6: REPL

REPL
REPL

Խմբագրի ներքևի պատուհանը, որը միացված և անջատված է Սերիայի պատկերակով, շատ ավելին է, քան պարզապես տպագիր պատուհան:

«Ընթերցման-գնահատման տպման օղակը (REPL), որը կոչվում է նաև ինտերակտիվ վերին մակարդակի կամ լեզվի պատյան, պարզ, ինտերակտիվ համակարգչային ծրագրավորման միջավայր է, որը վերցնում է մեկ օգտագործողի մուտքերը (այսինքն ՝ մեկ արտահայտություններ), գնահատում դրանք և վերադարձնում արդյունքը օգտվողին. REPL միջավայրում գրված ծրագիրը կատարվում է մաս -մաս »: (Google)

Հիմնականում, եթե դուք գրեք մեկ պիթոնի հայտարարություն REPL- ում, այն միանգամից կկատարվի: Եկեք փորձենք:

Սեղմեք մկնիկը REPL պատուհանում:

Ձեր սցենարը գործարկելիս պահեք բանալին և կտտացրեք (CTRL-C): Սա դադարեցնում է ձեր սցենարը:

REPL մուտքագրելու համար կտտացրեք ցանկացած ստեղնի, և հայտնվում է «>>>» հուշումը:

տպել տպագիր (4 + 100)

Անմիջապես ետ է գալիս պատասխանը 104

Նայեք նկարին և փորձեք ձեզանից մի քանիսը: (Փորձեք +, -, *, /, // և %)

Փորձեք այս:

>> ներմուծման տախտակ

>> դիր (տախտակ)

['_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']

>>

Սա IBM4 գրատախտակին առկա փին անունների ցանկն է

Փափուկ վերագործարկումով նորմալ վերադառնալու համար պարզապես մուտքագրեք CTRL-D և main.py վերագործարկումներ:

Անջատելով ձեր տախտակը

Միշտ դուրս հանեք CIRCUITPY սկավառակը համակարգչից անջատվելուց առաջ: Երբեք մի հանեք այն տվյալների փոխանցման ընթացքում:

Քայլ 7: Ոտքեր դնելը

Ոտքերի վրա դնելը
Ոտքերի վրա դնելը
Ոտքերի վրա դնելը
Ոտքերի վրա դնելը

Տղամարդու վերնագրերը չափազանց երկար են տախտակի համար, այնպես որ դրանցից 2 -ը սեղմեք/կտրեք ճիշտ երկարությամբ:

Մղեք դրանք տախտակի մեջ, տեղադրեք IBM4- ը վերևում և կպցրեք դրանք: Համոզվեք, որ տախտակը ճիշտ ճանապարհ է վերև: (Չիպը վերևում)

Տղամարդու վերնագրերը մի դրեք վերևում: Ես օգտագործում եմ 5 կին վերնագրերի ժապավեն վերևում, որպեսզի կարողանամ օգտագործել բոլոր կապումները: Օգտագործեք փոխնակ ՝ վերնագրի շերտը ամուր պահելու համար, կտրվածքի կետին մոտ: Փոսի կենտրոնը կտրելու համար օգտագործեք սուր կտրող սղոց: կտրելիս փողային միակցիչը դուրս կգա: Կատարեք կտրված եզրը `կոկիկ ավարտելու համար` առանց ակոսի:

Քորոցների վրա զոդելը դժվար չէ: Նայեք Arduino և Electronics դասընթացներին, եթե նախկինում երբեք չեք օգտագործել զոդման սարք: Եռակցել կարողանալը նշանակում է, որ դուք կարող եք կոկիկ պատրաստել ձեր նախագծերի երկարատև տարբերակները շերտաձև տախտակի վրա, այնուհետև նորից օգտագործել հացահատիկը:

Տախտակի գերտաքացումից խուսափելու համար ես առաջարկում եմ մի զոդել մի կողմից, այնուհետև մյուս կողմից: Թողեք բացեր և լրացրեք ավելի ուշ: այսինքն ՝ կապում 10, RX, 2, A3, RS, BAT, 9, MI …… և այլն

Քայլ 8. CircuitPython RGB կարգավիճակի լույս - օգնելու ձեզ գտնել սխալները

CircuitPython RGB կարգավիճակի լույս - օգնելու ձեզ գտնել սխալները
CircuitPython RGB կարգավիճակի լույս - օգնելու ձեզ գտնել սխալները

ItsyBitsy M4 Express- ը և շատ այլ M0 և M4 տախտակներ բոլորը տախտակին ունեն մեկ NeoPixel կամ DotStar RGB LED, որը ցույց է տալիս CircuitPython- ի կարգավիճակը: Այստեղ այն գտնվում է (C) և A0 կապի միջև:

Ահա թե ինչ են նշանակում գույներն ու թարթելը

  • կայուն Կանաչ. code.py (կամ code.txt, main.py կամ main.txt) աշխատում է
  • pulsing GREEN: code.py (և այլն) ավարտվել է կամ գոյություն չունի
  • կայուն YELLOW գործարկման ժամանակ. (4.0.0-alpha.5 և ավելի նոր) CircuitPython- ը սպասում է վերակայման ՝ նշելու, որ այն պետք է սկսի անվտանգ ռեժիմում
  • Yարկերակ ԴԵELLԻՆ. Circuit Python- ը գտնվում է անվտանգ ռեժիմում. այն վթարի է ենթարկվել և վերագործարկվել
  • կայուն Սպիտակ. REPL- ը գործում է
  • կայուն BLUE: boot.py- ն աշխատում է

Ստորև բերված բազմաթիվ բռնկումներով գույները ցույց են տալիս Python- ի բացառություն և այնուհետև նշում են սխալի գծի համարը: Առաջին բռնկման գույնը ցույց է տալիս սխալի տեսակը.

  • Կանաչ: IndentationError
  • ԿՅԱՆ. SyntaxError
  • ՍՊԻՏԱԿ: NameError
  • ՆԱՐANԱՆԱԿ. OSError
  • ՄՈURԹՅՈՆ ՝ ValueError
  • ԴԵELLԻՆ. Այլ սխալ

Դրանց հաջորդում են բռնկումներ `նշելով գծի համարը, ներառյալ տեղի արժեքը: Սպիտակ բռնկումները հազարավոր տեղեր են, ԿԱUEՈԹՅՈՆԸ ՝ հարյուրավոր, դեղինները ՝ տասնյակ, իսկ ԿՅԱՆԸ ՝ մեկի տեղը: Այսպիսով, օրինակ, 32 -րդ գծի սխալը երեք անգամ ԴԵELLԻՆ և երկու անգամ CYAN լուսարձակում կտա: Erրոները նշվում են չափազանց երկար մութ բացվածքով:

Սրանք բավականին դժվար է հաշվել: Սցենար մշակելիս միշտ բացեք REPL- ի պատուհանը, և այնտեղ հայտնվում են անգլերեն հաղորդագրության սխալի հաղորդագրությունները:

Քայլ 9. Ակնկալում առաջ - Ձեզ մոտ

Ակնկալում եմ առաջ - Ձեզ մոտ
Ակնկալում եմ առաջ - Ձեզ մոտ

Երբ գործարկեցի այս Instructable- ը, ես ակնկալում էի, որ դա կլինի CircuitPython- ի և Physical Computing- ի ուսումնասիրող շարքի առաջինը: Հաջորդի իմ ծրագիրն է հիմնական մուտքն ու ելքը ծածկել թվաբանությամբ, լուսադիոդներով, անջատիչներով, պոտենցիոմետրերով և մուտքային հայտարարություններով: Այն նաև կընդգրկի շրջադարձային մեթոդներ և ցուցակներ (զանգվածներ):

Այն գրելուց առաջ ես հետադարձ կապ եմ խնդրում, որպեսզի կարողանամ այն հարմարեցնել հանդիսատեսին:

Այնպիսի բաներ, որոնք ես կցանկանայի իմանալ, հետևյալն են.

  • Տեմպը լա՞վ է:
  • Արդյո՞ք մանրամասնությունը շատ է, շատ քիչ է կամ ճիշտ է:
  • Կցանկանայի՞ք որոշ վարժություններ:

Քեզ մոտ:

Խորհուրդ ենք տալիս: