Mundarija:

CircyPython Itybitsy M4 Express 1 bilan: O'rnatish: 9 qadam
CircyPython Itybitsy M4 Express 1 bilan: O'rnatish: 9 qadam

Video: CircyPython Itybitsy M4 Express 1 bilan: O'rnatish: 9 qadam

Video: CircyPython Itybitsy M4 Express 1 bilan: O'rnatish: 9 qadam
Video: ПОКАЗЫВАЙ И РАССКАЗЫвай 10.03.2021 #ПокажииРасскажи #adafruit #diy 2024, Noyabr
Anonim
CircyPython Itsybitsy M4 Express 1 bilan: O'rnatish
CircyPython Itsybitsy M4 Express 1 bilan: O'rnatish

Kodlashda yangi? Faqat Scratch ishlatilgan va LEDlar, kalitlar, displeylar va datchiklar yordamida jismoniy hisoblashga oson kirishni ta'minlaydigan matnli tilga o'tishni xohlaysizmi? Keyin bu siz uchun bo'lishi mumkin.

Men shuni payqadimki, bu saytda Arduino IDE yordamida Arduinos bilan kodlash bo'yicha ko'plab ko'rsatmalar mavjud, lekin Python haqida juda kam. Men 1968 yildan beri kodlashni o'rgataman. (O'shanda biz uni dasturlash deb ataganmiz va kiritish uchun Xollerit kartalari bilan FORTRAN IV dan foydalanganmiz!) O'sha kunlardan boshlab men talabalar bilan (11 yoshdan katta yoshgacha) LISP, Paskal va boshqa ko'plab tillarni ishlatardim. BASIC -ning turli xil versiyalari.

So'nggi paytlarda Buyuk Britaniyaning ko'plab maktablari Python -ni darslarida ishlata boshladilar, chunki o'quvchilar Scratch yoki matnli bayonlarga o'xshash "blokirovka" dan o'tishni boshladilar. Python, ehtimol Arduino IDE -ni ishlatishdan ko'ra osonroq qadamdir. CircuitPython kodini faqat USB -disk kabi ishlab chiqish kartasiga saqlash orqali bajarish mumkin. Men nabiramning boshlang'ich maktab kodlash klubida 8 yoshdan 11 yoshgacha bo'lgan bolalar bilan jismoniy hisoblash uchun Python dasturidan muvaffaqiyatli foydalanganman.

Men quyidagi sabablarga ko'ra Adafruit's Itsybitsy M4 Express -dan ushbu ko'rsatmalarni ishlatishga qaror qildim:

  • Arzon - 15 dollardan kam (15 funt)
  • CircuitPython bilan sozlash va dasturlash oson (Pythonning yangi versiyasi kodlash uchun ideal)
  • Raqamli kirish/chiqish pinlari - Blinkies bilan o'ynash juda qiziqarli
  • Analog pinlar - 12 bitli ADC va DAC - yuqori aniqlik
  • Qizil LED va RGB DotStar LEDlari o'rnatilgan
  • Neopixellarni to'g'ridan -to'g'ri boshqaradi
  • I2C va SPI qo'llab -quvvatlanadi - sensorlar va displeylar uchun
  • Keng kutubxonada haydovchilarning keng tanlovi
  • Tez va kuchli - 120 MGts chastotada ishlaydigan juda tez ATSAMD51 Cortex M4 protsessori
  • Ko'p xotira - CircuitPython kodi yoki ma'lumotlar fayllari uchun 2 MB SPI Flash xotira
  • Adafruit -dan to'liq qo'llab -quvvatlash, to'liq hujjatlar, qo'llanmalar va Internet -yordam forumi
  • Faqat eski noutbuk yoki kompyuter kerak - maxsus monitor, klaviatura, quvvat manbai yoki sichqoncha yo'q.
  • Foydalanuvchi Python bilan tajriba orttirgandan so'ng, xuddi shu taxtada Arduino IDE -ga o'tishi mumkin.

Bu birinchi ko'rsatma sizning taxtangizni qanday o'rnatishni va birinchi skriptlaringizni ishga tushirishni tushuntiradi.

1 -qadam: Boshlash uchun nima kerak

Boshlash uchun nima kerak
Boshlash uchun nima kerak

Uskuna:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • microUSB kabeli
  • Kompyuter - eski noutbuk qiladi
  • Lehimlash temir
  • Lehim
  • Non paneli
  • Ayol sarlavhasi (ixtiyoriy)

Dasturiy ta'minot:

Mu muharriri

Mu muharririni https://codewith.mu saytidan yuklab oling

Uni kompyuteringizga o'rnating. Saytdagi to'liq ko'rsatmalar bilan juda oson.

2 -qadam: CircuitPython o'rnatilganligini tekshiring

CircuitPython o'rnatilganligini tekshiring
CircuitPython o'rnatilganligini tekshiring

Kompyuteringizda File Explorer -ni oching.

USB kabelining kichik uchini Itsybitsy ulagichiga ulang.

Kabelning ikkinchi uchini kompyuterning USB portiga ulang.

Siz CIRCUITPY deb nomlangan yangi diskni ko'rishingiz kerak. (Agar yo'q bo'lsa, UPDATE sahifasiga o'ting.)

Boot_out -ni ikki marta bosing va siz shunday xabarni ko'rasiz:

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

Bu shuni ko'rsatadiki, sizda CircuitPython -ning eski versiyasi mavjud, chunki biz hozirda 4 -versiyadamiz. Bu hozircha yaxshi bo'ladi, biz keyinroq versiyani yangilaymiz. Adafruit tez -tez CircuitPython -ni yaxshilaydi va yangilanishlarni e'lon qiladi. Ushbu yangilanishlarni o'rnatish juda oson.

Hujjatlar papkasiga o'ting va uning ichida Code-with-Mu nomli yangi papka yarating.

Mu muharririni ishga tushiring

3 -qadam: Birinchi dastur uchun Mu muharriridan foydalanish

Birinchi dastur uchun Mu muharriridan foydalanish
Birinchi dastur uchun Mu muharriridan foydalanish

Tahririyatning yuqori qismidagi Seriya belgisini bosing. Bu ekranning pastki qismidagi REPL oynasini ochishi kerak. Pastki chap burchakda Adafruit yozilishi kerak. Mu, CircuitPython platasi kompyuterga ulanganini tan oldi.

Endi biz birinchi dastur yoki skriptni yozishimiz mumkin. Yuqori oynada sichqonchani bosing va kiriting:

chop etish ("Salom, dunyo!")

Saqlash belgisini bosing. CIRCUITPY diskini tanlang. Sarlavha maydoniga main.py kiriting va Saqlash tugmasini bosing.

Bu katta foyda keltiradi. Sizning skriptingiz Itsybitsy -da "main.py" nomi bilan saqlanadi. Bu nomga ega bo'lgan har qanday fayl darhol taxtada bajariladi. Chop etish bayonnomasining natijasi pastki, REPL oynasida paydo bo'ladi.

Dastur qatorini quyidagicha tahrirlang:

chop eting ("\ nSalom, koder!") va Saqlash belgisini bosing.

Bir nechta shunga o'xshash bosma bayonotlarni qo'shib ko'ring va yangi kodingizni ishga tushiring.

Stsenariyni yuklashda Itsybitsey -ni tomosha qiling. Miltillovchi yashil DotStar qizil rangga o'tadi, skript saqlanadi va Yashilga qaytadi.

Keling, nima bo'lishini ko'rish uchun xato qilaylik. Oxirgi tirnoq belgisini o'chirib tashlang va skriptni qayta ishga tushiring. Tahrirchi xatoni, chiqishda esa xato turini ko'rsatadi - sintaksis - va qator raqami - bu xatoni tuzatishga yordam beradi. DotStar rangni o'zgartirish orqali nosozlikni ko'rsatadi. Bu haqda keyingi bo'limda batafsilroq.

Xatoni tuzating va skriptni qayta ishga tushiring.

Endi biz skriptimizni xavfsiz joyda saqlashimiz kerak, shunda biz undan keyin foydalanishimiz mumkin.

Skript ustidagi yorliqni ikki marta bosing. Hujjatlaringizga Code-with-Mu jildiga o'ting va skriptni u erda foydali fayl nomi bilan saqlang, masalan FirstProg.py. E'tibor bering, muharrirning pastki qismida fayl nomi va yo'li yonib turadi.

4 -qadam: Sizning ikkinchi skriptingiz - Blink

Sizning ikkinchi skriptingiz - Blink
Sizning ikkinchi skriptingiz - Blink

Skriptni kiriting, uni main.py sifatida CIRCUITPY -ga saqlang va oldingi main.py -ni almashtirish uchun Ha -ni bosing.

(ItsyBitsy -ga saqlashda har doim skript uchun main.py fayl nomidan foydalaning. CircuitPython darhol yangi skriptni ishga tushiradi.)

Skript nima qiladi:

  • Bortdagi pin nomlari uchun kutubxonalarni, kechikishlar va raqamli pinlarni nazorat qilish vaqtini import qiladi,
  • Qizil LED bortidagi kuchlanishlarni chiqarish uchun 13 -pinni o'rnatadi
  • LEDni yoqish va o'chirish uchun cheksiz pastadir ishlaydi
  • LED yonib -o'chib turishi uchun qisqa kechikishlar kutiladi.

Skriptda nima bo'layotganini tushuntirish uchun ko'plab sharhlar mavjud. Fikrlar "#" belgisi bilan boshlanadi. Ular sizning fikrlash vaqtingizni eslatish uchun odamlarga mo'ljallangan. Yaxshi skriptlar ko'p sharhlarga ega.

  1. Sleep () iboralaridagi qiymatlarni o'zgartirishga harakat qiling.
  2. LEDni o'chirilganidan ikki barobar ko'proq yoqing.
  3. Agar kechikishlar juda qisqa bo'lsa nima bo'ladi? (0,001 soniya)

Skriptingiz ustidagi yorliqni ikki marta bosing va Blink.py nomi bilan Code-with-Mu papkasida saqlang.

5 -qadam: CircuitPython versiyasini yangilang

CircuitPython versiyasini yangilash
CircuitPython versiyasini yangilash

Internetdagi https://circuitpython.org/downloads manziliga o'ting. Itsybitsy M4 Express rasmini bosing (M0 versiyasi emas).

UF2 faylini yuklab olish uchun binafsha rangli tugmani bosing.

File Explorer -ni ishga tushiring va. UF2 faylini toping

Itsybitsy M4 Express -ni USB portiga ulang va uning drayverini toping - CIRCUITPY

Qayta tiklash tugmachasini ikki marta bosing va fayl nomi CIRCUITPY -dan ITSYM4BOOT -ga o'zgarishi kerak. Siz tezda ikki marta bosishingiz kerak.

UF2 faylini torting va ITSYM4BOOT diskiga qo'ying. UF2 fayli IBM4 kartasiga ko'chiriladi va disk nomi CIRCUITPY ga qaytadi.

CIRCUITPY diskini tanlang va boot_out faylini ikki marta bosing.

Yangilanganligini tekshirish uchun siz yangi versiya raqamini o'qishingiz mumkin.

CIRCUITPY diskida lib deb nomlangan yangi papka yarating. Sensor va displeylar uchun haydovchilarni ushlab turish uchun bizga keyingi ko'rsatmalarda kerak bo'ladi.

Mu muharririni qayta ishga tushiring. IBM4 -dan main.py faylini yuklang va uni IBM4 -ga saqlang. Qizil LED yonib -o'chib turishi kerak.

Qayta tiklash tugmachasini bir marta bossangiz, u yuklangan main.py skriptini qayta ishga tushiradi.

6 -qadam: REPL

REPL
REPL

Tahririyatning pastki qismidagi Seriya belgisi bilan yoqilgan va o'chirilgan oyna shunchaki bosma oynadan ko'ra ko'proq.

"O'qish-baholash-chop etish tsikli (REPL), shuningdek interaktiv yuqori darajali yoki til qobig'i deb ham ataladi, bu oddiy foydalanuvchi interaktiv dasturlash muhiti bo'lib, u bitta foydalanuvchi kirishini (ya'ni bitta ifodani) oladi, ularni baholaydi va natijani qaytaradi. foydalanuvchiga; REPL muhitida yozilgan dastur qismlarga bo'linadi. " (Google)

Asosan, agar siz REPLga bitta python bayonotini yozsangiz, uni birdaniga bajaradi. Keling, buni sinab ko'raylik.

REPL oynasida sichqonchani bosing.

Skriptni ishga tushirayotganda kalitni ushlab turing va (CTRL-C) ni bosing. Bu sizning skriptingizni to'xtatadi.

REPL -ga kirish uchun istalgan tugmani bosing va ">>>" so'rovi paydo bo'ladi.

chop eting (4 + 100)

Tez orada 104 -javob keladi

Rasmga qarang va bir nechtasini o'zingiz sinab ko'ring. (+, -, *, /, // va %ni sinab ko'ring)

Buni sinab ko'ring:

>> import kartasi

>> dir (taxta)

['_ sinf _', '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 kartasida mavjud bo'lgan pin nomlari ro'yxati

Yumshoq qayta ishga tushirish bilan normal holatga qaytish uchun CTRL-D yozing va main.py restarts.

Kengashni uzish

Kompyuterni uzishdan oldin har doim CIRCUITPY diskini chiqarib oling. Hech qachon ma'lumotlarni uzatayotganda uni tortib olmang.

7 -qadam: oyoqlarini kiyish

Oyoqlarni kiyish
Oyoqlarni kiyish
Oyoqlarni kiyish
Oyoqlarni kiyish

Erkaklar sarlavhalari taxtaga juda uzun, shuning uchun ulardan 2 tasini to'g'ri uzunlikka kesib oling.

Ularni non taxtasiga suring, ustiga IBM4 -ni joylashtiring va lehimlang. Kengash to'g'ri ko'tarilganligiga ishonch hosil qiling! (Chip tepada)

Erkaklar sarlavhalarini tepaga qo'ymang. Men barcha pimlardan foydalanishim uchun tepada 5 ta ayol sarlavhadan foydalanaman. Sarlavha chizig'ini kesilgan joyga yaqin, mahkam ushlab turish uchun vitse -dan foydalaning. Teshikning o'rtasini kesish uchun o'tkir arra bilan ishlating - siz kesganingizda guruch ulagichi chiqib ketadi. To'g'ri ishlov berish uchun kesilgan qirrani joylashtiring - yiv yo'q.

Pimlarni lehimlash qiyin emas. Arduino va elektronika kurslariga qarang, agar siz ilgari lehimlantiruvchi temir ishlatmagan bo'lsangiz. Lehimlash qobiliyati shundaki, siz o'zingizning loyihalaringizning lentali taxtasida uzoq muddatli versiyalarini aniq qilib, keyin non taxtasini qayta ishlatishingiz mumkin.

Kengashning haddan tashqari qizib ketishiga yo'l qo'ymaslik uchun sizga bir tomondan, keyin ikkinchi tomondan lehimlamaslikni maslahat beraman. Bo'shliqlarni qoldiring va keyinroq to'ldiring. ya'ni pinlar 10, RX, 2, A3, RS, BAT, 9, MI ……

8 -qadam: CircuitPython RGB holat nuri - xatolarni topishga yordam berish uchun

CircuitPython RGB holat nuri - xatolarni topishga yordam berish uchun
CircuitPython RGB holat nuri - xatolarni topishga yordam berish uchun

ItsyBitsy M4 Express va boshqa ko'plab M0 va M4 platalarida bitta NeoPixel yoki DotStar RGB LED mavjud bo'lib, ular CircuitPython holatini ko'rsatadi. Bu erda (C) va pin A0 o'rtasida.

Ranglar va miltillash nimani anglatadi:

  • barqaror Yashil: code.py (yoki code.txt, main.py yoki main.txt) ishlayapti
  • Yashil: kod.py (va hokazo) tugadi yoki yo'q
  • ishga tushganda barqaror SARI: (4.0.0-alfa.5 va undan yangisi) CircuitPython xavfsiz rejimda ishga tushishi kerakligini ko'rsatish uchun tiklashni kutmoqda.
  • SARI: "Python" sxemasi xavfsiz rejimda: u qulab tushdi va qaytadan ishga tushdi
  • barqaror oq: REPL ishlayapti
  • barqaror KO'K: boot.py ishlayapti

Quyida bir nechta yonib turadigan ranglar Python istisnosini va keyin xatoning satr raqamini bildiradi. Birinchi chirog'ning rangi xato turini ko'rsatadi:

  • Yashil: Chiziq xatosi
  • CYAN: Sintaksis xatosi
  • Oq: NameError
  • ORANGE: OSError
  • PURPLE: ValueError
  • SARI: boshqa xato

Bulardan keyin chiziq raqami, shu jumladan joy qiymati ko'rsatiladi. Oq chaqnoqlar - minglab, KO'Z - yuzlar, SARI - o'nlar, CYAN - birovning o'rni. Shunday qilib, masalan, 32 -qatordagi xato, SARI uch marta, keyin CYAN ikki marta yonadi. Nollar qorong'u bo'shliq bilan ko'rsatiladi.

Bularni sanash juda qiyin. Har doim skriptni ishlab chiqishda REPL oynasini oching va u erda ingliz tilida xato xabarlar paydo bo'ladi.

9 -qadam: Oldinga qarab - sizga

Oldinga qarab - sizga
Oldinga qarab - sizga

Men bu ko'rsatmalarni ishga tushirganimda, bu CircuitPython va jismoniy hisoblarni o'rganadigan birinchi seriya bo'lishini kutgandim. Keyingi rejam - asosiy kirish va chiqishni arifmetika, LEDlar, kalitlar, potansiometrlar va kiritish hisoblari bilan qamrab olish. Shuningdek, u pastadir usullari va ro'yxatlarini (massivlarini) qamrab oladi.

Yozishdan oldin, men uni tomoshabinlarga moslashtirish uchun fikr -mulohazalarni so'rayman.

Men bilmoqchi bo'lgan narsalarning turlari:

  • Tezlik yaxshimi?
  • Tafsilotlar juda ko'pmi, juda ozmi yoki to'g'rimi?
  • Bir nechta amaliy mashqlarni xohlaysizmi?

Sizga.

Tavsiya: