CircuitPython
0

Tạo và chỉnh sửa code

Một trong những điều tốt nhất về CircuitPython là cách đơn giản để lấy code và chạy. Trong phần này, chúng tôi sẽ giới thiệu cách tạo và chỉnh sửa chương trình CircuitPython đầu tiên của bạn.

Để tạo và chỉnh sửa code, tất cả những gì bạn cần là một trình soạn thảo. Có nhiều lựa chọn. Chúng tôi thực sự khuyên bạn nên sử dụng Mu! Nó được thiết kế cho CircuitPython, và nó thực sự đơn giản và dễ sử dụng, với Serial Console  tích hợp!

Nếu bạn không hoặc không thể sử dụng Mu, có các trình soạn thảo văn bản cơ bản được tích hợp trong mọi hệ điều hành như Notepad trên Windows, TextEdit trên Mac và gedit trên Linux. Tuy nhiên, nhiều trong số các trình soạn thảo này không ghi lại các thay đổi ngay lập tức vào các tệp mà bạn chỉnh sửa. Điều đó có thể gây ra vấn đề khi sử dụng CircuitPython. Xem phần Code chỉnh sửa bên dưới. Nếu bạn muốn bỏ qua phần đó ngay bây giờ, hãy đảm bảo bạn thực hiện “Eject ra” hoặc “Xóa an toàn” trên Windows hoặc “đồng bộ hóa” trên Linux sau khi viết tệp nếu bạn không sử dụng Mu. (Đây không phải là vấn đề trên MacOS.)

Tạo code

Mở trình soạn thảo của bạn và tạo một tệp mới. Nếu bạn đang sử dụng Mu, nhấp vào  nút New ở trên cùng bên trái

Sao chép và dán code sau vào trình soạn thảo của bạn:

  1. import board
  2. import digitalio
  3. import time
  4.  
  5. led = digitalio.DigitalInOut(board.D13)
  6. led.direction = digitalio.Direction.OUTPUT
  7.  
  8. while True:
  9.     led.value = True
  10.     time.sleep(0.5)
  11.     led.value = False
  12.     time.sleep(0.5)

Đối với Adafbean CLUE, bạn sẽ cần sử dụng board.D17thay vì board.D13. Phần còn lại của code vẫn giữ nguyên. Thực hiện thay đổi sau đây cho led =dòng:

  1. led = digitalio.DigitalInOut(board.D17)
Nó sẽ trông như thế này – lưu ý rằng bên dưới while True:dòng, bốn dòng tiếp theo có khoảng trắng để thụt lề chúng, nhưng chúng được thụt chính xác cùng một lượng. Tất cả các dòng khác không có khoảng trắng trước văn bản.
Lưu tệp này dưới dạng code.py trên ổ CIRCUITPY của bạn.

Trên mỗi board bạn sẽ tìm thấy một đèn LED nhỏ màu đỏ. Bây giờ nó sẽ nhấp nháy. Mỗi giây một lần

Xin chúc mừng, bạn vừa chạy chương trình CircuitPython đầu tiên của mình!

Chỉnh sửa code

Để chỉnh sửa code, hãy mở  tệp code.py trên ổ CIRCUITPY của bạn vào trình chỉnh sửa  của bạn.   Thực hiện các thay đổi mong muốn cho code của bạn. Lưu các tập tin. Đó là nó!

Thay đổi code của bạn được chạy ngay khi tệp được lưu xong.

Chỉ có một cảnh báo chúng tôi phải đưa ra cho bạn trước khi tiếp tục …

Đừng nhấp vào Đặt lại hoặc Rút phích cắm!

Code CircuitPython trên board của bạn phát hiện khi các tệp được thay đổi hoặc ghi và sẽ tự động khởi động lại code của bạn. Điều này làm cho code hóa rất nhanh bởi vì bạn lưu và nó chạy lại.

Tuy nhiên, bạn phải đợi cho đến khi tệp được lưu xong trước khi rút hoặc đặt lại board của bạn! Trên Windows sử dụng một số trình soạn thảo, đôi khi có thể mất tới 90 giây, trên Linux có thể mất 30 giây để hoàn thành vì trình soạn thảo văn bản không lưu tệp hoàn toàn. Mac OS dường như không có độ trễ này, điều này thật tuyệt!

Điều này thực sự quan trọng để nhận thức được. Nếu bạn rút phích cắm hoặc đặt lại board trước khi máy tính kết thúc việc ghi tệp vào board của bạn, bạn có thể làm hỏng ổ đĩa. Nếu điều này xảy ra, bạn có thể mất code bạn đã viết, vì vậy điều quan trọng là phải sao lưu code vào máy tính của bạn thường xuyên.

Có một số cách để tránh điều này:

1. Sử dụng trình chỉnh sửa ghi hoàn toàn tệp khi bạn lưu tệp.

