Học

An Arduino simulator that runs on a Chromebook

Cơ bản

Hoặc xem mọi bài học.

  • 503linh kiện trên bàn làm mạch
  • 44bo mạch đang chạy
  • 1.00xthời gian thực, trên mọi bo mạch
Arduino Uno: nháy LED đầu tiênlive0.000 s 0.00x
Nhấp để mở trong trình soạn thảo
Một LED ở chân 13, nháy mỗi giây một lần trên ATmega328P mô phỏng, ngay trong tab trình duyệt này.

Có, bạn có thể chạy code Arduino trên Chromebook: Mokxi là trình mô phỏng Arduino miễn phí chạy trong Chrome, không cần cài gì và không cần tài khoản. Phần lớn lớp học ở Mỹ dùng Chromebook, còn Arduino IDE là phần mềm máy tính không cài được trên Chromebook do trường quản lý. Vì thế rất nhiều học sinh và giáo viên phải đi tìm cách viết code Arduino trên chính chiếc máy họ đang có. Mạch ở trên là câu trả lời mà trang này nói tới: một Arduino Uno với LED ở chân 13, đang nháy, chạy ngay trong tab Chrome này.

Mokxi là một trang web. Cả phần mô phỏng lẫn trình biên dịch đều chạy ngay trên Chromebook, bên trong Chrome, nên không cần cài gì, không có tiện ích nào phải duyệt và không cần quyền quản trị. Học sinh có thể mở trình soạn thảo và nhấn Chạy mà không cần tài khoản. Trang này giải thích bạn được gì, giới hạn ở đâu, và làm sao đi từ đây tới bo mạch thật khi bạn có một bo.

Những gì chạy được trên Chromebook

Mọi thứ trong trình soạn thảo. Bạn kéo linh kiện lên một breadboard thật, nối dây, viết C++ trong khung code, và nhấn Chạy. Sketch của bạn được biên dịch bằng trình biên dịch clang thật, được dựng cho trình duyệt và chạy ngay trong tab, và firmware chạy trên một mô hình của con chip: ATmega328P cho Uno, hoặc lõi vi xử lý thật cho các bo mạch khác. Timer, ngắt, PWM, analogRead và Serial Monitor hoạt động đúng như trên chip.

Lần biên dịch đầu tiên trên một trình duyệt mới sẽ tải trình biên dịch về một lần, khoảng bảy mươi megabyte, và Chrome giữ nó trong bộ nhớ đệm. Sau đó, mỗi lần biên dịch mất một hai giây, và sửa rồi chạy chỉ mất chưa tới một giây. Trên mạng của trường, lần biên dịch đầu tiên là lần cần chờ một chút.

Các bo mạch còn nhiều hơn Uno: Nano, Mega 2560, Leonardo, Uno R4, nhiều bo ESP32, ESP8266, Raspberry Pi Pico, ba bo STM32 và micro:bit, tất cả đều có trong gói Free. Các linh kiện mà lớp học hay dùng cũng vậy: LED, nút nhấn, biến trở, servo, cảm biến siêu âm HC-SR04, DHT22, LCD và OLED, chip logic 74HC và IC hẹn giờ 555.

Chrome cũng có thể cài Mokxi thành ứng dụng ngay từ thanh địa chỉ, để nó mở trong cửa sổ riêng với biểu tượng trên kệ ứng dụng, như mọi ứng dụng Chromebook khác.

Những gì trình mô phỏng không làm được, và cách đến với bo mạch thật

Chạy sketch ở đây là mô phỏng, chứ không phải nạp vào bo mạch của bạn. Để đưa nó lên bo thật, Chrome trên Chromebook có thể ghi qua USB: nhấn Nạp vào bo mạch trong trình soạn thảo, chọn cổng của bo mạch và nhấn Nạp. Cách này dùng được cho Uno, Nano, Mega, Leonardo và các bo Arduino tương tự, và cho các bo ESP32-C3. Pico, Pico W, XIAO SAMD21 và micro:bit thì nhận một tệp để kéo thả vào bo mạch. Trường học có thể tắt quyền truy cập USB trên Chromebook do trường quản lý (chính sách DefaultSerialGuardSetting); nếu danh sách cổng vẫn trống, hãy nhờ bộ phận IT cho phép mokxi.com, hoặc chép sketch vào Arduino Cloud Editor.

