Isi kandungan:

CircuitPython Dengan Itsybitsy M4 Express 1: Persediaan: 9 Langkah
CircuitPython Dengan Itsybitsy M4 Express 1: Persediaan: 9 Langkah

Video: CircuitPython Dengan Itsybitsy M4 Express 1: Persediaan: 9 Langkah

Video: CircuitPython Dengan Itsybitsy M4 Express 1: Persediaan: 9 Langkah
Video: Getting Started with CircuitPython - Hosted by Dan 2024, November
Anonim
CircuitPython Dengan Itsybitsy M4 Express 1: Persediaan
CircuitPython Dengan Itsybitsy M4 Express 1: Persediaan

Baru dalam pengekodan? Hanya Gores yang digunakan dan ingin beralih ke bahasa teks yang memberikan akses mudah ke Komputasi fizikal dengan LED, suis, paparan dan sensor? Ini mungkin untuk anda.

Saya perhatikan bahawa laman web ini mengandungi banyak Arahan tentang pengekodan dengan Arduino menggunakan Arduino IDE tetapi sangat sedikit mengenai Python. Saya telah mengajar pengekodan sejak tahun 1968. (Pada masa itu kami menyebutnya pengaturcaraan dan menggunakan FORTRAN IV dengan kad Hollerith untuk input!) Sejak awal saya menggunakan banyak bahasa dengan pelajar (11 tahun hingga dewasa) termasuk LISP, Pascal dan banyak lagi versi berbeza pada BASIC.

Baru-baru ini banyak sekolah di UK mula menggunakan Python dalam pelajaran mereka ketika murid-murid beralih dari pengekodan 'blok' dengan Scratch atau serupa dengan pernyataan teks. Python mungkin merupakan langkah yang lebih mudah daripada menggunakan Arduino IDE. Kod CircuitPython dapat dijalankan dengan hanya menyimpan kod tersebut ke papan pengembangan seolah-olah itu adalah pemacu USB. Saya telah berjaya menggunakan Python untuk Pengkomputeran Fizikal dengan kanak-kanak berumur 8 hingga 11 tahun di Coding Club sekolah rendah cucu saya.

Saya telah memutuskan untuk menggunakan Adafruit's Itsybitsy M4 Express untuk Instructables ini kerana sebab berikut:

  • Murah - di bawah $ 15 (£ 15)
  • Mudah diatur dan diprogramkan dengan CircuitPython (versi Python sesuai untuk mereka yang baru dalam pengekodan)
  • Pin Input / Output Digital - sangat menyeronokkan bermain dengan Blinkies
  • Pin analog - 12 bit ADC dan DAC - ketepatan tinggi
  • LED Merah dan RGB DotStar terbina dalam
  • Memandu Neopixels secara langsung
  • I2C dan SPI disokong - untuk sensor dan paparan
  • Pelbagai jenis pemandu di perpustakaan yang luas
  • Pantas dan berkuasa - pemproses ATSAMD51 Cortex M4 yang sangat pantas berjalan pada 120 MHz
  • Banyak memori - 2MB memori SPI Flash untuk kod CircuitPython atau fail data
  • Sokongan hebat dari Adafruit dengan dokumentasi lengkap, panduan dan Forum bantuan internet
  • Hanya memerlukan komputer riba atau komputer lama - tidak ada monitor, papan kekunci, bekalan kuasa atau tetikus khusus.
  • Pengguna boleh menukar ke Arduino IDE, di papan yang sama, setelah mereka berpengalaman dengan Python.

Instructable pertama ini menerangkan cara menyiapkan papan anda dan menjalankan skrip pertama anda.

Langkah 1: Apa yang Anda Perlu Mulakan

Apa yang Anda Perlu Mulakan
Apa yang Anda Perlu Mulakan

Perkakasan:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • kabel microUSB
  • Komputer - komputer riba lama akan berfungsi
  • Besi pematerian
  • Pateri
  • Papan roti
  • Jalur pengepala wanita (Pilihan)

Perisian:

Penyunting Mu

Muat turun penyunting Mu dari

Pasang pada komputer anda. Sangat mudah dengan arahan penuh di laman web ini.

Langkah 2: Pastikan CircuitPython Dipasang

Pastikan CircuitPython Dipasang
Pastikan CircuitPython Dipasang