Biên tập viên đề xuất:

  • mu là một biên tập viên viết an toàn tất cả các thay đổi (đó cũng là trình soạn thảo được đề xuất của chúng tôi!)
  • emacs cũng là một trình soạn thảo sẽ ghi lại các tập tin khi lưu
  • Văn bản tuyệt vời  ghi an toàn tất cả các thay đổi
  • Visual Studio Code xuất hiện để ghi an toàn tất cả các thay đổi
  • gedit trên Linux dường như viết an toàn tất cả các thay đổi
  • IDLE , trong Python 3.8.1 trở lên, đã được sửa để viết tất cả các thay đổi ngay lập tức

Chỉ được đề xuất với các cài đặt cụ thể hoặc với các tiện ích bổ sung:

  • vim  /  vi  an toàn viết tất cả các thay đổi. Nhưng thiết lập  vim  để không ghi swapfiles (file SWP: hồ sơ tạm chỉnh sửa) để CIRCUITPY. Chạy vim vớivim -n, đặtno swapfiletùy chọn hoặc đặtdirectorytùy chọn để ghi các tệp hoán đổi ở nơi khác. Nếu không, chương trình hoán đổi ghi lại khởi động lại chương trình của bạn.
  • Các  PyCharm IDE  là an toàn nếu “Safe Viết” được bật trong Settings-> System Settings> Đồng bộ hóa (đúng theo mặc định).
  • Nếu bạn đang sử dụng  Atom , hãy cài đặt gói   fsync-on-save  để nó luôn ghi ra tất cả các thay đổi đối với các tệp trên đó  CIRCUITPY.
  • SlickEdit  chỉ hoạt động nếu bạn  thêm một macro để xóa đĩa .

Chúng tôi không đề xuất các biên tập viên này:

  • notepad (trình chỉnh sửa Windows mặc định) và N otepad ++ có thể bị ghi chậm, vì vậy chúng tôi khuyên bạn nên chỉnh sửa ở trên! Nếu bạn đang sử dụng notepad, hãy chắc chắn Eject ổ đĩa ra (xem bên dưới)
  • IDLE trong Python 3.8.0 trở về trước không loại bỏ các thay đổi ngay lập tức
  • nano (trên Linux) không ép buộc thay đổi
  • geany (trên Linux) không ép buộc thay đổi
  • Bất cứ điều gì khác – chúng tôi chưa thử nghiệm các biên tập viên khác, vì vậy vui lòng sử dụng một đề xuất!

2. Eject hoặc đồng bộ hóa ổ đĩa

Nếu bạn đang sử dụng một trong những biên tập viên không được đề xuất của chúng tôi, không phải tất cả sẽ bị mất! Bạn vẫn có thể làm cho nó hoạt động.

Trên Windows, bạn có thể Eject hoặc Safe Remove ổ CIRCUITPY. Nó sẽ không thực sự Eject, nhưng nó sẽ buộc hệ điều hành lưu tệp của bạn vào đĩa. Trên Linux, sử dụng lệnh đồng bộ hóa trong một thiết bị đầu cuối để buộc ghi vào đĩa.

Ồ không, tôi đã làm điều gì đó sai và bây giờ Ổ đĩa CIRCUITPY không xuất hiện !!!

Quay lại Code chỉnh sửa …

Hiện nay! Hãy thử chỉnh sửa chương trình bạn đã thêm vào board của mình. Mở tập tin code.txt của bạn vào trình soạn thảo của bạn. Chúng tôi sẽ thực hiện một thay đổi đơn giản. Thay đổi đầu tiên 0.5thành 0.1. Code sẽ trông như thế này:

  1. import board
  2. import digitalio
  3. import time
  4.  
  5. led = digitalio.DigitalInOut(board.D13)
  6. led.direction = digitalio.Direction.OUTPUT
  7.  
  8. while True:
  9.     led.value = True
  10.     time.sleep(0.1)
  11.     led.value = False
  12.     time.sleep(0.5)

Để lại phần còn lại của code như hiện trạng. Lưu tập tin của bạn. Xem những gì xảy ra với đèn LED trên board của bạn? Một cái gì đó đã thay đổi! Bạn có biết tại sao? Hãy cùng tìm hiểu! 

Khám phá chương trình CircuitPython đầu tiên của bạn

Đầu tiên, chúng ta sẽ xem code chúng tôi đang chỉnh sửa.

Đây là code gốc một lần nữa:

  1. import board
  2. import digitalio
  3. import time
  4.  
  5. led = digitalio.DigitalInOut(board.D13)
  6. led.direction = digitalio.Direction.OUTPUT
  7.  
  8. while True:
  9.     led.value = True
  10.     time.sleep(0.5)
  11.     led.value = False
  12.     time.sleep(0.5)

Import & Thư viện

Mỗi chương trình CircuitPython bạn chạy cần phải có nhiều thông tin để hoạt động. Lý do CircuitPython rất đơn giản để sử dụng là vì hầu hết thông tin đó được lưu trữ trong các tệp khác và hoạt động ở chế độ nền. Những tập tin này được gọi là thư viện . Một số trong số chúng được tích hợp vào CircuitPython. Những người khác được lưu trữ trên ổ CIRCUITPY của bạn trong một thư mục có tên lib .

  1. import board
  2. import digitalio
  3. import time

Các import khai báo rằng bạn sẽ sử dụng một thư viện cụ thể trong code của bạn. Trong ví dụ này, chúng tôi import ba thư viện: boarddigitalio, và time. Tất cả ba thư viện này đều được tích hợp vào CircuitPython, do đó không cần các tệp riêng biệt. Đó là một trong những điều làm cho đây là một ví dụ tuyệt vời đầu tiên. Bạn không cần thêm bất cứ thứ gì để làm cho nó hoạt động! board cung cấp cho bạn quyền truy cập vào phần cứng trên bo mạch của bạn , digitaliocho phép bạn truy cập phần cứng đó dưới dạng đầu vào / đầu ra và timeđể bạn chờ bằng cách ‘ngủ’

Cài đặt đèn LED

Hai dòng tiếp theo thiết lập code để sử dụng đèn LED.

  1. led = digitalio.DigitalInOut(board.D13)
  2. led.direction = digitalio.Direction.OUTPUT

Board của bạn biết đèn LED màu đỏ như D13. Vì vậy, chúng tôi khởi tạo code pin đó và chúng tôi đặt nó thành đầu ra. Chúng tôi đặt ledbằng với phần còn lại của thông tin đó vì vậy chúng tôi không phải nhập lại tất cả thông tin sau trong code của mình.

Vòng lặp loop-de-loops

Phần thứ ba bắt đầu với một  whilewhile True:về cơ bản có nghĩa là, “lặp lại mãi như sau :”. while True:tạo ra một vòng lặp. Code sẽ lặp “trong khi” điều kiện là “đúng” (so với sai) và Truekhông bao giờ là Sai, code sẽ lặp lại mãi mãi. Tất cả các code được thụt vào bên dưới while True:là “bên trong” vòng lặp.

Trong vòng lặp của chúng tôi, chúng tôi có bốn mục:

  1. while True:
  2.     led.value = True
  3.     time.sleep(0.5)
  4.     led.value = False
  5.     time.sleep(0.5)

Đầu tiên, chúng ta có led.value = True. Dòng này báo cho đèn LED bật. Trên dòng tiếp theo, chúng tôi có time.sleep(0.5). Dòng này đang báo cho CircuitPython tạm dừng code chạy trong 0,5 giây. Vì đây là giữa bật và tắt đèn led, đèn led sẽ bật trong 0,5 giây.

Hai dòng tiếp theo là tương tự nhau. led.value = Falsenói với đèn LED tắt và time.sleep(0.5)bảo CircuitPython tạm dừng thêm 0,5 giây nữa. Điều này xảy ra giữa tắt đèn led và bật lại, vì vậy đèn LED cũng sẽ tắt trong 0,5 giây.

Sau đó, vòng lặp sẽ bắt đầu lại và tiếp tục làm như vậy miễn là code đang chạy!

Vì vậy, khi bạn thay đổi người đầu tiên 0.5đến 0.1, bạn đã giảm số lượng thời gian mà lá code LED trên. Vì vậy, nó nhấp nháy thực sự nhanh chóng trước khi tắt!

Bạn đã làm rất tốt! Bạn đã chỉnh sửa code trong chương trình CircuitPython!

Nếu tôi không có vòng lặp thì sao?

Thay đổi khác

Chúng ta không phải dừng lại ở đó! Cứ thử xem. Thay 0.5 thành 0.1 như vậy:

  1. while True:
  2.     led.value = True
  3.     time.sleep(0.1)
  4.     led.value = False
  5.     time.sleep(0.1)

Bây giờ nó nhấp nháy rất nhanh! Bạn đã giảm cả thời gian code bật và tắt đèn LED!

Bây giờ hãy thử tăng cả hai 0.1đến 1. Đèn LED của bạn sẽ nhấp nháy chậm hơn nhiều vì bạn đã tăng thời gian bật và tắt đèn LED.

Làm tốt! Bạn đang làm rất tốt! Bạn đã sẵn sàng để bắt đầu vào các ví dụ mới và chỉnh sửa chúng để xem điều gì sẽ xảy ra! Đây là những thay đổi đơn giản, nhưng những thay đổi lớn được thực hiện bằng cách sử dụng cùng một quy trình. Thực hiện thay đổi mong muốn của bạn, lưu nó và nhận được kết quả. Đó thực sự là tất cả để có nó!

Đặt tên tệp chương trình của bạn

CircuitPython tìm kiếm một tệp code trên board để chạy. Có bốn lựa chọn: code.txt , code.py , main.txt và main.py . CircuitPython tìm kiếm các tệp đó, theo thứ tự đó, và sau đó chạy tệp đầu tiên mà nó tìm thấy. Mặc dù chúng tôi khuyên bạn nên sử dụng code.txt làm tệp code của mình, điều quan trọng cần biết là các tùy chọn khác tồn tại. Nếu chương trình của bạn dường như không chạy code mới của ban, hãy đảm bảo rằng bạn chưa tạo một tệp code khác trong đó.

Tags: ,

More Similar Posts

Không tìm thấy kết quả.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Fill out this field
Fill out this field
Vui lòng nhập địa chỉ email hợp lệ.
You need to agree with the terms to proceed

Check Featured Posts

Không tìm thấy kết quả.

Menu