Hai thứ này kết hợp rất tốt. Học sinh thiết kế, nối dây và gỡ lỗi trong trình mô phỏng, nơi nối sai một dây chẳng tốn gì và có đủ linh kiện cho mọi người, rồi lắp mạch hoàn chỉnh một lần trên bàn thí nghiệm. Sketch là code Arduino chuẩn, nên chính tệp đó nạp được từ Cloud Editor.

Một vài thư viện có khác biệt. Mokxi có phiên bản riêng của các thư viện phổ biến dưới tên quen thuộc của chúng (Servo, Wire, LiquidCrystal_I2C, DHT, các header OLED của Adafruit), và trang trợ giúp của mỗi linh kiện nói rõ chỗ nào khác với thư viện gốc. Một sketch dùng thư viện mà Mokxi không có sẽ không biên dịch được cho đến khi bạn thay nó.

Sketch đầu tiên của bạn trên Chromebook, từng bước một

Mở mạch ở trên trong trình soạn thảo. Đó là một Uno với một LED và một điện trở 220 ohm ở chân 13, và một sketch giải thích từng dòng.

Nhấn Chạy. LED nháy mỗi giây một lần: sáng nửa giây, tắt nửa giây.

Đổi cả hai dòng delay(500) thành delay(100) rồi nhấn Chạy lại. Lần biên dịch đầu mất một chút thời gian, những lần sau gần như tức thì. Giờ LED nháy nhanh gấp năm lần.

Thêm Serial.begin(9600); vào setup() và Serial.println("on"); sau digitalWrite đầu tiên, chạy nó, rồi mở tab Serial. Đó là Serial Monitor, đúng công cụ mà Arduino IDE có, đang chạy trên Chromebook.

Khi muốn giữ lại, hãy đăng nhập bằng Google, GitHub hoặc một địa chỉ email. Nếu chưa đăng nhập, bài của bạn được giữ trong trình duyệt này cho đến khi bộ nhớ của nó bị xóa.

Cho giáo viên và bộ phận IT của trường

Không cần đẩy gì xuống các máy. Nếu bộ lọc web chặn trình soạn thảo hoặc việc tải trình biên dịch, trang IT cho trường học có liệt kê các tên miền cần cho phép. Quy định về dữ liệu học sinh nằm ở trang quyền riêng tư của học sinh, được viết để trả lời những câu hỏi mà một sở giáo dục thường đặt ra.

The free plan has every board and every part. The class tools (a roster, starter projects, checks that grade a circuit automatically, submissions you can open and run) come with Pro and Classroom, and the free 30-day trial, started from the class page, covers one class of up to twenty students with every tool, once per teacher account, with no card.

Câu hỏi

Có dùng Arduino trên Chromebook được không?

Được. Mokxi mô phỏng bo mạch trong Chrome mà không cần cài gì, đủ để học, viết và thử sketch, và Chrome trên Chromebook có thể gửi sketch hoàn chỉnh tới bo mạch thật qua USB. Nếu trường chặn truy cập USB, Arduino Cloud Editor là cách còn lại.

Trình mô phỏng có miễn phí không?

Có. Mọi bo mạch và mọi linh kiện đều có trong gói Free, và trình soạn thảo mở và chạy được mà không cần tài khoản. Cần tài khoản để lưu lên đám mây và chia sẻ dự án bằng liên kết.

Nó có chạy trên Chromebook do trường quản lý không?

Có. Đó là một trang web, không cần tiện ích, không cần cài đặt. Nếu bộ lọc của trường chặn nó, bộ phận IT có thể cho phép các tên miền được liệt kê trên trang thiết lập IT.

Mình có nạp sketch từ Mokxi vào Arduino thật được không?

Được, trong Chrome hoặc Edge trên máy tính hay Chromebook: nhấn Nạp vào bo mạch, cắm bo mạch bằng cáp USB, rồi nhấn Nạp. Safari, Firefox và iPad không kết nối được với bo mạch USB, nên ở đó bạn tải tệp .hex về và dùng Arduino IDE, hoặc chép sketch vào Arduino Cloud Editor.

Lắp mạch này ngoài đời

Mở trình soạn thảo, đổi một giá trị và xem con số thay đổi theo. Không cần cài gì, không cần tài khoản.