Mục lục:

CircuitPython Với Itsybitsy M4 Express 1: Thiết lập: 9 bước
CircuitPython Với Itsybitsy M4 Express 1: Thiết lập: 9 bước

Video: CircuitPython Với Itsybitsy M4 Express 1: Thiết lập: 9 bước

Video: CircuitPython Với Itsybitsy M4 Express 1: Thiết lập: 9 bước
Video: Chạy file MP3 với Raspberry Pi Pico và CircuitPython 2024, Tháng bảy
Anonim
CircuitPython Với Itsybitsy M4 Express 1: Thiết lập
CircuitPython Với Itsybitsy M4 Express 1: Thiết lập

Bạn mới sử dụng mã hóa? Chỉ sử dụng Scratch và muốn chuyển sang ngôn ngữ văn bản giúp dễ dàng truy cập vào Máy tính vật lý với đèn LED, công tắc, màn hình và cảm biến? Sau đó, điều này có thể dành cho bạn.

Tôi nhận thấy rằng trang web này chứa nhiều Tài liệu hướng dẫn về cách viết mã với Arduinos bằng Arduino IDE nhưng rất ít về Python. Tôi đã dạy viết mã từ năm 1968. (Hồi đó chúng tôi gọi nó là lập trình và sử dụng FORTRAN IV với thẻ Hollerith để nhập liệu!) Kể từ những ngày đầu tiên tôi đã sử dụng nhiều ngôn ngữ khác nhau với học sinh (11 tuổi đến người lớn) bao gồm LISP, Pascal và nhiều các phiên bản khác nhau trên BASIC.

Gần đây, nhiều trường học ở Vương quốc Anh đã bắt đầu sử dụng Python trong các bài học của họ khi học sinh chuyển từ mã hóa 'khối' bằng Scratch hoặc tương tự với các câu lệnh văn bản. Python có lẽ là một bước dễ dàng hơn so với việc sử dụng Arduino IDE. Mã CircuitPython có thể được thực thi đơn giản bằng cách lưu mã vào bảng phát triển như thể nó là một ổ USB. Tôi đã sử dụng thành công Python cho tính toán vật lý với các em từ 8 đến 11 tuổi trong Câu lạc bộ mã hóa trường tiểu học của cháu gái tôi.

Tôi đã quyết định sử dụng Itsybitsy M4 Express của Adafruit cho các Tài liệu hướng dẫn này vì những lý do sau:

  • Không đắt - dưới $ 15 (£ 15)
  • Dễ dàng thiết lập và lập trình với CircuitPython (một phiên bản Python lý tưởng cho những người mới viết mã)
  • Chân đầu vào / đầu ra kỹ thuật số - thật thú vị khi chơi với Blinkies
  • Chân tương tự - 12 bit ADC và DAC - độ chính xác cao
  • Đèn LED đỏ và đèn LED RGB DotStar tích hợp
  • Truyền trực tiếp Neopixels
  • I2C và SPI được hỗ trợ - cho cảm biến và màn hình
  • Nhiều trình điều khiển trong thư viện phong phú
  • Nhanh chóng và mạnh mẽ - bộ xử lý ATSAMD51 Cortex M4 cực nhanh chạy ở 120 MHz
  • Nhiều bộ nhớ - 2MB bộ nhớ SPI Flash cho mã CircuitPython hoặc các tệp dữ liệu
  • Hỗ trợ tuyệt vời từ Adafruit với đầy đủ tài liệu, hướng dẫn và Diễn đàn trợ giúp trên internet
  • Chỉ cần một máy tính xách tay hoặc máy tính cũ - không cần màn hình, bàn phím, bộ nguồn hoặc chuột chuyên dụng.
  • Người dùng có thể chuyển đổi sang Arduino IDE, trên cùng một bảng, khi họ đã có kinh nghiệm với Python.

Có thể hướng dẫn đầu tiên này giải thích cách thiết lập bảng và chạy các tập lệnh đầu tiên của bạn.

Bước 1: Những gì bạn cần để bắt đầu

Những gì bạn cần để bắt đầu
Những gì bạn cần để bắt đầu

Phần cứng:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • cáp microUSB
  • Máy tính - một máy tính xách tay cũ sẽ làm được
  • Hàn sắt
  • Hàn
  • Breadboard
  • Dải tiêu đề nữ (Tùy chọn)

Phần mềm:

Biên tập viên Mu

Tải xuống trình chỉnh sửa Mu từ

Cài đặt nó trên máy tính của bạn. Rất dễ dàng với hướng dẫn đầy đủ trên trang web.

Bước 2: Kiểm tra xem CircuitPython đã được cài đặt chưa

Kiểm tra xem CircuitPython đã được cài đặt chưa
Kiểm tra xem CircuitPython đã được cài đặt chưa

