CloverBlock – Phần mềm lập trình Arduino bằng kéo thả do người Việt phát triển

Mô tả dự án: 

Xin chào các bạn, hôm nay mình xin gửi đến các bạn một bài viết giới thiệu về một phần mềm lập trình kéo thả phục vụ lập trình Arduino do người Việt phát triển, hoàn thiện.

CloverBlock là gì?

Xu hướng lập trình kéo thả (Lập trình không sử dụng ngôn ngữ lập trình) đang được thế giới phát triển nhiều trong những năm gần đây trong đó có thể kể đến 2 nền tảng khá quen thuộc là Scratch và App Inventor. Với hai nền tảng này chúng ta có thể dễ dàng tạo ra các ứng dụng máy tính hoặc ứng dụng dành cho smartphone mà không cần biết nhiều về ngôn ngữ lập trình tương ứng. Những nền tảng lập trình này tập trung vào hệ thống tư duy mà không cần quan tâm nhiều đến ngôn ngữ trong quá trình lập trình.

Với lĩnh vực điện tử, chắc hẳn chúng ta đều đã từng gặp phải một vài khó khăn như: code mẫu dài, khó hiểu (chưa có khái niệm gì về ngôn ngữ lập trình C/C++), đau đầu tìm thư viện trong số hàng trăm hàng nghìn thư viện trên mạng, kết nối lằng nhằng khi cắm board test bằng dây…  và đôi khi tất cả mọi thứ tưởng như đã đúng mà thiết bị của chúng ta vẫn không hoạt động hoặc hoạt động không đúng ý đồ thiết kế.

Hiểu được những khó khăn đó, nhóm phát triển Clover Team (http://stemlab.vn/) đã nghiên cứu và cho ra đời phần mềm CloverBlock. Phần mềm CloverBlock được xây dựng trên nền tảng Blockly của Google cho phép người dùng có thể sử dụng các khối kéo thả để lập trình cho các thiết bị điện tử trên nền tảng tương tự với nền tảng Arduino. Giao diện lập trình kéo thả trực quan sử dụng nhiều khối màu sắc, chú thích dễ hiểu kết hợp với nền tảng phần cứng plug and play sẽ giúp cho chúng ta tiếp cận các bài học, dự án được nhanh chóng và hạn chế rủi ro hơn. Khi thực hiện lập trình kéo thả các lệnh lập trình C/C++ sẽ được sinh ra tự động tương ứng giúp chúng ta có thể thông qua đó từ từ tiếp cận với ngôn ngữ lập trình C/C++ dành cho các thiết bị điện tử.

Nền tảng này giúp các bạn trẻ và những người không thuộc nhóm ngành chuyên ngành điện tử, công nghệ có thể dễ dàng học tập và tiếp cận thiết kế các sản phẩm công nghệ. CloverBlock mở cánh cửa đến với khoa học, công nghệ ra đến mọi bạn trẻ và người yêu công nghệ Việt Nam, không giới hạn độ tuổi, giới tính, lĩnh vực, vùng miền…. Với CloverBlock bất cứ ai cũng có thể tiếp cận thế giới công nghệ và chuẩn bị cho cuộc các mạng công nghiệp 4.0 theo cách của mình.

Chương trình Blink LED cơ bản trên phần mềm CloverBlock

CloverBlock cho phép người lập trình nhanh chóng sử dụng được các ngoại vi  (linh kiện, thiết bị điện tử) như đèn LED, nút nhấn, còi, LED 7 thanh (Đèn LED hiển thị số), LED ma trận, điều khiển hồng ngoại, các cảm biến như: Nhiệt độ, độ ẩm, khoảng cách,… một cách dễ dàng mà không cần tập trung sâu vào phân tích cách thức giao tiếp của các ngoại vi này với Arduino. Chỉ với một lệnh kéo thả sử dụng ngoại vi tương ứng các hàm về khởi tạo cấu hình sẽ được thiết lập đồng thời để chương trình có thể nhanh chóng hoạt động với ngoại vi tương ứng.

Ngoài ra, CloverBlock còn cho phép chúng ta học được ngôn ngữ lập trình C/C++ cho Arduino thông qua chương trình bằng C/C++ được sinh ra tự động tương ứng với chương trình mà chúng ta xây dựng bằng kéo thả. Điều này đặc biệt hữu ích với những bạn mới bắt đầu làm quen với Arduino.

Ưu điểm của CloverBlock

  • Lập trình bằng kéo thả không cần quan tâm đến ngôn ngữ.
  • Nhanh chóng xây dựng được chương trình.
  • Hỗ trợ sử dụng giao tiếp mỗi ngoại vi thông qua một lệnh duy nhất thay vì tổ hợp lệnh như cài đặt, sử dụng tương ứng trên Arduino thông thường
  • Hỗ trợ nhiều ngoại vi cơ bản như: Nút nhấn, LED, còi, LED 7 thanh, LED ma trận, cảm biến thông dụng, điều khiển hồng ngoại….
  • Các thư viện ngoại vi đều đã được chuẩn hóa.
  • Hỗ trợ truyền dữ liệu trực tiếp lên giao diện phần mềm sử dụng Serial
  • Hỗ trợ giao tiếp Bluetooth cho phép truyền nhận dữ liệu với smartphone
  • Hỗ trợ lập trình điều khiển Robot đơn giản
  • Hỗ trợ lập trình bằng tiếng Việt dành cho những người chưa quen với tiếng anh kỹ thuật sử dụng trong lập trình.

Lập trình bằng tiếng Việt sử dụng CloverBlock

  • Tự động sinh code C/C++ tương ứng với chương trình kéo thả.
  • Hướng dẫn kết nối phần cứng tương ứng với chương trình.

Hướng dẫn kết nối phần cứng với Clover Alpha Board

Hạn chế của CloverBlock

  • Số ngoại vi được hỗ trợ đến lúc này còn tương đối hạn chế. Danh sách ngoại vi vẫn đang được phát triển bổ sung.
  • Chưa hỗ trợ các KIT Arduino thông dụng

Phần cứng yêu cầu

Nền tảng phần cứng Clover

Hiện tại, để sử dụng CloverBlock chúng ta cần sử dụng một bộ KIT do Clover Team phát triển có tên gọi là Clover EDU Starter hoặc Clover EDU Inventor trong đó Clover Board là Board điều khiển trung tâm. Clover Alpha Board do Clover Team phát triển trên nền tảng Arduino đã được tối ưu về kết nối thông qua 1 cổng duy nhất với mỗi ngoại vi. Với ưu điểm này của Clover Alpha Board những khó khăn về kết nối với ngoại vi như: Kết nối dây nguồn, dây giao tiếp, các linh kiện phụ trợ để hoạt động,… đã được loại bỏ. Hơn nữa, CloverBlock đã tích hợp các thư viện giao tiếp với các ngoại vi tương ứng vì vậy khi sử dụng chúng ta sẽ không cần phải tìm hiểu về cấu trúc lệnh giao tiếp với ngoại vi tướng ứng hoặc tìm kiếm các thư viện trên mạng Internet và tự tay thêm thư viện đó để tìm được thư viện phù hợp. Thay vào đó người sử dụng chỉ cần kết nối ngoại vi vào cổng tương ứng và khai báo ngoại vi được kết nối với cổng tương ứng trong chương trình phần mềm.

Kết nối và sử dụng Clover Alpha Board với module LED 7 thanh

Như hình trên chúng ta thấy chỉ với một kết nối đơn giản quá trình kết nối với module LED 7 thanh 4 số đã thành công. Và chương trình điều khiển LED cũng đơn giản không kém:

Chương trình hiển thị số từ 0 đến 1000 lên LED 7 thanh sử dụng CloverBlock

 

Hiện nay, CloverBlock đã hỗ trợ các ngoại vi cơ bản sau:

  • LED đơn
  • LED RGB
  • Còi
  • Nút nhấn
  • Biến trở
  • LED 7 thanh 4 số
  • LED ma trận
  • Cảm biến siêu âm
  • Cảm biến nhiệt độ, độ ẩm
  • Cảm biến ánh sáng
  • Cảm biến dò line cho Robot
  • Điều khiển động cơ. Hỗ trợ điều khiển 2 động cơ phục vụ điều khiển di chuyển Robot
  • ….

Số ngoại vi hỗ trợ đang được Clover Team tiếp tục nghiên cứu phát triển và bổ sung.

Tuy nhiên, CloverBlock mới dừng lại ở hỗ trợ Clover Alpha Board mà chưa hỗ trợ lập trình bằng các nền tảng Arduino thông thường khác. Hi vọng trong thời gian tới CloverBlock sẽ hộ trợ lập trình trên một số Board Arduino thông dụng như Uno, Mega….

CloverBlock dành cho ai?

Với những ưu điểm và nhược điểm đang có, có thể nói CloverBlock phù hợp dành cho một số bạn đam mê về công nghệ, muốn khám phá học lập và sử dụng lập trình Arduino cơ bản. Đặc biệt, đối với lĩnh vực STEM, cụ thể là đào tạo lập trình sớm ở lứa tuổi học sinh thì đây là một nền tảng rất phù hợp để phát triển tư duy, sáng tạo và ứng dụng công nghệ.  Hơn nữa, với những người yêu công nghệ muốn tự mình xây dựng, khám phá các thiết bị công nghệ bằng nền tảng Arduino thì CloverBlock và Clover Alpha Board sẽ hỗ trợ các bạn tiếp cận được mà loại bỏ được các khó khăn về kết nối, sự phức tạp về tuần tự lệnh giao tiếp với các ngoại vi và sự chặt chẽ ràng buộc của ngôn ngữ lập trình.

Ngoài ra, các bạn học chuyên ngành điện tử, công nghệ thì CloverBlock cũng là một công cụ phù hợp để các bạn bắt đầu làm quen với chuyên ngành.

Có thể làm được gì với CloverBlock

Với CloverBlock chúng ta có thể khám phá học về tư duy lập trình mà có thể không cần quan tâm đến ngôn ngữ lập trình. Ngoài ra, với những ngoại vi, thiết bị của hệ thống phần cứng Clover chúng ta có thể dễ dàng chế tạo được một thiết bị điện tử hoạt động mô phỏng lại một thiết bị thực tế. Với một số mô hình Robot mà Clover cung cấp chúng ta cũng có thể nhanh chóng xây dựng các Robot hoạt động theo ý đồ của riêng mình và chương trình điều khiển cũng hoàn toàn có thể được xây dựng bằng lập trình kéo thả sử dụng CloverBlock.

Với hỗ trợ kết nối không dây đến smartphone chúng ta có thể dễ dàng chế tạo được các thiết bị điều khiển từ xa để có thể sử dụng trong gia đình.

Và quan trọng hơn nữa, như mục tiêu chính mà Clover Team phát triển phần mềm này, CloverBlock hỗ trợ cho các bạn học sinh có thể tiếp cận, khám phá thử nghiệm chế tạo thiết bị công nghệ ngay từ khi ngồi trên ghế nhà trường.

Bạn có thể cài đặt và trải nghiệm CloverBlock thông qua link sau: http://stemlab.vn/huong-dan-cai-dat-cloverblock/

Kết luận

Như vậy chúng ta đã tìm hiểu sơ lược về phần mềm lập trình kéo thả CloverBlock. Hi vọng đây là một thông tin hữu ích đến các bạn quan tâm, giúp thúc đẩy thêm niềm đam mê, tinh thần của các bạn vì rào cản ngôn ngữ lập trình mà ngần ngại khám phá, trải nghiệm thiết kế các thiết bị công nghệ. Chúc các bạn lập trình, sáng tạo vui vẻ và có nhiều dự án, ý tưởng hay để cùng chia sẻ với mọi người. Cảm ơn đã theo dõi.

lên
20 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Chuyên mục: 
Các dự án được truyền cảm hứng

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

[iNut - Clover] Lập trình gửi dữ liệu lên Internet bằng kéo thả 100%

Xin chào các bạn, bài viết trước đây nhóm Clover đã hướng dẫn các bạn lập trình kéo thả với các thiết bị cơ bản sử dụng phần mềm CloverBlock. Nhân dịp iNut cung cấp 1000 firmware miễn phí đến mọi người, nhóm Clover xin hướng dẫn các bạn sử dụng iNut và CloverBlock để có thể nhanh chóng xây dựng các ứng dụng IoT. Với sự kết hợp của iNut và Clover, chúng ta sẽ được tiếp cận IoT hoàn toàn bằng 100% lập trình kéo thả. Series này sẽ gồm 2 bài viết chính:

  • Hướng dẫn gửi dữ liệu từ thiết bị lên server sử dụng iNut và Clover.
  • Hướng dẫn điều khiển thiết bị sử dụng server Node-RED kết hợp iNut và Clover.

Bài viết này, chúng ta sẽ cùng nhau tìm hiểu cách gửi dữ liệu cảm biến từ thiết bị lên server để giám sát bằng điện thoại.

lên
15 thành viên đã đánh giá bài viết này hữu ích.

Hướng dẫn lập trình kéo thả các thiết bị cơ bản với CloverBlock

Xin chào các bạn, ở bài viết trước chúng ta đã được giới thiệu về CloverBlock - một phần mềm lập trình kéo thả chuyên dụng để thực hành STEM, bài viết đã giới thiệu cơ bản về xu hướng lập trình kéo thả trong phát triển tư duy khi dạy và học STEM, các tính năng chính của CloverBlock, có thể làm gì với phần mềm này. Ở bài viết này, chúng ta sẽ đi vào tìm hiểu chi tiết cách thức lập trình của CloverBlock với những thiết bị cụ thể như nút nhấn, đèn led, cảm biến cơ bản. Phần mềm giới thiệu trong bài viết là CloverBlock version 1.2 và các thiết bị trong bộ Clover EDU Starter.

lên
16 thành viên đã đánh giá bài viết này hữu ích.