Buka File Explorer di komputer anda.

Pasangkan hujung kecil kabel USB ke penyambung di Itsybitsy.

Pasangkan hujung kabel yang lain ke port USB di komputer anda.

Anda mesti melihat pemacu baru muncul yang disebut CIRCUITPY. (Jika tidak; kemudian pergi ke halaman KEMASKINI.)

Klik dua kali boot_out dan anda akan melihat mesej seperti ini:

Adafruit CircuitPython 3.1.1 pada 2018-11-02; Adafruit ItsyBitsy M4 Express dengan samd51g19

Ini menunjukkan bahawa anda mempunyai versi CircuitPython yang lebih lama seperti yang kami gunakan pada versi 4. Ini akan baik-baik saja buat masa ini, kami akan mengemas kini versi kemudian. Adafruit sering meningkatkan CircuitPython dan menerbitkan kemas kini. Kemas kini ini sangat mudah dipasang.

Arahkan ke folder dokumen anda dan buat folder baru yang disebut Code-with-Mu di dalamnya.

Mulakan Penyunting Mu

Langkah 3: Menggunakan Penyunting Mu untuk Program Pertama Anda

Menggunakan Penyunting Mu untuk Program Pertama Anda
Menggunakan Penyunting Mu untuk Program Pertama Anda

Klik ikon Serial di bahagian atas editor. Ini akan membuka tetingkap REPL di bahagian bawah skrin. Di sudut kiri bawah, tertera kata Adafruit. Mu telah menyedari bahawa papan CircuitPython telah disambungkan ke komputer.

Kita sekarang boleh menulis program atau skrip pertama kita. Klik tetikus di tetingkap atas dan taip:

cetak ("Helo, Dunia!")

Klik pada ikon Simpan. Pilih pemacu CIRCUITPY. Ketik main.py di kotak tajuk dan klik pada butang Simpan.

Ini sangat banyak. Skrip anda disimpan ke Itsybitsy anda dengan nama "main.py". Segala fail dengan nama ini segera dilaksanakan oleh dewan. Keluaran dari pernyataan cetak muncul di tetingkap REPL yang lebih rendah.

Edit baris program ke:

cetak ("\ nHalo, coder!") dan klik pada ikon Simpan.

Cuba tambahkan beberapa pernyataan cetak serupa dan jalankan kod baru anda.

Tonton Itsybitsey anda semasa anda memuat naik skrip. DotStar hijau yang berkelip menjadi MERAH sementara skrip disimpan dan kembali ke HIJAU.

Mari buat kesilapan untuk melihat apa yang berlaku. Cukup hapuskan watak petikan terakhir dan jalankan skrip sekali lagi. Editor menunjukkan ralat dan output menunjukkan jenis ralat - sintaks - dan nombor baris - untuk membantu anda membetulkan ralat. DotStar menunjukkan kesalahan dengan menukar warna. Lebih banyak mengenai perkara ini di bahagian kemudian.

Betulkan kesilapan dan jalankan skrip sekali lagi.

Kita sekarang perlu menyimpan skrip kita di tempat yang selamat supaya kita dapat menggunakannya kemudian.

Klik dua kali tab di atas skrip anda. Arahkan ke folder Code-with-Mu dokumen anda dan simpan skrip anda di sana dengan nama fail yang berguna seperti FirstProg.py. Perhatikan nama dan jalan fail dikedip di bahagian bawah editor.

Langkah 4: Skrip Kedua Anda - Berkedip

Skrip Kedua Anda - Berkedip
Skrip Kedua Anda - Berkedip

Ketik skrip, simpan ke CIRCUITPY sebagai main.py dan klik Ya untuk menggantikan main.py sebelumnya.

(Sentiasa gunakan nama fail main.py untuk skrip anda semasa menyimpan ke ItsyBitsy anda. CircuitPython kemudian segera menjalankan skrip baru.)

Apa yang dilakukan oleh skrip:

  • Mengimport perpustakaan untuk nama pin di papan tulis, masa untuk mengawal kelewatan dan kawalan pin digital,
  • Menetapkan pin 13 ke voltan keluaran ke LED merah di papan
  • Menjalankan gelung tanpa henti untuk menghidupkan dan mematikan LED
  • Menunggu kelewatan pendek sehingga LED berkelip.