Mở File Explorer trên máy tính của bạn.

Cắm đầu nhỏ của cáp USB vào đầu nối trên Itsybitsy.

Cắm đầu kia của cáp vào cổng USB trên máy tính của bạn.

Bạn sẽ thấy một ổ đĩa mới xuất hiện có tên là CIRCUITPY. (Nếu không, hãy chuyển sang trang CẬP NHẬT.)

Nhấp đúp vào boot_out và bạn sẽ thấy một thông báo như sau:

Adafruit CircuitPython 3.1.1on 2018-11-02; Adafruit ItsyBitsy M4 Express với samd51g19

Điều này cho thấy rằng bạn có phiên bản CircuitPython cũ hơn vì chúng tôi hiện đang sử dụng phiên bản 4. Điều này sẽ ổn ngay bây giờ, chúng tôi sẽ cập nhật phiên bản sau. Adafruit thường xuyên cải tiến CircuitPython và xuất bản các bản cập nhật. Các bản cập nhật này rất dễ cài đặt.

Điều hướng đến thư mục tài liệu của bạn và tạo một thư mục mới có tên Code-with-Mu bên trong nó.

Khởi động trình chỉnh sửa Mu

Bước 3: Sử dụng Trình chỉnh sửa Mu cho Chương trình đầu tiên của bạn

Sử dụng Trình chỉnh sửa Mu cho Chương trình đầu tiên của bạn
Sử dụng Trình chỉnh sửa Mu cho Chương trình đầu tiên của bạn

Nhấp vào biểu tượng Sê-ri ở đầu trình chỉnh sửa. Thao tác này sẽ mở cửa sổ REPL ở cuối màn hình. Ở góc dưới cùng bên trái, nó sẽ nói Adafruit. Mu đã nhận ra rằng một bảng CircuitPython đã được kết nối với máy tính.

Bây giờ chúng ta có thể viết chương trình hoặc tập lệnh đầu tiên của mình. Nhấp chuột vào cửa sổ phía trên và nhập:

print ("Xin chào, Thế giới!")

Nhấp vào biểu tượng Lưu. Chọn ổ MẠCH. Nhập main.py vào hộp tiêu đề và nhấp vào nút Lưu.

Điều này làm rất nhiều. Tập lệnh của bạn được lưu vào Itsybitsy của bạn với tên "main.py". Bất kỳ tệp nào có tên này sẽ được thực thi ngay lập tức bởi hội đồng quản trị. Đầu ra từ câu lệnh in sẽ xuất hiện trong cửa sổ REPL phía dưới.

Chỉnh sửa dòng chương trình thành:

print ("\ nXin chào, người lập trình!") và nhấp vào biểu tượng Lưu.

Hãy thử thêm một vài câu lệnh in tương tự và chạy mã mới của bạn.

Xem Itsybitsey của bạn khi bạn tải lên một tập lệnh. Màu xanh lá cây nhấp nháy DotStar chuyển sang màu ĐỎ trong khi tập lệnh được lưu và trở về màu XANH.

Hãy làm một lỗi để xem điều gì sẽ xảy ra. Chỉ cần xóa ký tự trích dẫn cuối cùng và chạy lại tập lệnh. Trình chỉnh sửa chỉ ra lỗi và đầu ra cho biết loại lỗi - cú pháp - và số dòng - để giúp bạn sửa lỗi. DotStar chỉ ra lỗi bằng cách thay đổi màu sắc. Thêm về điều này trong phần sau.

Sửa lỗi và chạy lại tập lệnh.

Bây giờ chúng ta cần lưu tập lệnh của mình ở một nơi an toàn để chúng ta có thể sử dụng nó sau này.

Nhấp đúp vào tab phía trên tập lệnh của bạn. Điều hướng đến tài liệu của bạn thư mục Code-with-Mu và lưu tập lệnh của bạn ở đó với một tên tệp hữu ích như FirstProg.py. Lưu ý rằng tên tệp và đường dẫn được hiển thị ở cuối trình chỉnh sửa.

Bước 4: Tập lệnh thứ hai của bạn - Nháy mắt

Tập lệnh thứ hai của bạn - Nháy mắt
Tập lệnh thứ hai của bạn - Nháy mắt

Nhập tập lệnh vào, lưu nó vào CIRCUITPY dưới dạng main.py và nhấp vào Có để thay thế main.py trước đó.

(Luôn sử dụng tên tệp main.py cho tập lệnh của bạn khi lưu vào ItsyBitsy. Sau đó, CircuitPython sẽ chạy ngay tập lệnh mới.)

Tập lệnh làm gì:

  • Nhập thư viện cho tên ghim trên bảng, thời gian để kiểm soát độ trễ và điều khiển chân kỹ thuật số,
  • Thiết lập chân 13 để xuất điện áp cho đèn LED màu đỏ trên bo mạch
  • Chạy một vòng lặp vô tận để BẬT và TẮT đèn LED
  • Chờ khoảng thời gian trễ ngắn để đèn LED nhấp nháy.

Kịch bản có rất nhiều bình luận để giải thích những gì đang xảy ra. Nhận xét bắt đầu bằng ký tự '#'. Chúng được sử dụng cho con người để giúp nhắc nhở bạn về suy nghĩ của bạn vào thời điểm đó. Kịch bản tốt có rất nhiều nhận xét.

  1. Hãy thử thay đổi các giá trị trong câu lệnh sleep ().
  2. Giữ đèn LED bật trong thời gian dài gấp đôi khi nó tắt.
  3. Điều gì xảy ra nếu sự chậm trễ rất ngắn? (0,001 giây)

Nhấp đúp vào tab phía trên tập lệnh của bạn và lưu với tên Blink.py vào thư mục Code-with-Mu của bạn.

Bước 5: Cập nhật phiên bản CircuitPython của bạn

Cập nhật phiên bản CircuitPython của bạn
Cập nhật phiên bản CircuitPython của bạn

Điều hướng đến https://circuitpython.org/downloads trên internet. Nhấp vào hình của Itsybitsy M4 Express (Không phải phiên bản M0).

Nhấp vào nút màu tím để tải xuống tệp. UF2.

Khởi động File Explorer và định vị tệp. UF2

Kết nối Itsybitsy M4 Express của bạn với cổng USB và định vị ổ đĩa của nó - CIRCUITPY

Nhấp đúp vào nút đặt lại nhỏ và tên tệp sẽ thay đổi thành ITSYM4BOOT từ CIRCUITPY. Bạn cần phải nhấp đúp chuột khá nhanh.

Kéo tệp UF2 và thả vào ổ ITSYM4BOOT. Tệp UF2 sẽ được sao chép vào bảng IBM4 và tên ổ đĩa sẽ trở về CIRCUITPY.

Chọn ổ đĩa CIRCUITPY và nhấp đúp vào tệp boot_out.

Bạn có thể đọc số phiên bản mới để kiểm tra xem nó đã được cập nhật chưa.

Tạo một thư mục mới trên ổ CIRCUITPY có tên là lib. Chúng tôi sẽ cần điều này trong Các tài liệu hướng dẫn sau để giữ trình điều khiển cho cảm biến và màn hình.

Khởi động lại trình chỉnh sửa Mu. Tải tệp main.py của bạn từ IBM4 và lưu nó trở lại IBM4. Đèn LED màu đỏ sẽ bắt đầu nhấp nháy.

Nếu bạn nhấp một lần vào nút đặt lại, nó sẽ khởi động lại tập lệnh main.py đã tải.

Bước 6: REPL

REPL
REPL

Cửa sổ ở cuối trình chỉnh sửa, được bật và tắt bằng biểu tượng Serial, không chỉ là một cửa sổ in.

"Vòng lặp đọc-đánh giá-in (REPL), còn được gọi là trình bao ngôn ngữ hoặc cấp cao nhất tương tác, là một môi trường lập trình máy tính tương tác, đơn giản, sử dụng đầu vào của một người dùng (tức là biểu thức đơn), đánh giá chúng và trả về kết quả cho người dùng; một chương trình được viết trong môi trường REPL được thực thi từng phần. " (Google)

Về cơ bản, nếu bạn viết một câu lệnh python duy nhất vào REPL, nó sẽ thực thi nó cùng một lúc. Thử một lần đi.

Nhấp chuột của bạn trong cửa sổ REPL.

Trong khi chạy tập lệnh của bạn, hãy giữ phím và nhấn (CTRL-C). Điều này sẽ tạm dừng tập lệnh của bạn.

Nhấn vào bất kỳ phím nào để nhập REPL và lời nhắc '>>>' xuất hiện.

gõ in (4 + 100)

Ngay lập tức quay lại câu trả lời 104

Nhìn vào hình ảnh và thử một vài trong số các bạn sở hữu. (Thử +, -, *, /, // và%)

Thử cái này xem sao:

>> bảng nhập khẩu

>> dir (hội đồng quản trị)

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

>>

Đây là danh sách các tên pin có trên bảng IBM4

Để trở lại bình thường với khởi động lại mềm, chỉ cần nhập CTRL-D và main.py khởi động lại.

Ngắt kết nối bảng của bạn

Luôn đẩy ổ MẠCH ra trước khi ngắt kết nối khỏi máy tính. Không bao giờ kéo nó ra khi nó đang truyền dữ liệu.

Bước 7: Đặt trên chân

Đặt trên chân
Đặt trên chân
Đặt trên chân
Đặt trên chân

Các tiêu đề nam quá dài so với bảng, vì vậy hãy chụp / cắt 2 trong số chúng cho đúng chiều dài.

Đẩy chúng vào một breadboard, đặt IBM4 lên trên và hàn chúng vào. Hãy chắc chắn rằng bảng là đúng cách! (Chip ở trên cùng)

Không đặt tiêu đề nam ngang đầu. Tôi sử dụng một dải 5 tiêu đề nữ trên đầu để tôi có thể sử dụng tất cả các ghim. Sử dụng một vật cố định để giữ cố định dải tiêu đề, gần với điểm cắt. Sử dụng cưa sắt sắc bén để cắt tâm của lỗ - đầu nối bằng đồng sẽ rơi ra khi bạn cắt. Dũa mép đã cắt để tạo thành một lớp hoàn thiện gọn gàng - không có rãnh..

Hàn trên các chân không khó. Hãy xem các khóa học về Arduino và Điện tử nếu bạn chưa bao giờ sử dụng mỏ hàn trước đây. Có thể hàn có nghĩa là bạn có thể tạo ra các phiên bản lâu dài của các dự án của mình trên bảng mạch dải và sau đó sử dụng lại bảng mạch bánh mì.

Để giúp bo mạch không bị quá nóng, tôi khuyên bạn không nên hàn một mặt rồi hàn lên mặt kia. Để lại khoảng trống và điền vào sau. tức là các chân 10, RX, 2, A3, RS, BAT, 9, MI …… vv

Bước 8: Đèn trạng thái CircuitPython RGB - để giúp bạn tìm ra lỗi

Đèn trạng thái RGB CircuitPython - giúp bạn tìm ra lỗi
Đèn trạng thái RGB CircuitPython - giúp bạn tìm ra lỗi

ItsyBitsy M4 Express, và nhiều bảng M0 và M4 khác đều có một đèn LED NeoPixel hoặc DotStar RGB duy nhất trên bảng cho biết trạng thái của CircuitPython. Ở đây nó nằm giữa (C) và chân A0.

Đây là ý nghĩa của màu sắc và nhấp nháy:

  • GREEN ổn định: code.py (hoặc code.txt, main.py hoặc main.txt) đang chạy
  • xung GREEN: code.py (v.v.) đã hoàn thành hoặc không tồn tại
  • MÀU VÀNG ổn định khi khởi động: (4.0.0-alpha.5 và mới hơn) CircuitPython đang chờ đặt lại để cho biết rằng nó sẽ bắt đầu ở chế độ an toàn
  • xung MÀU VÀNG: Mạch Python ở chế độ an toàn: nó bị lỗi và khởi động lại
  • WHITE ổn định: REPL đang chạy
  • ổn định BLUE: boot.py đang chạy

Các màu có nhiều nhấp nháy sau biểu thị một ngoại lệ Python và sau đó cho biết số dòng của lỗi. Màu của đèn flash đầu tiên cho biết loại lỗi:

  • XANH LÁ: Thụt lềError
  • CYAN: SyntaxError
  • TRẮNG: NameError
  • ORANGE: OSError
  • PURPLE: ValueError
  • VÀNG: lỗi khác

Tiếp theo là các nhấp nháy cho biết số dòng, bao gồm cả giá trị vị trí. Đèn flash TRẮNG là hàng nghìn 'vị trí, MÀU XANH là hàng trăm' vị trí, VÀNG là hàng chục 'vị trí, và CYAN là vị trí của một người. Vì vậy, ví dụ, một lỗi trên dòng 32 sẽ nhấp nháy VÀNG ba lần và sau đó CYAN hai lần. Các số 0 được biểu thị bằng một khoảng tối cực dài.

Đây là những thứ khá khó đếm. Luôn mở cửa sổ REPL khi phát triển một tập lệnh và các thông báo lỗi, bằng tiếng Anh, sẽ xuất hiện ở đó.

Bước 9: Hướng tới tương lai - Hướng tới bạn

Hướng tới tương lai - Hướng tới bạn
Hướng tới tương lai - Hướng tới bạn

Khi tôi bắt đầu cuốn sách Có thể dạy này, tôi mong đợi nó sẽ là phần đầu tiên của loạt bài khám phá CircuitPython và Máy tính Vật lý. Kế hoạch tiếp theo của tôi là bao gồm đầu vào và đầu ra cơ bản với số học, đèn LED, công tắc, chiết áp và các câu lệnh đầu vào. Nó cũng sẽ bao gồm các phương pháp lặp và danh sách (mảng).

Trước khi tôi viết nó, tôi yêu cầu một số phản hồi để tôi có thể điều chỉnh nó cho phù hợp với khán giả.

Những điều tôi muốn biết là:

  • Tốc độ có ổn không?
  • Chi tiết có quá nhiều, quá ít hay đúng không?
  • Bạn có muốn một số bài tập thực hành?

Cho bạn.

Đề xuất: