Khắc phục lỗi không đủ bộ nhớ board arduino năm 2024

Chắc hẳn nhiều bạn có thói quen copy toàn bộ source code trên các trang web, sau đó paste (dán) hết toàn bộ vô Arduino IDE, chọn biên dịch hay đơn giản làm tắt luôn là chọn upload luôn cho nhanh. Bùm, lỗi stray ‘\302’ xuất hiện, lên google tìm thì các bài viết ở các web nước ngoài có nói về vấn đề này rất nhiều và cũng có hướng dẫn cách sửa luôn nếu bạn chịu khó tìm hiểu. Hôm nay mình sẽ hướng dẫn bạn một mẹo mà mình hay dùng để sửa lỗi này. Bạn chỉ cần biết lỗi này nguyên nhân do đâu thì sẽ sửa rất nhanh.

I. Lỗi này bắt nguồn từ đâu?

Bản chất của lỗi này là lỗi khoảng trắng  .   có ý nghĩa là Non-breaking space – Không gian không bị phá hủy. Đây là ký tự khoảng trắng trong HTML. Khi viết HTML thì dấu cách được tính là 1 khoảng trắng. Khi ta muốn nhiều hơn một thì phải dùng đến   mỗi   tương ứng với một dấu cách, nếu lạm dụng kí tự này, trình duyệt sẽ khó chèn dấu ngắt dòng đẹp và đúng quy cách. Ở các diễn đàn Việt Nam hoặc trên thế giới có rất nhiều hướng dẫn cách sử dụng kí tự này. Nói dông nói dài, thật ra nói đơn giản là trong lập trình web thì kí tự khoảng trắng này không giống với khoảng trắng (space) trong Arduino IDE, nên khi copy sẽ sinh ra lỗi đó.

Khắc phục lỗi không đủ bộ nhớ board arduino năm 2024

II. Khắc phục lỗi này như thế nào?

Các source code bạn copy từ https://iot.busmap.vn/ sẽ sinh ra lỗi này khi biên dịch trên arduino IDE

Khắc phục lỗi không đủ bộ nhớ board arduino năm 2024

Thật ra cách khắc phục rất đơn giản, đây là cách của mình.

B1: copy ký tự khoảng trắng bị lỗi (cụ thể như trên hình sẽ copy ký tự trước hàm mqtt.loop();). Phần màu vàng là phần mình chọn để copy đó, chọn xong thì nhớ copy (tổ hợp phím ctrl + C)

Khắc phục lỗi không đủ bộ nhớ board arduino năm 2024

B2: mở công cụ tìm kiếm của Arduino IDE (phím tắt là Ctrl + F), Paste “khoảng trắng” bạn vừa copy vào ô Find

Khắc phục lỗi không đủ bộ nhớ board arduino năm 2024

B3: mình không quan tâm ô Replace with nha, mình chọn luôn vào Replace All. Xong xuôi các bạn sẽ thấy mất đi các ký tự giống như kí tự “khoảng trắng” sai. Tiếp theo bạn biên dịch là sẽ biên dịch thành công (nhớ chú ý chọn đúng board mạch nhé).

Khắc phục lỗi không đủ bộ nhớ board arduino năm 2024

III. Tổng kết

Khắc phục lỗi này thật đơn giản đúng không nào, đây hoàn toàn là những lỗi không đáng có trong quá trình làm việc, chỉ cần chú ý và tìm hiểu một tí là xong ngay. Chúc bạn thành công.

Arduino Uno R3 là một Board mạch vi điều khiển phổ biến được rất nhiều người sử dụng để học hoặc làm các ứng dụng nhúng đơn giản. Các ưu điểm khi các bạn làm việc với Arduino là thư viện hỗ trợ đầy đủ, cộng đồng người sử dụng đông, rất nhiều ví dụ và đề tài mẫu để tham khảo. Tuy nhiên, lại có ít bài viết đề cập tới phần cứng của Board mạch Arduino cho những người mới bắt đầu. Hiểu được thiết kế phần cứng giúp các bạn có thể tự thiết kế 1 sản phẩm hoàn chỉnh từ vi điều khiển và các linh kiện rời mà không cần sử dụng nguyên board Arduino. Có thể đây sẽ là 1 bước quan trọng để các bạn hoàn thiện hơn khả năng của mình.

*Tải sơ đồ mạch nguyên lý của Board mạch Arduino Uno R3 để tham khảo tại đây. Mình có tách riêng các phần và trình bày trong bài viết cho các bạn tiện theo dõi.

Phần 1: Thiết kế nguồn Phần nguồn của Board mạch Arduino được thiết kế để thực hiện các nhiệm vụ sau:

Khắc phục lỗi không đủ bộ nhớ board arduino năm 2024

  • Lựa chọn nguồn cung cấp cho board mạch (khối màu cam trong hình dưới). Board mạch Arduino có thể được cung cấp nguồn bởi Adapter thông qua Jack DC hoặc từ cổng USB (2 mũi tên màu đỏ). Trong trường hợp chỉ có 1 trong 2 nguồn cung cấp thì Board Arduino sẽ sử dụng nguồn cung cấp đó. Trong trường hợp có cả 2 nguồn cung cấp thì Arduino sẽ ưu tiên lựa chọn nguồn cung cấp từ Jack DC thay vì từ cổng USB. Việc ưu tiên này được thực hiện bởi OpAmp trong IC LMV358 và MOSFET FDN340P. Điện áp từ Jack DC sau khi qua Diode bảo vệ D1 thì được gọi là điện áp VIN. Điện áp VIN qua cầu phân áp để tạo thành VIN/2 để so sánh với điện áp 3.3V. Vì VIN/2 >3.3V nên điện áp đầu ra của OpAmp là 5V, điều này làm cho MOSFET không được kích, nguồn cung cấp cho Board Arduino là từ Jack DC sau khi qua ổn áp.
  • Tạo ra các điện áp 5v và 3.3v (2 khối màu xanh) để cung cấp cho vi điều khiển và cũng là điểm cấp nguồn cho các thiết bị bên ngoài sử dụng. Mạch Arduino sử dụng IC ổn áp NCP1117 để tạo điện áp 5V từ nguồn cung cấp lớn và IC ổn áp LP2985 để tạo điện áp 3.3V. Đây đều là những IC ổn áp tuyến tính, tuy hiệu suất không cao nhưng ít gợn nhiễu và mạch đơn giản.
  • Bảo vệ ngược nguồn, quá tải (vòng tròn màu đỏ). F1 là một cầu chì tự phục hồi, trong trường hợp bạn chỉ sử dụng dây cáp USB để cấp nguồn thì tổng dòng tiêu thụ không được quá 500mA. Nếu không cầu chì sẽ ngăn không cho dòng điện chạy qua. D1 là một Diode, chỉ cho dòng điện 1 chiều chạy qua (từ Jack DC vào mạch), trong trường hợp mạch Arduino của bạn có mắc với các thiết bị khác và có nguồn cung cấp lớn hơn nguồn vào Jack DC, nếu có sai sót chập mạch..vv.. thì sẽ không có trường hợp nguồn các thiết bị bên ngoài chạy ngược vào Adapter. Báo nguồn. Đèn nguồn ON sáng lên báo thiết bị đã được cấp nguồn. Nếu các bạn đã cắm nguồn mà đèn nguồn không sáng thì có thể nguồn cung cấp của bạn đã bị hỏng hoặc jack kết nối lỏng, hoặc mạch Arduino kết nối với các linh kiện bên ngoài bị ngắn mạch.