Skrip mempunyai banyak komen untuk menjelaskan apa yang sedang berlaku. Komen bermula dengan watak '#'. Itu untuk kegunaan manusia untuk membantu mengingatkan anda akan pemikiran anda ketika itu. Skrip yang baik mempunyai banyak komen.

  1. Cuba ubah nilai dalam pernyataan sleep ().
  2. Biarkan LED menyala selama dua kali selama ia mati.
  3. Apa yang berlaku sekiranya kelewatan sangat singkat? (0.001 saat)

Klik dua kali tab di atas skrip anda dan simpan dengan nama Blink.py ke folder Code-with-Mu anda.

Langkah 5: Mengemas kini Versi CircuitPython Anda

Mengemas kini Versi CircuitPython Anda
Mengemas kini Versi CircuitPython Anda

Navigasi ke https://circuitpython.org/downloads di internet. Klik pada gambar Itsybitsy M4 Express (Bukan versi M0).

Klik pada butang ungu untuk memuat turun fail. UF2.

Mulakan File Explorer dan cari fail. UF2

Sambungkan Itsybitsy M4 Express anda ke port USB dan cari pemacu - CIRCUITPY

Klik dua kali butang reset kecil dan nama fail akan berubah menjadi ITSYM4BOOT dari CIRCUITPY. Anda perlu klik dua kali dengan cepat.

Seret fail UF2 dan lepaskan pada pemacu ITSYM4BOOT. Fail UF2 akan disalin ke papan IBM4 dan nama pemacu akan kembali ke CIRCUITPY.

Pilih pemacu CIRCUITPY dan klik dua kali fail boot_out.

Anda boleh membaca nombor versi baru untuk memastikan ia telah diperbaharui.

Buat folder baru pada pemacu CIRCUITPY yang disebut lib. Kami memerlukan ini dalam Instructables kemudian untuk memegang pemacu untuk sensor dan paparan.

Mulakan semula penyunting Mu. Muatkan fail main.py anda dari IBM4 dan simpan kembali ke IBM4. LED merah harus mula berkelip.

Sekiranya anda mengklik satu butang reset, ia akan memulakan semula skrip main.py yang dimuat.

Langkah 6: REPL

REPL
REPL

Tetingkap di bahagian bawah editor, dihidupkan dan dimatikan dengan ikon Serial, lebih daripada sekadar tetingkap cetak.

"Gelung baca-eval-cetak (REPL), juga disebut sebagai tingkat atas interaktif atau shell bahasa, adalah persekitaran pengaturcaraan komputer yang sederhana dan interaktif yang mengambil input pengguna tunggal (iaitu, ungkapan tunggal), menilai mereka, dan mengembalikan hasilnya kepada pengguna; program yang ditulis dalam lingkungan REPL dijalankan secara bertahap. " (Google)

Pada dasarnya, jika anda menulis satu penyataan python ke dalam REPL, ia akan melaksanakannya sekaligus. Mari mencubanya.

Klik tetikus anda di tetingkap REPL.

Semasa menjalankan skrip anda, tekan kekunci dan ketuk (CTRL-C). Ini menghentikan skrip anda.

Ketuk mana-mana kekunci untuk memasukkan REPL dan arahan '>>>' muncul.

taip dalam cetakan (4 + 100)

Segera kembali datang jawapannya 104

Lihat gambarnya dan cuba sebilangan anda sendiri. (Cuba +, -, *, /, // dan%)

Cuba ini:

>> papan import

>> dir (papan)

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

>>

Ini adalah senarai nama pin yang terdapat di papan IBM4

Untuk kembali normal dengan restart lembut ketik CTRL-D dan main.py restart.

Putuskan sambungan papan anda

Sentiasa keluarkan pemacu CIRCUITPY sebelum anda memutuskan sambungan dari komputer. Jangan sekali-kali mengeluarkannya semasa memindahkan data.

Langkah 7: Memakai Kaki

Memakai Kaki
Memakai Kaki
Memakai Kaki
Memakai Kaki

Header lelaki terlalu panjang untuk papan jadi jepit / potong 2 dari mereka ke panjang yang betul.

Masukkan mereka ke papan roti, letakkan IBM4 di atas dan pasangkan. Pastikan papan adalah cara yang betul! (Cip di atas)

Jangan meletakkan tajuk lelaki di bahagian atas. Saya menggunakan jalur 5 kepala wanita di bahagian atas sehingga saya dapat menggunakan semua pin. Gunakan naib untuk memegang jalur kepala dengan kuat, dekat dengan titik potong. Gunakan gergaji besi tajam untuk memotong bahagian tengah lubang - penyambung tembaga akan hilang semasa anda memotong. Failkan bahagian tepi untuk membuat kemasan yang kemas - tanpa alur..

Memateri pada pin tidak sukar. Lihat kursus Arduino dan Elektronik jika anda tidak pernah menggunakan solder sebelum ini. Mampu menyolder bermaksud anda dapat membuat versi lama projek anda dengan kemas di papan jalur dan kemudian menggunakan semula papan roti.

Untuk mengelakkan papan tidak terlalu panas, saya cadangkan anda tidak melekap di satu sisi dan kemudian ke sisi yang lain. Tinggalkan jurang dan isi kemudian. iaitu pin 10, RX, 2, A3, RS, BAT, 9, MI …… dll

Langkah 8: Lampu Status RGB CircuitPython - untuk Membantu Anda Mencari Kesalahan

Lampu Status CircuitPython RGB - untuk Membantu Anda Mencari Kesalahan
Lampu Status CircuitPython RGB - untuk Membantu Anda Mencari Kesalahan

ItsyBitsy M4 Express, dan banyak papan M0 dan M4 lain semuanya mempunyai LED NeoPixel atau DotStar RGB tunggal di papan yang menunjukkan status CircuitPython. Inilah antara (C) dan pin A0.

Inilah maksud warna dan berkelip:

  • stabil HIJAU: code.py (atau code.txt, main.py, atau main.txt) sedang berjalan
  • berdenyut HIJAU: code.py (dll) telah selesai atau tidak wujud
  • KUNING stabil semasa memulakan: (4.0.0-alpha.5 dan lebih baru) CircuitPython sedang menunggu tetapan semula untuk menunjukkan bahawa ia harus dimulakan dalam mod selamat
  • berdenyut KUNING: Circuit Python berada dalam mod selamat: ia terhempas dan dimulakan semula
  • PUTIH stabil: REPL sedang berjalan
  • BLUE stabil: boot.py sedang berjalan

Warna dengan banyak kilat berikut menunjukkan pengecualian Python dan kemudian menunjukkan nombor garis ralat. Warna denyar pertama menunjukkan jenis ralat:

  • HIJAU: Kesalahan Indentasi
  • CYAN: Ralat Sintaks
  • PUTIH: Ralat Name
  • ORANGE: Ralat OS
  • TUJUAN: Kesalahan Nilai
  • KUNING: kesalahan lain

Ini diikuti oleh kilatan yang menunjukkan nombor garis, termasuk nilai tempat. Kilatan PUTIH adalah tempat beribu-ribu, BIRU adalah tempat beratus-ratus, KUNING adalah tempat berpuluh-puluh, dan CYAN adalah tempat seseorang. Jadi, sebagai contoh, kesalahan pada baris 32 akan memancarkan KUNING tiga kali dan kemudian CYAN dua kali. Nol ditunjukkan oleh jurang gelap ekstra panjang.

Ini agak sukar untuk dikira. Sentiasa tetingkap REPL terbuka semasa mengembangkan skrip dan mesej kesalahan, dalam bahasa Inggeris, akan muncul di sana.

Langkah 9: Melihat ke Depan - Terhadap Anda

Melihat ke Depan - Terhadap Anda
Melihat ke Depan - Terhadap Anda

Semasa saya memulakan Instructable ini, saya menjangkakan ini adalah siri pertama yang menjelajah CircuitPython dan Physical Computing. Rancangan saya untuk seterusnya adalah merangkumi input dan output asas dengan aritmetik, LED, suis, potensiometer dan penyataan input. Ia juga akan merangkumi kaedah dan senarai gelung (array).

Sebelum saya menulisnya, saya meminta beberapa maklum balas, agar saya dapat menyesuaikannya dengan khalayak.

Perkara-perkara yang ingin saya ketahui adalah:

  • Adakah langkahnya OK?
  • Adakah perinciannya terlalu banyak, terlalu sedikit atau tepat?
  • Adakah anda ingin melakukan latihan?

Kepada anda.

Disyorkan: