Mục lục:
- Bước 1: Những gì bạn cần để bắt đầu
- Bước 2: Kiểm tra xem CircuitPython đã được cài đặt chưa
- 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
- Bước 4: Tập lệnh thứ hai của bạn - Nháy mắt
- Bước 5: Cập nhật phiên bản CircuitPython của bạn
- Bước 6: REPL
- Bước 7: Đặt trên chân
- Bước 8: Đèn trạng thái CircuitPython RGB - để giúp bạn tìm ra lỗi
- Bước 9: Hướng tới tương lai - Hướng tới bạn
Video: CircuitPython Với Itsybitsy M4 Express 1: Thiết lập: 9 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
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
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
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
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
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.
- Hãy thử thay đổi các giá trị trong câu lệnh sleep ().
- Giữ đèn LED bật trong thời gian dài gấp đôi khi nó tắt.
- Đ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
Đ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
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
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
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
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:
Cách thiết lập OSMC với Hyperion trên Raspberry Pi với WS2812b Led Strip: 8 bước
Cách thiết lập OSMC với Hyperion trên Raspberry Pi Với WS2812b Led Strip: Đôi khi tôi tiếng anh rất tốt, đôi khi không … Điều đầu tiên trước tiên. Đây là tài liệu hướng dẫn đầu tiên của tôi và tiếng Anh không phải là ngôn ngữ mẹ đẻ của tôi, vì vậy xin đừng quá khắt khe với tôi. Đây sẽ không phải là về cách xây dựng khung, điều đó thật dễ dàng. Đó là về installi
Thiết lập cho nhà cung cấp GPS Bluetooth bên ngoài cho thiết bị Android: 8 bước
Thiết lập cho nhà cung cấp GPS Bluetooth bên ngoài cho các thiết bị Android: Tài liệu hướng dẫn này sẽ giải thích cách tạo GPS hỗ trợ Bluetooth bên ngoài của riêng bạn cho điện thoại của bạn, bất cứ thứ gì chỉ khoảng 10 đô la. giao tiếp Blutooth Mô-đun năng lượng thấp
Thiết lập lập trình NodeMCU với Arduino IDE: 3 bước
Thiết lập lập trình NodeMCU với Arduino IDE: Trong phần hướng dẫn này, tôi sẽ chỉ cho bạn cách lập trình bo mạch NodeMCU bằng Arduino IDE. Để làm điều này, bạn cần cài đặt trình điều khiển và thêm bảng NodeMCU vào danh sách bảng Arduino. Hãy làm từng bước một
Thiết lập chữ ký trên ứng dụng Outlook dành cho thiết bị di động: 5 bước
Thiết lập chữ ký trên ứng dụng Outlook dành cho thiết bị di động: Nếu bạn làm việc trong giới kinh doanh, nhiều khả năng bạn đã rất quen thuộc với phiên bản Microsoft Outlook dành cho máy tính để bàn. Outlook là một công cụ tuyệt vời cho phép bạn gửi email, lưu trữ tệp, lên lịch cuộc họp và tùy chỉnh theo bất kỳ cách nào bạn khôn ngoan
Đồ họa trên SSD1306 Màn hình I2C OLED 128x64 với CircuitPython Sử dụng Itsybitsy M4 Express: 13 bước (có Hình ảnh)
Đồ họa trên SSD1306 Màn hình I2C OLED 128x64 với CircuitPython Sử dụng Itsybitsy M4 Express: Màn hình OLED SSD1306 là màn hình I2C nhỏ (0,96 "), rẻ tiền, phổ biến rộng rãi, I2C, màn hình đồ họa đơn sắc với 128x64 pixel, dễ dàng giao tiếp (chỉ 4 dây) tới bảng phát triển bộ vi xử lý như Raspberry Pi, Arduino hoặc